43#ifndef PANZER_POINT_RULE_HPP
44#define PANZER_POINT_RULE_HPP
46#include "Teuchos_ArrayRCP.hpp"
48#include "Phalanx_DataLayout.hpp"
50#include "Shards_CellTopology.hpp"
82 PointRule(
const std::string & point_rule_name,
84 const int num_points_per_cell,
86 const int num_points_per_face,
87 const Teuchos::RCP<const shards::CellTopology> & cell_topology);
92 const Teuchos::RCP<const shards::CellTopology> & cell_topology,
105 const std::string &
getName()
const;
132 virtual void print(std::ostream & os);
138 Teuchos::RCP<PHX::DataLayout>
getCellDataLayout(
const int dim0,
const int dim1)
const;
146 Teuchos::RCP<PHX::DataLayout>
getFaceDataLayout(
const int dim0,
const int dim1)
const;
161 void setup(
const std::string & point_rule_name,
163 const int num_points_per_cell,
165 const int num_points_per_face,
166 const Teuchos::RCP<const shards::CellTopology> & cell_topology);
Data for determining cell topology and dimensionality.
Teuchos::RCP< PHX::DataLayout > getFaceDataLayout() const
Teuchos::RCP< PHX::DataLayout > getFacePointDataLayout() const
Teuchos::RCP< PHX::DataLayout > dl_vector
Data layout for vector fields.
Teuchos::RCP< PHX::DataLayout > dl_vector3
Data layout for vector fields - full (x,y,z)
Teuchos::RCP< PHX::DataLayout > dl_scalar
Data layout for scalar fields.
static Teuchos::RCP< shards::CellTopology > getSideTopology(const CellData &cell_data)
Teuchos::RCP< shards::CellTopology > side_topology
virtual void print(std::ostream &os)
print information about the integration rule
int side
Defaults to -1 if this is volume and not sideset.
void setup(const std::string &ptName, int np, const panzer::CellData &cell_data)
Teuchos::RCP< PHX::DataLayout > dl_tensor3x3
Data layout for vector fields - full ((xx,xy,xz),(yx,yy,yz),(zx,zy,zz)) (or transpose?...
Teuchos::RCP< PHX::DataLayout > getCellDataLayout() const
Teuchos::RCP< PHX::DataLayout > dl_tensor
Data layout for rank-2 tensor fields.
Teuchos::RCP< PHX::DataLayout > getCellPointDataLayout() const
virtual ~PointRule()
Destructor (Satisfying the compiler)
Teuchos::RCP< const shards::CellTopology > topology
const std::string & getName() const