43 #ifndef PANZER_TENSOR_TO_STD_VECTOR_IMPL_HPP 44 #define PANZER_TENSOR_TO_STD_VECTOR_IMPL_HPP 53 Teuchos::RCP<PHX::DataLayout> vector_dl =
54 p.get< Teuchos::RCP<PHX::DataLayout> >(
"Data Layout Vector");
56 Teuchos::RCP<PHX::DataLayout> tensor_dl =
57 p.get< Teuchos::RCP<PHX::DataLayout> >(
"Data Layout Tensor");
59 const std::vector<std::string>& vector_names =
60 *(p.get< Teuchos::RCP<const std::vector<std::string> > >(
"Vector Names"));
63 for (std::size_t i=0; i < vector_names.size(); ++i)
65 PHX::MDField<ScalarT,Cell,Point,Dim>(vector_names[i], vector_dl);
68 PHX::MDField<ScalarT,Cell,Point,Dim,Dim>(p.get<std::string>
69 (
"Tensor Name"), tensor_dl);
76 std::string n =
"TensorToStdVector: " +
tensor_field.fieldTag().name();
93 typedef typename PHX::MDField<ScalarT,Cell,Point,Dim>::size_type size_type;
96 for (index_t cell = 0; cell < workset.num_cells; ++cell) {
99 for (size_type pt = 0; pt <
tensor_field.dimension(1); ++pt) {
102 for (std::size_t vec = 0; vec <
vector_fields.size(); ++vec) {
105 for (std::size_t dim = 0; dim <
tensor_field.dimension(2); ++dim) {
std::vector< PHX::MDField< ScalarT, Cell, Point, Dim > > vector_fields
Vector (to be filled)
PHX::MDField< ScalarT, Cell, Point, Dim, Dim > tensor_field
Transform at Tensor to a std::vector of PHX-vectors.
PHX_EVALUATOR_CTOR(BasisValues_Evaluator, p)
PHX_EVALUATE_FIELDS(BasisValues_Evaluator, workset)
PHX_POST_REGISTRATION_SETUP(BasisValues_Evaluator, sd, fm)