43 #ifndef PANZER_SCALAR_TO_VECTOR_IMPL_HPP 44 #define PANZER_SCALAR_TO_VECTOR_IMPL_HPP 53 Teuchos::RCP<PHX::DataLayout> scalar_dl =
54 p.get< Teuchos::RCP<PHX::DataLayout> >(
"Data Layout Scalar");
56 Teuchos::RCP<PHX::DataLayout> vector_dl =
57 p.get< Teuchos::RCP<PHX::DataLayout> >(
"Data Layout Vector");
59 const std::vector<std::string>& scalar_names =
60 *(p.get< Teuchos::RCP<const std::vector<std::string> > >(
"Scalar Names"));
63 for (std::size_t i=0; i < scalar_names.size(); ++i)
65 PHX::MDField<ScalarT,Cell,Point>(scalar_names[i], scalar_dl);
68 PHX::MDField<ScalarT,Cell,Point,Dim>(p.get<std::string>
69 (
"Vector Name"), vector_dl);
76 std::string n =
"ScalarToVector: " +
vector_field.fieldTag().name();
94 template<
typename EvalT,
typename TRAITS>
95 KOKKOS_INLINE_FUNCTION
97 typedef typename PHX::MDField<ScalarT,Cell,Point>::size_type size_type;
99 for (size_type pt = 0; pt <
vector_field.dimension(1); ++pt) {
113 Kokkos::parallel_for (workset.num_cells, (*
this));
std::vector< PHX::MDField< ScalarT, Cell, Point > > scalar_fields
Interpolates basis DOF values to IP DOF values.
void operator()(const FieldMultTag< NUM_FIELD_MULT > &, const std::size_t &cell) const
PHX::MDField< ScalarT, Cell, Point, Dim > vector_field
PHX_EVALUATOR_CTOR(BasisValues_Evaluator, p)
PHX_EVALUATE_FIELDS(BasisValues_Evaluator, workset)
Kokkos::View< KokkosScalarFields_t * > internal_scalar_fields
PHX_POST_REGISTRATION_SETUP(BasisValues_Evaluator, sd, fm)