Panzer Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
panzer::IntegrationRule Class Reference

#include <Panzer_IntegrationRule.hpp>

Inheritance diagram for panzer::IntegrationRule:
Inheritance graph
[legend]

Public Member Functions

 IntegrationRule (int cubature_degree, const panzer::CellData &cell_data)
 if side = -1 then we use the cell volume integration rule.
 
 IntegrationRule (const panzer::CellData &cell_data, const std::string &cv_type)
 
 IntegrationRule (const panzer::IntegrationDescriptor &description, const Teuchos::RCP< const shards::CellTopology > &cell_topology, const int num_cells, const int num_faces=-1)
 
void setup (int cubature_degree, const panzer::CellData &cell_data)
 
void setup_cv (const panzer::CellData &cell_data, std::string cv_type)
 
int order () const
 Returns the order of integration (cubature degree in intrepid lingo)
 
virtual void print (std::ostream &os)
 print information about the integration rule
 
void referenceCoordinates (Kokkos::DynRankView< double, PHX::Device > &container)
 Construct an array containing the reference coordinates.
 
int getPointOffset (const int subcell_index) const
 Returns the integration point offset for a given subcell_index (i.e. local face index)
 
- Public Member Functions inherited from panzer::PointRule
 PointRule (const std::string &ptName, int np, const panzer::CellData &cell_data)
 
 PointRule (const std::string &point_rule_name, const int num_cells, const int num_points_per_cell, const int num_faces, const int num_points_per_face, const Teuchos::RCP< const shards::CellTopology > &cell_topology)
 
 PointRule (const panzer::PointDescriptor &description, const Teuchos::RCP< const shards::CellTopology > &cell_topology, const int num_cells)
 
virtual ~PointRule ()
 Destructor (Satisfying the compiler)
 
void setup (const std::string &ptName, int np, const panzer::CellData &cell_data)
 
bool isSide () const
 
const std::string & getName () const
 
virtual void print (std::ostream &os)
 print information about the integration rule
 
Teuchos::RCP< PHX::DataLayout > getCellDataLayout () const
 
Teuchos::RCP< PHX::DataLayout > getCellDataLayout (const int dim0) const
 
Teuchos::RCP< PHX::DataLayout > getCellDataLayout (const int dim0, const int dim1) const
 
Teuchos::RCP< PHX::DataLayout > getCellPointDataLayout () const
 
Teuchos::RCP< PHX::DataLayout > getCellPointDataLayout (const int dim0) const
 
Teuchos::RCP< PHX::DataLayout > getCellPointDataLayout (const int dim0, const int dim1) const
 
Teuchos::RCP< PHX::DataLayout > getFaceDataLayout () const
 
Teuchos::RCP< PHX::DataLayout > getFaceDataLayout (const int dim0) const
 
Teuchos::RCP< PHX::DataLayout > getFaceDataLayout (const int dim0, const int dim1) const
 
Teuchos::RCP< PHX::DataLayout > getFacePointDataLayout () const
 
Teuchos::RCP< PHX::DataLayout > getFacePointDataLayout (const int dim0) const
 
Teuchos::RCP< PHX::DataLayout > getFacePointDataLayout (const int dim0, const int dim1) const
 
- Public Member Functions inherited from panzer::IntegrationDescriptor
 IntegrationDescriptor ()
 Constructor for empty integrator.
 
virtual ~IntegrationDescriptor ()=default
 Destructor.
 
 IntegrationDescriptor (const int cubature_order, const int integration_type, const int side=-1)
 Constructor for integrator description.
 
const int & getType () const
 Get type of integrator.
 
const int & getOrder () const
 Get order of integrator.
 
const int & getSide () const
 Get side associated with integration - this is for backward compatibility.
 
std::size_t getKey () const
 Get unique key associated with integrator of this order and type The key is used to sort through a map of IntegrationDescriptors.
 

Public Attributes

int cubature_degree
 
std::string cv_type
 
- Public Attributes inherited from panzer::PointRule
Teuchos::RCP< const shards::CellTopology > topology
 
Teuchos::RCP< shards::CellTopology > side_topology
 
Teuchos::RCP< PHX::DataLayout > dl_scalar
 Data layout for scalar fields.
 
Teuchos::RCP< PHX::DataLayout > dl_vector
 Data layout for vector fields.
 
Teuchos::RCP< PHX::DataLayout > dl_tensor
 Data layout for rank-2 tensor fields.
 
Teuchos::RCP< PHX::DataLayout > dl_vector3
 Data layout for vector fields - full (x,y,z)
 
Teuchos::RCP< PHX::DataLayout > dl_tensor3x3
 Data layout for vector fields - full ((xx,xy,xz),(yx,yy,yz),(zx,zy,zz)) (or transpose?)
 
int spatial_dimension
 
int workset_size
 
int num_points
 
int side
 Defaults to -1 if this is volume and not sideset.
 

