Intrepid
|
Implementation of the default H(grad)-compatible FEM basis of degree 2 on Hexahedron cell. More...
#include <Intrepid_HGRAD_HEX_Cn_FEM.hpp>
Public Member Functions | |
virtual | ~Basis_HGRAD_HEX_Cn_FEM () |
Destructor. | |
Basis_HGRAD_HEX_Cn_FEM (const int orderx, const int ordery, const int orderz, const ArrayScalar &pts_x, const ArrayScalar &pts_y, const ArrayScalar &pts_z) | |
Constructor. | |
Basis_HGRAD_HEX_Cn_FEM (const int order, const EPointType &pointType) | |
streamlined constructor giving two choices: equispaced lattice points or spectral (i.e. Lobatto) | |
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. | |
virtual void | getDofCoords (ArrayScalar &DofCoords) const |
implement the DofCoordsInterface interface | |
![]() | |
Array< Array< RCP< Basis< Scalar, ArrayScalar > > > > & | getBases () |
virtual | ~TensorBasis () |
Destructor. | |
![]() | |
virtual | ~Basis () |
Destructor. | |
virtual int | getCardinality () const |
Returns cardinality of the basis. | |
virtual int | getDegree () const |
Returns the degree of the basis. | |
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. | |
virtual EBasis | getBasisType () const |
Returns the basis type. | |
virtual ECoordinates | getCoordinateSystem () const |
Returns the type of coordinate system for which the basis is defined. | |
virtual int | getDofOrdinal (const int subcDim, const int subcOrd, const int subcDofOrd) |
DoF tag to ordinal lookup. | |
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. | |
virtual const std::vector< std::vector< int > > & | getAllDofTags () |
Retrieves all DoF tags. | |
![]() | |
virtual | ~DofCoordsInterface ()=0 |
Pure virtual destructor (gives warnings if not included). Following "Effective C++: 3rd Ed." item 7 the implementation is included in the definition file. | |
Private Member Functions | |
void | initializeTags () |
Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays. | |
Private Attributes | |
FieldContainer< double > | ptsx_ |
FieldContainer< double > | ptsy_ |
FieldContainer< double > | ptsz_ |
Additional Inherited Members | |
![]() | |
void | setBases (Array< Array< RCP< Basis< Scalar, ArrayScalar > > > > &bases) |
![]() | |
Array< Array< RCP< Basis< Scalar, ArrayScalar > > > > | bases_ |
![]() | |
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. | |
std::vector< std::vector< std::vector< int > > > | tagToOrdinal_ |
DoF tag to ordinal lookup table. | |
Implementation of the default H(grad)-compatible FEM basis of degree 2 on Hexahedron cell.
Implements Lagrangian basis of degree n on the reference Hexahedron cell. The basis has cardinality (n+1)^3 and spans a COMPLETE polynomial space. Basis functions are dual to a unisolvent set of degrees-of-freedom (DoF) defined lexicographically on an array of input points.
Definition at line 72 of file Intrepid_HGRAD_HEX_Cn_FEM.hpp.
|
inlinevirtual |
Destructor.
Definition at line 89 of file Intrepid_HGRAD_HEX_Cn_FEM.hpp.
Intrepid::Basis_HGRAD_HEX_Cn_FEM< Scalar, ArrayScalar >::Basis_HGRAD_HEX_Cn_FEM | ( | const int | orderx, |
const int | ordery, | ||
const int | orderz, | ||
const ArrayScalar & | pts_x, | ||
const ArrayScalar & | pts_y, | ||
const ArrayScalar & | pts_z ) |
Constructor.
Definition at line 53 of file Intrepid_HGRAD_HEX_Cn_FEMDef.hpp.
References Intrepid::Basis< Scalar, ArrayScalar >::basisCardinality_, Intrepid::Basis< Scalar, ArrayScalar >::basisCellTopology_, Intrepid::Basis< Scalar, ArrayScalar >::basisCoordinates_, Intrepid::Basis< Scalar, ArrayScalar >::basisDegree_, Intrepid::Basis< Scalar, ArrayScalar >::basisTagsAreSet_, and Intrepid::Basis< Scalar, ArrayScalar >::basisType_.
Intrepid::Basis_HGRAD_HEX_Cn_FEM< Scalar, ArrayScalar >::Basis_HGRAD_HEX_Cn_FEM | ( | const int | order, |
const EPointType & | pointType ) |
streamlined constructor giving two choices: equispaced lattice points or spectral (i.e. Lobatto)
Definition at line 102 of file Intrepid_HGRAD_HEX_Cn_FEMDef.hpp.
References Intrepid::Basis< Scalar, ArrayScalar >::basisCardinality_, Intrepid::Basis< Scalar, ArrayScalar >::basisCellTopology_, Intrepid::Basis< Scalar, ArrayScalar >::basisCoordinates_, Intrepid::Basis< Scalar, ArrayScalar >::basisDegree_, Intrepid::Basis< Scalar, ArrayScalar >::basisTagsAreSet_, and Intrepid::Basis< Scalar, ArrayScalar >::basisType_.
|
virtual |
implement the DofCoordsInterface interface
Implements Intrepid::DofCoordsInterface< ArrayScalar >.
Definition at line 412 of file Intrepid_HGRAD_HEX_Cn_FEMDef.hpp.
|
virtual |
FVD basis evaluation: invocation of this method throws an exception.
Implements Intrepid::Basis< Scalar, ArrayScalar >.
Definition at line 403 of file Intrepid_HGRAD_HEX_Cn_FEMDef.hpp.
|
virtual |
Evaluation of a FEM basis on a reference Hexahedron cell.
Returns values of <var>operatorType</var> acting on FEM basis functions for a set of points in the <strong>reference Hexahedron</strong> cell. For rank and dimensions of I/O array arguments see Section \ref basis_md_array_sec.
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 248 of file Intrepid_HGRAD_HEX_Cn_FEMDef.hpp.
References Intrepid::getDkCardinality(), and Intrepid::getDkMultiplicities().
|
privatevirtual |
Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays.
Implements Intrepid::Basis< Scalar, ArrayScalar >.
Definition at line 141 of file Intrepid_HGRAD_HEX_Cn_FEMDef.hpp.
References Intrepid::ProductTopology::lineProduct3d(), and Intrepid::setOrdinalTagData().
|
private |
Definition at line 77 of file Intrepid_HGRAD_HEX_Cn_FEM.hpp.
|
private |
Definition at line 78 of file Intrepid_HGRAD_HEX_Cn_FEM.hpp.
|
private |
Definition at line 79 of file Intrepid_HGRAD_HEX_Cn_FEM.hpp.