Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
panzer::IntegrationDescriptor Class Reference

#include <Panzer_IntegrationDescriptor.hpp>

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

Public Types

enum  {
  NONE, VOLUME, SURFACE, SIDE,
  CV_VOLUME, CV_SIDE, CV_BOUNDARY
}
 Possible integration types. More...
 

Public Member Functions

 IntegrationDescriptor ()
 Constructor for empty integrator. More...
 
virtual ~IntegrationDescriptor ()=default
 Destructor. More...
 
 IntegrationDescriptor (const int cubature_order, const int integration_type, const int side=-1)
 Constructor for integrator description. More...
 
const int & getType () const
 Get type of integrator. More...
 
const int & getOrder () const
 Get order of integrator. More...
 
const int & getSide () const
 Get side associated with integration - this is for backward compatibility. More...
 
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. More...
 

Protected Member Functions

void setup (const int cubature_order, const int integration_type, const int side=-1)
 Setup function. More...
 

Protected Attributes

int _integration_type
 Type of integration. More...
 
int _cubature_order
 Order of integration (Order of polynomial this integrator is designed for) More...
 
int _side
 Side associated with integration - this is for backward compatibility. More...
 
std::size_t _key
 Unique key associated with integrator. More...
 

Detailed Description

Definition at line 51 of file Panzer_IntegrationDescriptor.hpp.

Member Enumeration Documentation

anonymous enum

Possible integration types.

Enumerator
NONE 
VOLUME 

No integral specified - default state.

SURFACE 

Integral over volume.

SIDE 

Integral over all sides of cells (closed surface integral)

CV_VOLUME 

Integral over a specific side of cells (side must be set)

CV_SIDE 

Control volume integral.

CV_BOUNDARY 

Control volume side integral.

Control volume boundary integral (side must be set)

Definition at line 58 of file Panzer_IntegrationDescriptor.hpp.

Constructor & Destructor Documentation

panzer::IntegrationDescriptor::IntegrationDescriptor ( )

Constructor for empty integrator.

Definition at line 52 of file Panzer_IntegrationDescriptor.cpp.

virtual panzer::IntegrationDescriptor::~IntegrationDescriptor ( )
virtualdefault

Destructor.

panzer::IntegrationDescriptor::IntegrationDescriptor ( const int  cubature_order,
const int  integration_type,
const int  side = -1 
)

Constructor for integrator description.

Parameters
[in]cubature_orderOrder of polynomial to integrate (e.g. 2 could integrate a quadratic equation)
[in]integration_typeType of integration (e.g. Volume integral, Surface integral, Side integral...)
[in]sideSide of cell to integrate over (default to -1 -> ignore sides)

Definition at line 57 of file Panzer_IntegrationDescriptor.cpp.

Member Function Documentation

const int& panzer::IntegrationDescriptor::getType ( ) const
inline

Get type of integrator.

Returns
Type of integrator

Definition at line 88 of file Panzer_IntegrationDescriptor.hpp.

const int& panzer::IntegrationDescriptor::getOrder ( ) const
inline

Get order of integrator.

Returns
Order of integrator

Definition at line 94 of file Panzer_IntegrationDescriptor.hpp.

const int& panzer::IntegrationDescriptor::getSide ( ) const
inline

Get side associated with integration - this is for backward compatibility.

Returns
Side of cell (= Subcell index)

Definition at line 100 of file Panzer_IntegrationDescriptor.hpp.

std::size_t panzer::IntegrationDescriptor::getKey ( ) const
inline

Get unique key associated with integrator of this order and type The key is used to sort through a map of IntegrationDescriptors.

Returns
Unique basis key

Definition at line 107 of file Panzer_IntegrationDescriptor.hpp.

void panzer::IntegrationDescriptor::setup ( const int  cubature_order,
const int  integration_type,
const int  side = -1 
)
protected

Setup function.

Parameters
[in]cubature_orderOrder of polynomial to integrate (e.g. 2 could integrate a quadratic equation)
[in]integration_typeType of integration (e.g. Volume integral, Surface integral, Side integral...)
[in]sideSide of cell to integrate over (default to -1 -> ignore sides)

Definition at line 63 of file Panzer_IntegrationDescriptor.cpp.

Member Data Documentation

int panzer::IntegrationDescriptor::_integration_type
protected

Type of integration.

Definition at line 120 of file Panzer_IntegrationDescriptor.hpp.

int panzer::IntegrationDescriptor::_cubature_order
protected

Order of integration (Order of polynomial this integrator is designed for)

Definition at line 123 of file Panzer_IntegrationDescriptor.hpp.

int panzer::IntegrationDescriptor::_side
protected

Side associated with integration - this is for backward compatibility.

Definition at line 126 of file Panzer_IntegrationDescriptor.hpp.

std::size_t panzer::IntegrationDescriptor::_key
protected

Unique key associated with integrator.

Definition at line 129 of file Panzer_IntegrationDescriptor.hpp.


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