|
Intrepid2
|
Implementation of the locally H(grad)-compatible FEM basis of variable order on the [-1,1] reference line cell, using Jacobi polynomials. More...
#include <Intrepid2_HGRAD_LINE_Cn_FEM_JACOBI.hpp>
Public Types | |
| typedef double | value_type |
| typedef Basis< ExecSpaceType, outputValueType, pointValueType >::ordinal_type_array_1d_host | ordinal_type_array_1d_host |
| typedef Basis< ExecSpaceType, outputValueType, pointValueType >::ordinal_type_array_2d_host | ordinal_type_array_2d_host |
| typedef Basis< ExecSpaceType, outputValueType, pointValueType >::ordinal_type_array_3d_host | ordinal_type_array_3d_host |
| typedef Basis< ExecSpaceType, outputValueType, pointValueType >::outputViewType | outputViewType |
| typedef Basis< ExecSpaceType, outputValueType, pointValueType >::pointViewType | pointViewType |
Public Types inherited from Intrepid2::Basis< ExecSpaceType, outputValueType, pointValueType > | |
| typedef Kokkos::View< ordinal_type, ExecSpaceType > | ordinal_view_type |
| View type for ordinal. | |
| typedef Kokkos::View< EBasis, ExecSpaceType > | ebasis_view_type |
| View for basis type. | |
| typedef Kokkos::View< ECoordinates, ExecSpaceType > | ecoordinates_view_type |
| View for coordinate system type. | |
| typedef Kokkos::View< ordinal_type *,typename ExecSpaceType::array_layout, Kokkos::HostSpace > | ordinal_type_array_1d_host |
| View type for 1d host array. | |
| typedef Kokkos::View< ordinal_type **,typename ExecSpaceType::array_layout, Kokkos::HostSpace > | ordinal_type_array_2d_host |
| View type for 2d host array. | |
| typedef Kokkos::View< ordinal_type ***, typename ExecSpaceType::array_layout, Kokkos::HostSpace > | ordinal_type_array_3d_host |
| View type for 3d host array. | |
| typedef Kokkos::View< ordinal_type *, Kokkos::LayoutStride, Kokkos::HostSpace > | ordinal_type_array_stride_1d_host |
| View type for 1d host array. | |
| typedef Kokkos::View< ordinal_type *,ExecSpaceType > | ordinal_type_array_1d |
| View type for 1d device array. | |
| typedef Kokkos::View< ordinal_type **,ExecSpaceType > | ordinal_type_array_2d |
| View type for 2d device array. | |
| typedef Kokkos::View< ordinal_type ***, ExecSpaceType > | ordinal_type_array_3d |
| View type for 3d device array. | |
| typedef Kokkos::View< ordinal_type *, Kokkos::LayoutStride, ExecSpaceType > | ordinal_type_array_stride_1d |
| View type for 1d device array. | |
| typedef ScalarTraits< pointValueType >::scalar_type | scalarType |
| Scalar type for point values. | |
| typedef Kokkos::DynRankView< outputValueType, Kokkos::LayoutStride, ExecSpaceType > | outputViewType |
| View type for basis value output. | |
| typedef Kokkos::DynRankView< pointValueType, Kokkos::LayoutStride, ExecSpaceType > | pointViewType |
| View type for input points. | |
| typedef Kokkos::DynRankView< scalarType, Kokkos::LayoutStride, ExecSpaceType > | scalarViewType |
| View type for scalars. | |
Public Member Functions | |
| Basis_HGRAD_LINE_Cn_FEM_JACOBI (const ordinal_type order, const double alpha=0, const double beta=0) | |
| Constructor. | |
| virtual void | getValues (outputViewType outputValues, const pointViewType inputPoints, const EOperator operatorType=OPERATOR_VALUE) const |
| Evaluation of a FEM basis on a reference cell. More... | |
Public Member Functions inherited from Intrepid2::Basis< ExecSpaceType, outputValueType, pointValueType > | |
| outputValueType | getDummyOutputValue () |
| Dummy array to receive input arguments. | |
| pointValueType | getDummyPointValue () |
| Dummy array to receive input arguments. | |
| virtual void | getValues (outputViewType outputValues, const pointViewType inputPoints, const pointViewType cellVertices, const EOperator operatorType=OPERATOR_VALUE) const |
| Evaluation of an FVD basis evaluation on a physical cell. More... | |
| virtual void | getDofCoords (scalarViewType dofCoords) const |
| Returns spatial locations (coordinates) of degrees of freedom on the reference cell. | |
| virtual void | getDofCoeffs (scalarViewType dofCoeffs) const |
| Coefficients for computing degrees of freedom for Lagrangian basis If P is an element of the space spanned by the basis, \alpha_i := P(dofCoords(i)) \cdot dofCoeffs(i) are the nodal coefficients associated to basis function i. More... | |
| virtual const char * | getName () const |
| Returns basis name. More... | |
| virtual bool | requireOrientation () const |
| True if orientation is required. | |
| ordinal_type | getCardinality () const |
| Returns cardinality of the basis. More... | |
| ordinal_type | getDegree () const |
| Returns the degree of the basis. More... | |
| shards::CellTopology | getBaseCellTopology () const |
| Returns the base cell topology for which the basis is defined. See Shards documentation https://trilinos.org/packages/shards for definition of base cell topology. More... | |
| EBasis | getBasisType () const |
| Returns the basis type. More... | |
| ECoordinates | getCoordinateSystem () const |
| Returns the type of coordinate system for which the basis is defined. More... | |
| ordinal_type | getDofCount (const ordinal_type subcDim, const ordinal_type subcOrd) const |
| DoF count for specified subcell. More... | |
| ordinal_type | getDofOrdinal (const ordinal_type subcDim, const ordinal_type subcOrd, const ordinal_type subcDofOrd) const |
| DoF tag to ordinal lookup. More... | |
| const ordinal_type_array_3d_host | getAllDofOrdinal () const |
| DoF tag to ordinal data structure. | |
| const ordinal_type_array_stride_1d_host | getDofTag (const ordinal_type dofOrd) const |
| DoF ordinal to DoF tag lookup. More... | |
| const ordinal_type_array_2d_host | getAllDofTags () const |
| Retrieves all DoF tags. More... | |
Private Attributes | |
| double | alpha_ |
| double | beta_ |
Additional Inherited Members | |
Protected Member Functions inherited from Intrepid2::Basis< ExecSpaceType, outputValueType, pointValueType > | |
| template<typename OrdinalTypeView3D , typename OrdinalTypeView2D , typename OrdinalTypeView1D > | |
| void | setOrdinalTagData (OrdinalTypeView3D &tagToOrdinal, OrdinalTypeView2D &ordinalToTag, const OrdinalTypeView1D tags, const ordinal_type basisCard, const ordinal_type tagSize, const ordinal_type posScDim, const ordinal_type posScOrd, const ordinal_type posDfOrd) |
| Fills ordinalToTag_ and tagToOrdinal_ by basis-specific tag data. More... | |
Protected Attributes inherited from Intrepid2::Basis< ExecSpaceType, outputValueType, pointValueType > | |
| ordinal_type | basisCardinality_ |
| Cardinality of the basis, i.e., the number of basis functions/degrees-of-freedom. | |
| ordinal_type | basisDegree_ |
| Degree of the largest complete polynomial space that can be represented by the basis. | |
| shards::CellTopology | basisCellTopology_ |
| Base topology of the cells for which the basis is defined. See the Shards package for definition of base cell topology. | |
| EBasis | basisType_ |
| Type of the basis. | |
| ECoordinates | basisCoordinates_ |
| The coordinate system for which the basis is defined. | |
| ordinal_type_array_2d_host | ordinalToTag_ |
| "true" if tagToOrdinal_ and ordinalToTag_ have been initialized More... | |
| ordinal_type_array_3d_host | tagToOrdinal_ |
| DoF tag to ordinal lookup table. More... | |
| Kokkos::DynRankView< scalarType, ExecSpaceType > | dofCoords_ |
| Coordinates of degrees-of-freedom for basis functions defined in physical space. | |
| Kokkos::DynRankView< scalarType, ExecSpaceType > | dofCoeffs_ |
| Coefficients for computing degrees of freedom for Lagrangian basis If P is an element of the space spanned by the basis, \alpha_i := P(dofCoords_(i)) \cdot dofCoeffs_(i) are the nodal coefficients associated to basis functions i. More... | |
Implementation of the locally H(grad)-compatible FEM basis of variable order on the [-1,1] reference line cell, using Jacobi polynomials.
Implements Jacobi basis of variable order
on the reference [-1,1] line cell. Jacobi polynomials depend on three parameters
,
, and
and are defined via the so-called Gamma function by
The basis has cardinality
and spans a COMPLETE linear polynomial space. Basis functions are dual to a unisolvent set of degrees of freedom (DoF) enumerated as follows:
| Basis order | DoF tag table | DoF definition | |||
|---|---|---|---|---|---|
| subc dim | subc ordinal | subc DoF tag | subc num DoFs | ||
| 0 | 1 | 0 | 0 | 1 | |
| 1 | 1 | 0 | 0-1 | 2 | |
| 2 | 1 | 0 | 0-2 | 3 | |
| 3 | 1 | 0 | 0-3 | 4 | |
| ... | 1 | 0 | ... | ... | ... |
| n | 1 | 0 | 0-n | n+1 | |
For example, for Legendre polynomials (
), the first 11 bases are given by
| Basis order | DoF tag table | DoF definition | |||
|---|---|---|---|---|---|
| subc dim | subc ordinal | subc DoF tag | subc num DoFs | ||
| 0 | 1 | 0 | 0 | 1 | |
| 1 | 1 | 0 | 0-1 | 2 | and: |
| 2 | 1 | 0 | 0-2 | 3 | and: |
| 3 | 1 | 0 | 0-3 | 4 | and: |
| 4 | 1 | 0 | 0-4 | 5 | and: |
| 5 | 1 | 0 | 0-5 | 6 | and: |
| 6 | 1 | 0 | 0-6 | 7 | and: |
| 7 | 1 | 0 | 0-7 | 8 | and: |
| 8 | 1 | 0 | 0-8 | 9 | and: |
| 9 | 1 | 0 | 0-9 | 10 | and: |
| 10 | 1 | 0 | 0-10 | 11 | and: |
Definition at line 231 of file Intrepid2_HGRAD_LINE_Cn_FEM_JACOBI.hpp.
|
inlinevirtual |
Evaluation of a FEM basis on a reference cell.
Returns values of operatorType acting on FEM basis functions for a set of points in the reference cell for which the basis is defined.
| outputValues | [out] - variable rank array with the basis values |
| inputPoints | [in] - rank-2 array (P,D) with the evaluation points |
| operatorType | [in] - the operator acting on the basis functions |
Reimplemented from Intrepid2::Basis< ExecSpaceType, outputValueType, pointValueType >.
Definition at line 252 of file Intrepid2_HGRAD_LINE_Cn_FEM_JACOBI.hpp.
1.8.16