43 #ifndef PANZER_GATHER_BASIS_COORDINATES_IMPL_HPP
44 #define PANZER_GATHER_BASIS_COORDINATES_IMPL_HPP
46 #include "Teuchos_Assert.hpp"
47 #include "Phalanx_DataLayout.hpp"
53 #include "Teuchos_FancyOStream.hpp"
55 template<
typename EvalT,
typename TRAITS>
61 ss <<
"Basis_" << basisName <<
" BasisCoordinates";
65 template<
typename EvalT,
typename TRAITS>
69 basisName_ = basis.
name();
71 basisCoordinates_ = PHX::MDField<ScalarT,Cell,BASIS,Dim>(fieldName(basisName_),basis.
coordinates);
73 this->addEvaluatedField(basisCoordinates_);
75 this->setName(
"Gather "+fieldName(basisName_));
79 template<
typename EvalT,
typename TRAITS>
88 template<
typename EvalT,
typename TRAITS>
96 for(
int i=0;i<bv->basis_coordinates.extent_int(0);i++)
97 for(
int j=0;j<bv->basis_coordinates.extent_int(1);j++)
98 for(
int k=0;k<bv->basis_coordinates.extent_int(2);k++)
99 basisCoordinates_(i,j,k)= bv->basis_coordinates(i,j,k);
std::string name() const
A unique key that is the combination of the basis type and basis order.
void evaluateFields(typename TRAITS::EvalData d)
void postRegistrationSetup(typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &vm)
Teuchos::RCP< PHX::DataLayout > coordinates
<Cell,Basis,Dim>
std::vector< std::string >::size_type getPureBasisIndex(std::string basis_name, const panzer::Workset &workset, WorksetDetailsAccessor &wda)
Returns the index in the workset bases for a particular PureBasis name.
Description and data layouts associated with a particular basis.
static std::string fieldName(const std::string &basisName)