|
Intrepid
|
Implementation of the default H(div)-compatible FEM basis of degree 1 on Tetrahedron cell. More...
#include <Intrepid_HDIV_TET_I1_FEM.hpp>
Public Member Functions | |
| Basis_HDIV_TET_I1_FEM () | |
| Constructor. | |
| void | getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const |
| Evaluation of a FEM basis on a reference Tetrahedron 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 Tetrahedron. | |
Private Member Functions | |
| void | initializeTags () |
| Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays. | |
Implementation of the default H(div)-compatible FEM basis of degree 1 on Tetrahedron cell.
Implements Raviart-Thomas basis of degree 1 on the reference Tetrahedron cell. The basis has cardinality 4 and spans an INCOMPLETE linear 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 | 2 | 0 | 0 | 1 | L_0(u) = (u.n)(1/3,0,1/3) | |---------|--------------|--------------|--------------|-------------|----------------------------------| | 1 | 2 | 1 | 0 | 1 | L_1(u) = (u.n)(1/3,1/3,1/3) | |---------|--------------|--------------|--------------|-------------|----------------------------------| | 2 | 2 | 2 | 0 | 1 | L_2(u) = (u.n)(0,1/3,1/3) | |---------|--------------|--------------|--------------|-------------|----------------------------------| | 3 | 2 | 3 | 0 | 1 | L_3(u) = (u.n)(1/3,1/3,0) | |=========|==============|==============|==============|=============|==================================| | MAX | maxScDim=2 | maxScOrd=3 | maxDfOrd=0 | - | | |=========|==============|==============|==============|=============|==================================|
is a face normal. Direction of face normals is determined by the right-hand rule applied to faces oriented by their vertex order in the cell topology, from face vertex 0 to last face vertex, whereas their length is set equal to face area (see http://mathworld.wolfram.com/Right-HandRule.html for definition of right-hand rule). For example, face 1 of all Tetrahedron cells has vertex order {1,2,3} and its right-hand rule normal can be computed, e.g., by the vector product of edge tangents to edges {1,2} and {2,3}. On the reference Tetrahedron the coordinates of face 1 vertices are (1,0,0), (0,1,0), and (0,0,1), the edge tangents are (-1,1,0) and (0,-1,1) and the face normal direction is (-1,1,0) X (0,-1,1) = (1,1,1). Length of this raw face normal is twice the face area of face 1 and so the final face normal to face 1 is obtained by scaling the raw normal by 1/2: (1/2,1/2,1/2).Definition at line 102 of file Intrepid_HDIV_TET_I1_FEM.hpp.
| void Intrepid::Basis_HDIV_TET_I1_FEM< Scalar, ArrayScalar >::getDofCoords | ( | ArrayScalar & | DofCoords | ) | const [virtual] |
Returns spatial locations (coordinates) of degrees of freedom on a reference Tetrahedron.
| DofCoords | [out] - array with the coordinates of degrees of freedom, dimensioned (F,D) |
Implements Intrepid::DofCoordsInterface< ArrayScalar >.
Definition at line 216 of file Intrepid_HDIV_TET_I1_FEMDef.hpp.
| void Intrepid::Basis_HDIV_TET_I1_FEM< Scalar, ArrayScalar >::getValues | ( | ArrayScalar & | outputValues, |
| const ArrayScalar & | inputPoints, | ||
| const EOperator | operatorType | ||
| ) | const [virtual] |
Evaluation of a FEM basis on a reference Tetrahedron cell.
Returns values of operatorType acting on FEM basis functions for a set of points in the reference Tetrahedron cell. For rank and dimensions of I/O array arguments see Section MD array template arguments for basis methods.
| outputValues | [out] - rank-3 or 4 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 93 of file Intrepid_HDIV_TET_I1_FEMDef.hpp.
1.7.6.1