43 #ifndef PANZER_DOF_BASIS_TO_BASIS_IMPL_HPP 
   44 #define PANZER_DOF_BASIS_TO_BASIS_IMPL_HPP 
   48 #include "Intrepid2_FunctionSpaceTools.hpp" 
   49 #include "Phalanx_DataLayout_MDALayout.hpp" 
   50 #include "Intrepid2_Basis.hpp" 
   51 #include "Teuchos_Assert.hpp" 
   56 template <
typename EvalT, 
typename TRAITST>
 
   67   dof_source_coeff = PHX::MDField<const ScalarT>(fieldName,sourceBasis.
functional);
 
   68   dof_target_coeff = PHX::MDField<ScalarT>(fieldName,targetBasis.
functional);
 
   70   this->addDependentField(dof_source_coeff);
 
   71   this->addEvaluatedField(dof_target_coeff);
 
   76   Kokkos::DynRankView<double,PHX::Device>intrpCoords =
 
   77     Kokkos::DynRankView<double,PHX::Device>(
"intrpCoords",targetBasis.
cardinality(),targetBasis.
dimension());
 
   79   targetBasis.
getIntrepid2Basis<PHX::exec_space,double,
double>()->getDofCoords(intrpCoords);
 
   84   Kokkos::DynRankView<double,PHX::Device> basisRef = 
 
   87   sourceBasis.
getIntrepid2Basis()->getValues(basisRef, intrpCoords, Intrepid2::OPERATOR_VALUE);
 
   93   Intrepid2::FunctionSpaceTools<PHX::exec_space>::HGRADtransformVALUE(basis,basisRef);
 
   95   std::string n = 
"DOF_BasisToBasis: " + dof_target_coeff.fieldTag().name();
 
  100 template <
typename EvalT, 
typename TRAITST>
 
  104   dof_target_coeff.deep_copy(
ScalarT(0.0));
 
  106   if(workset.num_cells>0) {
 
  109     Intrepid2::FunctionSpaceTools<PHX::exec_space>::evaluate(dof_target_coeff.get_view(),
 
  110                                                              dof_source_coeff.get_view(),
 
int cardinality() const 
Returns the number of basis coefficients. 
 
int dimension() const 
Returns the dimension of the basis from the topology. 
 
DOF_BasisToBasis(const std::string &fieldName, const PureBasis &sourceBasis, const PureBasis &targetBasis)
Ctor. 
 
Teuchos::RCP< Intrepid2::Basis< PHX::Device::execution_space, double, double > > getIntrepid2Basis() const 
 
int numCells() const 
Returns the number of cells in the data layouts. 
 
void evaluateFields(typename TRAITST::EvalData workset)
 
Description and data layouts associated with a particular basis. 
 
#define TEUCHOS_ASSERT(assertion_test)
 
Teuchos::RCP< PHX::DataLayout > functional
<Cell,Basis> or <Cell,Basis>