Intrepid
|
Implementation of the default H(curl)-compatible Nedelec (first kind) basis of arbitrary degree on Tetrahedron cell. The lowest order space is indexted with 1 rather than 0. Implements nodal basis of degree n (n>=1) on the reference Tetrahedron cell. The basis has cardinality n*(n+2)*(n+3)/2 and spans an INCOMPLETE polynomial space of degree n. Basis functions are dual to a unisolvent set of degrees-of-freedom (DoF) defined by. More...
#include <Intrepid_HCURL_TET_In_FEM.hpp>
Public Member Functions | |
Basis_HCURL_TET_In_FEM (const int n, const EPointType pointType) | |
Constructor. | |
void | getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const |
Evaluation of a FEM basis on a reference Tetrahedron cell. More... | |
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. | |
Public Member Functions inherited from Intrepid::Basis< Scalar, ArrayScalar > | |
virtual | ~Basis () |
Destructor. | |
virtual int | getCardinality () const |
Returns cardinality of the basis. More... | |
virtual int | getDegree () const |
Returns the degree of the basis. More... | |
virtual const shards::CellTopology | getBaseCellTopology () const |
Returns the base cell topology for which the basis is defined. See Shards documentation http://trilinos.sandia.gov/packages/shards for definition of base cell topology. More... | |
virtual EBasis | getBasisType () const |
Returns the basis type. More... | |
virtual ECoordinates | getCoordinateSystem () const |
Returns the type of coordinate system for which the basis is defined. More... | |
virtual int | getDofOrdinal (const int subcDim, const int subcOrd, const int subcDofOrd) |
DoF tag to ordinal lookup. More... | |
virtual const std::vector < std::vector< std::vector < int > > > & | getDofOrdinalData () |
DoF tag to ordinal data structure. | |
virtual const std::vector< int > & | getDofTag (const int dofOrd) |
DoF ordinal to DoF tag lookup. More... | |
virtual const std::vector < std::vector< int > > & | getAllDofTags () |
Retrieves all DoF tags. More... | |
Private Member Functions | |
virtual void | initializeTags () |
Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays. | |
Private Attributes | |
Basis_HGRAD_TET_Cn_FEM_ORTH < Scalar, FieldContainer < Scalar > > | Phis_ |
Orthogonal basis of ofder n, in terms of which the H(curl) basis functions are expressed. | |
FieldContainer< Scalar > | coeffs_ |
Array holding the expansion coefficients of the nodal basis in terms of Phis_. | |
Additional Inherited Members | |
Protected Attributes inherited from Intrepid::Basis< Scalar, ArrayScalar > | |
int | basisCardinality_ |
Cardinality of the basis, i.e., the number of basis functions/degrees-of-freedom. | |
int | 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 http://trilinos.sandia.gov/packages/shards for definition of base cell topology. | |
EBasis | basisType_ |
Type of the basis. | |
ECoordinates | basisCoordinates_ |
The coordinate system for which the basis is defined. | |
bool | basisTagsAreSet_ |
"true" if tagToOrdinal_ and ordinalToTag_ have been initialized | |
std::vector< std::vector< int > > | ordinalToTag_ |
DoF ordinal to tag lookup table. More... | |
std::vector< std::vector < std::vector< int > > > | tagToOrdinal_ |
DoF tag to ordinal lookup table. More... | |
Implementation of the default H(curl)-compatible Nedelec (first kind) basis of arbitrary degree on Tetrahedron cell. The lowest order space is indexted with 1 rather than 0. Implements nodal basis of degree n (n>=1) on the reference Tetrahedron cell. The basis has cardinality n*(n+2)*(n+3)/2 and spans an INCOMPLETE polynomial space of degree n. Basis functions are dual to a unisolvent set of degrees-of-freedom (DoF) defined by.
\li The tangential component of the vector field at n points per edge. These are the first 6 * n dof. \li The components in the directions of the tangents to each face (see CellTools) on a lattice of order n+1 with offset 1 (see PointTools) on each face. These are the next 4 * n*(n-1) dof. \li The x,y,z components on a lattice of order n+1 with offset 1 on the interior of the tetrahedron, the remaining degrees of freedom. If the pointType argument to the constructor specifies equispaced points, then the edge points will be equispaced on each edge and the interior points equispaced also. If the pointType argument specifies warp-blend points, then Gauss-Lobatto points of order n are chosen on each edge and the interior of warp-blend lattice is chosen on each face and the interior.
Definition at line 95 of file Intrepid_HCURL_TET_In_FEM.hpp.
|
virtual |
Evaluation of a FEM basis on a reference Tetrahedron cell.
Returns values of <var>operatorType</var> acting on FEM basis functions for a set of points in the <strong>reference Tetrahedron</strong> cell. For rank and dimensions of I/O array arguments see Section \ref basis_md_array_sec .
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 |
Implements Intrepid::Basis< Scalar, ArrayScalar >.
Definition at line 433 of file Intrepid_HCURL_TET_In_FEMDef.hpp.
Referenced by main().