|
Intrepid
|
Implementation of the default H(grad)-compatible FEM basis of degree 2 on Hexahedron cell. More...
#include <Intrepid_HGRAD_HEX_C2_FEM.hpp>
Public Member Functions | |
| Basis_HGRAD_HEX_C2_FEM () | |
| Constructor. | |
| void | getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const |
| Evaluation of a FEM basis on a reference Hexahedron cell. | |
| void | getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const ArrayScalar &cellVertices, const EOperator operatorType=OPERATOR_VALUE) const |
| FVD basis evaluation: invocation of this method throws an exception. | |
| void | getDofCoords (ArrayScalar &DofCoords) const |
| Returns spatial locations (coordinates) of degrees of freedom on a reference Quadrilateral. | |
Private Member Functions | |
| void | initializeTags () |
| Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays. | |
Implementation of the default H(grad)-compatible FEM basis of degree 2 on Hexahedron cell.
Implements Lagrangian basis of degree 2 on the reference Hexahedron cell. The basis has cardinality 27 and spans a COMPLETE tri-quadratic polynomial space. Basis functions are dual to a unisolvent set of degrees-of-freedom (DoF) defined and enumerated as follows:
================================================================================================= | | degree-of-freedom-tag table | | | DoF |----------------------------------------------------------| DoF definition | | ordinal | subc dim | subc ordinal | subc DoF ord |subc num DoF | | |=========|==============|==============|==============|=============|===========================| | 0 | 0 | 0 | 0 | 1 | L_0(u) = u(-1,-1,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 1 | 0 | 1 | 0 | 1 | L_1(u) = u( 1,-1,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 2 | 0 | 2 | 0 | 1 | L_2(u) = u( 1, 1,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 3 | 0 | 3 | 0 | 1 | L_3(u) = u(-1, 1,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 4 | 0 | 4 | 0 | 1 | L_4(u) = u(-1,-1, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 5 | 0 | 5 | 0 | 1 | L_5(u) = u( 1,-1, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 6 | 0 | 6 | 0 | 1 | L_6(u) = u( 1, 1, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 7 | 0 | 7 | 0 | 1 | L_7(u) = u(-1, 1, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| |---------|--------------|--------------|--------------|-------------|---------------------------| | 8 | 1 | 0 | 0 | 1 | L_8(u) = u( 0,-1,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 9 | 1 | 1 | 0 | 1 | L_9(u) = u( 1, 0,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 10 | 1 | 2 | 0 | 1 | L_10(u) = u( 0, 1,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 11 | 1 | 3 | 0 | 1 | L_11(u) = u(-1, 0,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 12 | 1 | 8 | 0 | 1 | L_12(u) = u(-1,-1, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 13 | 1 | 9 | 0 | 1 | L_13(u) = u( 1,-1, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 14 | 1 | 10 | 0 | 1 | L_14(u) = u( 1, 1, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 15 | 1 | 11 | 0 | 1 | L_15(u) = u(-1, 1, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 16 | 1 | 4 | 0 | 1 | L_16(u) = u( 0,-1, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 17 | 1 | 5 | 0 | 1 | L_17(u) = u( 1, 0, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 18 | 1 | 6 | 0 | 1 | L_18(u) = u( 0, 1, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 19 | 1 | 7 | 0 | 1 | L_19(u) = u(-1, 0, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| |---------|--------------|--------------|--------------|-------------|---------------------------| | 20 | 3 | 0 | 0 | 1 | L_20(u) = u( 0, 0, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| |---------|--------------|--------------|--------------|-------------|---------------------------| | 21 | 2 | 4 | 0 | 1 | L_21(u) = u( 0, 0,-1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 22 | 2 | 5 | 0 | 1 | L_22(u) = u( 0, 0, 1) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 23 | 2 | 3 | 0 | 1 | L_23(u) = u(-1, 0, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 24 | 2 | 1 | 0 | 1 | L_24(u) = u( 1, 0, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 25 | 2 | 0 | 0 | 1 | L_25(u) = u( 0,-1, 0) | |---------|--------------|--------------|--------------|-------------|---------------------------| | 26 | 2 | 2 | 0 | 1 | L_26(u) = u( 0, 1, 0) | |=========|==============|==============|==============|=============|===========================| | MAX | maxScDim=2 | maxScOrd=12 | maxDfOrd=0 | - | | |=========|==============|==============|==============|=============|===========================|
Definition at line 138 of file Intrepid_HGRAD_HEX_C2_FEM.hpp.
| void Intrepid::Basis_HGRAD_HEX_C2_FEM< Scalar, ArrayScalar >::getDofCoords | ( | ArrayScalar & | DofCoords | ) | const [virtual] |
Returns spatial locations (coordinates) of degrees of freedom on a reference Quadrilateral.
| DofCoords | [out] - array with the coordinates of degrees of freedom, dimensioned (F,D) |
Implements Intrepid::DofCoordsInterface< ArrayScalar >.
Definition at line 1063 of file Intrepid_HGRAD_HEX_C2_FEMDef.hpp.
| void Intrepid::Basis_HGRAD_HEX_C2_FEM< Scalar, ArrayScalar >::getValues | ( | ArrayScalar & | outputValues, |
| const ArrayScalar & | inputPoints, | ||
| const EOperator | operatorType | ||
| ) | const [virtual] |
Evaluation of a FEM basis on a reference Hexahedron cell.
Returns values of operatorType acting on FEM basis functions for a set of points in the reference Hexahedron cell. For rank and dimensions of I/O array arguments see Section MD array template arguments for basis methods.
| outputValues | [out] - rank-2 or 3 array with the computed basis values |
| inputPoints | [in] - rank-2 array with dimensions (P,D) containing reference points |
| operatorType | [in] - operator applied to basis functions |
Implements Intrepid::Basis< Scalar, ArrayScalar >.
Definition at line 120 of file Intrepid_HGRAD_HEX_C2_FEMDef.hpp.
1.7.6.1