13 #include "Phalanx_KokkosDeviceTypes.hpp"
29 class BasisCoordsGenerator :
30 public PointGenerator {
32 BasisCoordsGenerator(
const int basis_order,
const std::string & basis_type)
35 virtual ~BasisCoordsGenerator() =
default;
37 virtual Kokkos::DynRankView<double> getPoints(
const shards::CellTopology & topo)
const override
40 intrepid_basis = createIntrepid2Basis<PHX::Device::execution_space,double,double>(
_basis_type,
_basis_order,topo);
42 Kokkos::DynRankView<double> view(_basis_type+
"_ref_coords",intrepid_basis->getCardinality(),topo.getDimension());
44 intrepid_basis->getDofCoords(view);
49 virtual int numPoints(
const shards::CellTopology & topo)
const override
52 intrepid_basis = createIntrepid2Basis<PHX::Device::execution_space,double,double>(
_basis_type,
_basis_order,topo);
53 return intrepid_basis->getCardinality();
56 virtual bool hasPoints(
const shards::CellTopology & topo)
const override
67 BasisCoordsGenerator();
68 BasisCoordsGenerator(
const BasisCoordsGenerator &);
78 _key = std::hash<BasisDescriptor>{}(*this);
82 _basis_type(basis_type),
83 _basis_order(basis_order)
85 _key = std::hash<BasisDescriptor>{}(*this);
117 std::size_t seed = 0;
PointDescriptor getPointDescriptor() const
Build a point descriptor that builds reference points for the DOF locations. This method throws if no...
std::size_t operator()(const panzer::BasisDescriptor &desc) const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
const std::string & getType() const
Get type of basis.
int getOrder() const
Get order of basis.
bool operator==(const panzer::BasisDescriptor &left, const panzer::BasisDescriptor &right)
void hash_combine(std::size_t &seed, const T &v)
BasisDescriptor()
Constructor for empty basis.