44 #ifndef PANZER_INTEGRATION_RULE_HPP 45 #define PANZER_INTEGRATION_RULE_HPP 47 #include "Teuchos_RCP.hpp" 49 #include "Shards_CellTopology.hpp" 58 #include "Kokkos_DynRankView.hpp" 84 const Teuchos::RCP<const shards::CellTopology> & cell_topology,
86 const int num_faces=-1);
108 virtual void print(std::ostream & os);
119 void setup_surface(
const Teuchos::RCP<const shards::CellTopology> & cell_topology,
121 const int num_faces);
void referenceCoordinates(Kokkos::DynRankView< double, PHX::Device > &container)
Construct an array containing the reference coordinates.
void setup(int cubature_degree, const panzer::CellData &cell_data)
Data for determining cell topology and dimensionality.
int getPointOffset(const int subcell_index) const
Returns the integration point offset for a given subcell_index (i.e. local face index) ...
void setup_cv(const panzer::CellData &cell_data, std::string cv_type)
void setup_surface(const Teuchos::RCP< const shards::CellTopology > &cell_topology, const int num_cells, const int num_faces)
Setup a surface integration.
virtual void print(std::ostream &os)
print information about the integration rule
int order() const
Returns the order of integration (cubature degree in intrepid lingo)
IntegrationRule(int cubature_degree, const panzer::CellData &cell_data)
if side = -1 then we use the cell volume integration rule.
std::vector< int > _point_offsets