Protected Member Functions

void setup_surface (const Teuchos::RCP< const shards::CellTopology > &cell_topology, const int num_cells, const int num_faces)
 Setup a surface integration.
 
- Protected Member Functions inherited from panzer::PointRule
 PointRule ()
 
void setup (const std::string &point_rule_name, const int num_cells, const int num_points_per_cell, const int num_faces, const int num_points_per_face, const Teuchos::RCP< const shards::CellTopology > &cell_topology)
 
- Protected Member Functions inherited from panzer::IntegrationDescriptor
void setup (const int cubature_order, const int integration_type, const int side=-1)
 Setup function.
 

Protected Attributes

std::vector< int > _point_offsets
 
- Protected Attributes inherited from panzer::PointRule
int _num_faces
 
int _num_points_per_face
 
- Protected Attributes inherited from panzer::IntegrationDescriptor
int _integration_type
 Type of integration.
 
int _cubature_order
 Order of integration (Order of polynomial this integrator is designed for)
 
int _side
 Side associated with integration - this is for backward compatibility.
 
std::size_t _key
 Unique key associated with integrator.
 

Additional Inherited Members

- Public Types inherited from panzer::IntegrationDescriptor
enum  {
  NONE , VOLUME , SURFACE , SIDE ,
  CV_VOLUME , CV_SIDE , CV_BOUNDARY
}
 Possible integration types. More...
 
- Static Protected Member Functions inherited from panzer::PointRule
static Teuchos::RCP< shards::CellTopology > getSideTopology (const CellData &cell_data)
 

Detailed Description

Derived class for building a point rule based on a finite element integration rule.

Parameters
[in]cubature_degreeOrder of the cubature integration.
[in]cell_dataDescription of the cell.

Definition at line 73 of file Panzer_IntegrationRule.hpp.

Constructor & Destructor Documentation

◆ IntegrationRule() [1/3]

panzer::IntegrationRule::IntegrationRule ( int  cubature_degree,
const panzer::CellData cell_data 
)

if side = -1 then we use the cell volume integration rule.

Definition at line 57 of file Panzer_IntegrationRule.cpp.

◆ IntegrationRule() [2/3]

panzer::IntegrationRule::IntegrationRule ( const panzer::CellData cell_data,
const std::string &  cv_type 
)

Definition at line 69 of file Panzer_IntegrationRule.cpp.

◆ IntegrationRule() [3/3]

panzer::IntegrationRule::IntegrationRule ( const panzer::IntegrationDescriptor description,
const Teuchos::RCP< const shards::CellTopology > &  cell_topology,
const int  num_cells,
const int  num_faces = -1 
)

Definition at line 91 of file Panzer_IntegrationRule.cpp.

Member Function Documentation

◆ setup()

void panzer::IntegrationRule::setup ( int  cubature_degree,
const panzer::CellData cell_data 
)

Definition at line 130 of file Panzer_IntegrationRule.cpp.

◆ setup_cv()

void panzer::IntegrationRule::setup_cv ( const panzer::CellData cell_data,
std::string  cv_type 
)

Definition at line 221 of file Panzer_IntegrationRule.cpp.

◆ order()

int panzer::IntegrationRule::order ( ) const

Returns the order of integration (cubature degree in intrepid lingo)

Definition at line 265 of file Panzer_IntegrationRule.cpp.

◆ print()

void panzer::IntegrationRule::print ( std::ostream &  os)
virtual

print information about the integration rule

Reimplemented from panzer::PointRule.

Definition at line 277 of file Panzer_IntegrationRule.cpp.

◆ referenceCoordinates()

void panzer::IntegrationRule::referenceCoordinates ( Kokkos::DynRankView< double, PHX::Device > &  container)

Construct an array containing the reference coordinates.

Definition at line 289 of file Panzer_IntegrationRule.cpp.

◆ getPointOffset()

int panzer::IntegrationRule::getPointOffset ( const int  subcell_index) const

Returns the integration point offset for a given subcell_index (i.e. local face index)

Definition at line 269 of file Panzer_IntegrationRule.cpp.

◆ setup_surface()

void panzer::IntegrationRule::setup_surface ( const Teuchos::RCP< const shards::CellTopology > &  cell_topology,
const int  num_cells,
const int  num_faces 
)
protected

Setup a surface integration.

Definition at line 168 of file Panzer_IntegrationRule.cpp.

Member Data Documentation

◆ cubature_degree

int panzer::IntegrationRule::cubature_degree

Definition at line 101 of file Panzer_IntegrationRule.hpp.

◆ cv_type

std::string panzer::IntegrationRule::cv_type

Definition at line 105 of file Panzer_IntegrationRule.hpp.

◆ _point_offsets

std::vector<int> panzer::IntegrationRule::_point_offsets
protected

Definition at line 123 of file Panzer_IntegrationRule.hpp.


The documentation for this class was generated from the following files: