24 const Teuchos::ParameterList& p)
27 Teuchos::RCP<const panzer::PointRule> pointRule
28 = p.get< Teuchos::RCP<const panzer::PointRule> >(
"Point Rule");
29 Teuchos::RCP<const panzer::PureBasis> inBasis
30 = p.get<Teuchos::RCP<const panzer::PureBasis> >(
"Basis");
32 bool derivativesRequired =
true;
33 if(p.isType<
bool>(
"Derivatives Required"))
34 derivativesRequired = p.get<
bool>(
"Derivatives Required");
36 initialize(pointRule,inBasis,derivativesRequired);
62 const Teuchos::RCP<const panzer::PureBasis> & inBasis,
63 bool derivativesRequired)
68 int space_dim =
basis->dimension();
91 this->addEvaluatedField(
basisValues->basis_ref_scalar);
94 if(derivativesRequired) {
95 this->addEvaluatedField(
basisValues->grad_basis_ref);
101 this->addEvaluatedField(
basisValues->basis_ref_vector);
102 this->addEvaluatedField(
basisValues->basis_vector);
104 if(derivativesRequired && space_dim==2) {
105 this->addEvaluatedField(
basisValues->curl_basis_ref_scalar);
106 this->addEvaluatedField(
basisValues->curl_basis_scalar);
108 else if(derivativesRequired && space_dim==3) {
109 this->addEvaluatedField(
basisValues->curl_basis_ref_vector);
110 this->addEvaluatedField(
basisValues->curl_basis_vector);
115 this->addEvaluatedField(
basisValues->basis_ref_vector);
116 this->addEvaluatedField(
basisValues->basis_vector);
118 if(derivativesRequired) {
119 this->addEvaluatedField(
basisValues->div_basis_ref);
124 std::string n =
"BasisValues_Evaluator: " +
basis->name() +
"_" + pointRule->getName();
136 int space_dim =
basis->dimension();
140 basisValues->setExtendedDimensions(fm.template getKokkosExtendedDataTypeDimensions<EvalT>());
143 this->utils.setFieldData(
pointValues.coords_ref,fm);
151 this->utils.setFieldData(
basisValues->basis_ref_scalar,fm);
152 this->utils.setFieldData(
basisValues->basis_scalar,fm);
155 this->utils.setFieldData(
basisValues->grad_basis_ref,fm);
156 this->utils.setFieldData(
basisValues->grad_basis,fm);
161 this->utils.setFieldData(
basisValues->basis_ref_vector,fm);
162 this->utils.setFieldData(
basisValues->basis_vector,fm);
165 this->utils.setFieldData(
basisValues->curl_basis_ref_scalar,fm);
166 this->utils.setFieldData(
basisValues->curl_basis_scalar,fm);
169 this->utils.setFieldData(
basisValues->curl_basis_ref_vector,fm);
170 this->utils.setFieldData(
basisValues->curl_basis_vector,fm);
175 this->utils.setFieldData(
basisValues->basis_ref_vector,fm);
176 this->utils.setFieldData(
basisValues->basis_vector,fm);
179 this->utils.setFieldData(
basisValues->div_basis_ref,fm);
180 this->utils.setFieldData(
basisValues->div_basis,fm);