43 #ifndef PANZER_PointValues_Evaluator_IMPL_HPP 44 #define PANZER_PointValues_Evaluator_IMPL_HPP 67 template <
typename EvalT,
typename TRAITST>
69 const Kokkos::DynRankView<double,PHX::Device> & userArray)
77 template <
typename EvalT,
typename TRAITST>
79 const PHX::MDField<double, panzer::IP, panzer::Dim> & userArray)
87 template <
typename EvalT,
typename TRAITST>
98 template <
typename EvalT,
typename TRAITST>
99 template <
typename ArrayT>
107 if(userArray!=Teuchos::null &&
basis==Teuchos::null)
109 else if(userArray==Teuchos::null &&
basis!=Teuchos::null)
119 if(userArray!=Teuchos::null) {
121 refPointArray = Kokkos::DynRankView<double,PHX::Device>(
"refPointArray",userArray->dimension(0),userArray->dimension(1));
123 for(
int i=0;i<userArray->extent_int(0);i++)
124 for(
int j=0;j<userArray->extent_int(1);j++)
Array< Scalar, Cell, IP, Dim, void, void, void, void, void > point_coords
bool supportsBasisCoordinates() const
std::string name() const
A unique key that is the combination of the basis type and basis order.
bool useBasisValuesRefArray
Array< Scalar, Cell, IP, Dim, Dim, void, void, void, void > jac_inv
PointValues2< ScalarT, PHX::MDField > pointValues
Interpolates basis DOF values to IP DOF values.
void initialize(const Teuchos::RCP< const panzer::PointRule > &pointRule, const Teuchos::RCP< const panzer::PureBasis > &basis, bool derivativesRequired)
Initialization method to unify the constructors.
PointValues_Evaluator(const Teuchos::RCP< const panzer::PointRule > &pointRule, const Kokkos::DynRankView< double, PHX::Device > &userArray)
std::vector< std::string >::size_type getPureBasisIndex(std::string basis_name, panzer::Workset &workset, WorksetDetailsAccessor &wda)
Returns the index in the workset bases for a particular PureBasis name.
Kokkos::DynRankView< double, PHX::Device > refPointArray
Teuchos::RCP< const panzer::PointRule > pointRule
Array< Scalar, Cell, NODE, Dim, void, void, void, void, void > node_coordinates
Array< Scalar, Cell, IP, void, void, void, void, void, void > jac_det
void evaluateValues(const NodeCoordinateArray &node_coordinates, const PointCoordinateArray &point_coordinates)
PHX_EVALUATOR_CTOR(BasisValues_Evaluator, p)
Teuchos::RCP< BasisValues2< ScalarT > > basisValues
PHX_EVALUATE_FIELDS(BasisValues_Evaluator, workset)
Teuchos::RCP< const panzer::PureBasis > basis
Interpolates basis DOF values to IP DOF values.
Array< Scalar, Cell, IP, Dim, Dim, void, void, void, void > jac
void setupArrays(const Teuchos::RCP< const panzer::PointRule > &pr, const ArrayFactory &af)
Sizes/allocates memory for arrays.
const std::string & getName() const
#define TEUCHOS_ASSERT(assertion_test)
PHX_POST_REGISTRATION_SETUP(BasisValues_Evaluator, sd, fm)
Array< Scalar, IP, Dim, void, void, void, void, void, void > coords_ref