45 #include "Phalanx_KokkosDeviceTypes.hpp" 61 class BasisCoordsGenerator :
62 public PointGenerator {
64 BasisCoordsGenerator(
const int basis_order,
const std::string & basis_type)
67 virtual ~BasisCoordsGenerator() =
default;
69 virtual Kokkos::DynRankView<double> getPoints(
const shards::CellTopology & topo)
const 71 Teuchos::RCP<Intrepid2::Basis<PHX::Device::execution_space,double,double> >
72 intrepid_basis = createIntrepid2Basis<PHX::Device::execution_space,double,double>(
_basis_type,
_basis_order,topo);
74 Kokkos::DynRankView<double> view(
_basis_type+
"_ref_coords",intrepid_basis->getCardinality(),topo.getDimension());
76 intrepid_basis->getDofCoords(view);
81 virtual int numPoints(
const shards::CellTopology & topo)
const 83 Teuchos::RCP<Intrepid2::Basis<PHX::Device::execution_space,double,double> >
84 intrepid_basis = createIntrepid2Basis<PHX::Device::execution_space,double,double>(
_basis_type,
_basis_order,topo);
85 return intrepid_basis->getCardinality();
94 BasisCoordsGenerator();
95 BasisCoordsGenerator(
const BasisCoordsGenerator &);
105 _key = std::hash<BasisDescriptor>{}(*this);
112 _key = std::hash<BasisDescriptor>{}(*this);
122 std::stringstream ss;
137 std::size_t seed = 0;
std::string _basis_type
Basis type (HGrad, HDiv, HCurl,...)
std::size_t operator()(const panzer::BasisDescriptor &desc) const
PointDescriptor getPointDescriptor() const
Build a point descriptor that builds reference points for the DOF locations. This method throws if no...
void hash_combine(std::size_t &seed, const T &v)
BasisDescriptor()
Constructor for empty basis.
int getOrder() const
Get order of basis.
const std::string & getType() const
Get type of basis.