11#ifndef PANZER_POINT_RULE_HPP
12#define PANZER_POINT_RULE_HPP
14#include "Teuchos_ArrayRCP.hpp"
16#include "Phalanx_DataLayout.hpp"
18#include "Shards_CellTopology.hpp"
50 PointRule(
const std::string & point_rule_name,
52 const int num_points_per_cell,
54 const int num_points_per_face,
55 const Teuchos::RCP<const shards::CellTopology> & cell_topology);
60 const Teuchos::RCP<const shards::CellTopology> & cell_topology,
73 const std::string &
getName()
const;
75 Teuchos::RCP<const shards::CellTopology>
topology;
100 virtual void print(std::ostream & os);
106 Teuchos::RCP<PHX::DataLayout>
getCellDataLayout(
const int dim0,
const int dim1)
const;
114 Teuchos::RCP<PHX::DataLayout>
getFaceDataLayout(
const int dim0,
const int dim1)
const;
129 void setup(
const std::string & point_rule_name,
131 const int num_points_per_cell,
133 const int num_points_per_face,
134 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
PointRule(const std::string &ptName, int np, const panzer::CellData &cell_data)
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