56 const Teuchos::ParameterList& p)
59 Teuchos::RCP<const panzer::PointRule> pointRule
60 = p.get< Teuchos::RCP<const panzer::PointRule> >(
"Point Rule");
61 Teuchos::RCP<const panzer::PureBasis> inBasis
62 = p.get<Teuchos::RCP<const panzer::PureBasis> >(
"Basis");
64 bool derivativesRequired =
true;
65 if(p.isType<
bool>(
"Derivatives Required"))
66 derivativesRequired = p.get<
bool>(
"Derivatives Required");
68 initialize(pointRule,inBasis,derivativesRequired);
94 const Teuchos::RCP<const panzer::PureBasis> & inBasis,
95 bool derivativesRequired)
100 int space_dim =
basis->dimension();
123 this->addEvaluatedField(
basisValues->basis_ref_scalar);
124 this->addEvaluatedField(
basisValues->basis_scalar);
126 if(derivativesRequired) {
127 this->addEvaluatedField(
basisValues->grad_basis_ref);
133 this->addEvaluatedField(
basisValues->basis_ref_vector);
134 this->addEvaluatedField(
basisValues->basis_vector);
136 if(derivativesRequired && space_dim==2) {
137 this->addEvaluatedField(
basisValues->curl_basis_ref_scalar);
138 this->addEvaluatedField(
basisValues->curl_basis_scalar);
140 else if(derivativesRequired && space_dim==3) {
141 this->addEvaluatedField(
basisValues->curl_basis_ref_vector);
142 this->addEvaluatedField(
basisValues->curl_basis_vector);
147 this->addEvaluatedField(
basisValues->basis_ref_vector);
148 this->addEvaluatedField(
basisValues->basis_vector);
150 if(derivativesRequired) {
151 this->addEvaluatedField(
basisValues->div_basis_ref);
156 std::string n =
"BasisValues_Evaluator: " +
basis->name() +
"_" + pointRule->getName();
168 int space_dim =
basis->dimension();
172 basisValues->setExtendedDimensions(fm.template getKokkosExtendedDataTypeDimensions<EvalT>());
175 this->utils.setFieldData(
pointValues.coords_ref,fm);
183 this->utils.setFieldData(
basisValues->basis_ref_scalar,fm);
184 this->utils.setFieldData(
basisValues->basis_scalar,fm);
187 this->utils.setFieldData(
basisValues->grad_basis_ref,fm);
188 this->utils.setFieldData(
basisValues->grad_basis,fm);
193 this->utils.setFieldData(
basisValues->basis_ref_vector,fm);
194 this->utils.setFieldData(
basisValues->basis_vector,fm);
197 this->utils.setFieldData(
basisValues->curl_basis_ref_scalar,fm);
198 this->utils.setFieldData(
basisValues->curl_basis_scalar,fm);
201 this->utils.setFieldData(
basisValues->curl_basis_ref_vector,fm);
202 this->utils.setFieldData(
basisValues->curl_basis_vector,fm);
207 this->utils.setFieldData(
basisValues->basis_ref_vector,fm);
208 this->utils.setFieldData(
basisValues->basis_vector,fm);
211 this->utils.setFieldData(
basisValues->div_basis_ref,fm);
212 this->utils.setFieldData(
basisValues->div_basis,fm);