1 #ifndef __Panzer_Intrepid_ConstBasis_impl_hpp__
2 #define __Panzer_Intrepid_ConstBasis_impl_hpp__
7 template<
class Scalar,
class ArrayScalar>
10 this -> basisCardinality_ = 1;
11 this -> basisDegree_ = 0;
12 this -> basisCellTopology_ = ct;
13 this -> basisType_ = Intrepid2::BASIS_FEM_DEFAULT;
14 this -> basisCoordinates_ = Intrepid2::COORDINATES_CARTESIAN;
15 this -> basisTagsAreSet_ =
false;
18 this->basisTagsAreSet_ =
true;
23 template<
class Scalar,
class ArrayScalar>
32 int dim =
this -> basisCellTopology_.getDimension();
35 int tags[] = { dim, 0, 0, 1 };
38 Intrepid2::setOrdinalTagData(
this -> tagToOrdinal_,
39 this -> ordinalToTag_,
41 this -> basisCardinality_,
50 template<
class Scalar,
class ArrayScalar>
52 const ArrayScalar & inputPoints,
53 const Intrepid2::EOperator operatorType)
const {
56 #ifdef HAVE_INTREPID_DEBUG
57 Intrepid2::getValues_HGRAD_Args<Scalar, ArrayScalar>(outputValues,
60 this -> getBaseCellTopology(),
61 this -> getCardinality() );
65 int dim0 = inputPoints.dimension(0);
67 switch (operatorType) {
69 case Intrepid2::OPERATOR_VALUE:
70 for (
int i0 = 0; i0 < dim0; i0++) {
72 outputValues(0, i0) = 1.0;
76 case Intrepid2::OPERATOR_GRAD:
77 case Intrepid2::OPERATOR_D1:
78 case Intrepid2::OPERATOR_CURL:
79 case Intrepid2::OPERATOR_DIV:
80 case Intrepid2::OPERATOR_D2:
81 case Intrepid2::OPERATOR_D3:
82 case Intrepid2::OPERATOR_D4:
83 case Intrepid2::OPERATOR_D5:
84 case Intrepid2::OPERATOR_D6:
85 case Intrepid2::OPERATOR_D7:
86 case Intrepid2::OPERATOR_D8:
87 case Intrepid2::OPERATOR_D9:
88 case Intrepid2::OPERATOR_D10:
91 ">>> ERROR (Basis_Constant): Invalid operator type");
97 template<
class Scalar,
class ArrayScalar>
99 const ArrayScalar & inputPoints,
100 const ArrayScalar & cellVertices,
101 const Intrepid2::EOperator operatorType)
const {
103 ">>> ERROR (Basis_Constant): FEM Basis calling an FVD member function");
Basis_Constant(const shards::CellTopology &ct)
Constructor.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
void getValues(ArrayScalar &outputValues, const ArrayScalar &inputPoints, const Intrepid2::EOperator operatorType) const
Evaluation of a FEM basis on a reference Triangle cell.
void initializeTags()
Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays.