11#ifndef PANZER_DOF_BASIS_TO_BASIS_IMPL_HPP
12#define PANZER_DOF_BASIS_TO_BASIS_IMPL_HPP
16#include "Intrepid2_FunctionSpaceTools.hpp"
17#include "Phalanx_DataLayout_MDALayout.hpp"
18#include "Intrepid2_Basis.hpp"
19#include "Teuchos_Assert.hpp"
24template <
typename EvalT,
typename TRAITST>
44 Kokkos::DynRankView<double,PHX::Device>intrpCoords =
45 Kokkos::DynRankView<double,PHX::Device>(
"intrpCoords",targetBasis.
cardinality(),targetBasis.
dimension());
47 targetBasis.
getIntrepid2Basis<PHX::Device,double,
double>()->getDofCoords(intrpCoords);
52 Kokkos::DynRankView<double,PHX::Device> basisRef =
55 sourceBasis.
getIntrepid2Basis()->getValues(basisRef, intrpCoords, Intrepid2::OPERATOR_VALUE);
61 Intrepid2::FunctionSpaceTools<PHX::Device>::HGRADtransformVALUE(
basis,basisRef);
68template <
typename EvalT,
typename TRAITST>
74 if(workset.num_cells>0) {
77 Intrepid2::FunctionSpaceTools<PHX::Device>::evaluate(
dof_target_coeff.get_view(),
void evaluateFields(typename TRAITST::EvalData workset)
PHX::MDField< const ScalarT > dof_source_coeff
Dependent field: DOF coefficient values at source basis.
DOF_BasisToBasis(const std::string &fieldName, const PureBasis &sourceBasis, const PureBasis &targetBasis)
Ctor.
Kokkos::DynRankView< double, PHX::Device > basis
Reference cell basis values at target points, replicated for each cell in workset.
PHX::MDField< ScalarT > dof_target_coeff
Evaluated field: DOF coefficient values at target basis.
Description and data layouts associated with a particular basis.
int numCells() const
Returns the number of cells in the data layouts.
Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > getIntrepid2Basis() const
int cardinality() const
Returns the number of basis coefficients.
Teuchos::RCP< PHX::DataLayout > functional
<Cell,Basis> or <Cell,Basis>
int dimension() const
Returns the dimension of the basis from the topology.