Intrepid
|
Defines direct cubature (integration) rules in Intrepid. More...
#include <Intrepid_CubatureDirect.hpp>
Public Member Functions | |
virtual void | getCubatureData (ArrayPoint &cubPoints, ArrayWeight &cubWeights, const CubatureTemplate *cubData) const |
Extracts points and weights from cubData. More... | |
virtual void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights) const |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More... | |
virtual void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights, ArrayPoint &cellCoords) const |
Returns cubature points and weights. Method for physical space cubature, throws an exception. More... | |
virtual int | getNumPoints () const |
Returns the number of cubature points. | |
virtual int | getDimension () const |
Returns dimension of integration domain. | |
virtual void | getAccuracy (std::vector< int > &accuracy) const |
Returns max. degree of polynomials that are integrated exactly. The return vector has size 1. | |
virtual const char * | getName () const =0 |
Returns cubature name. | |
virtual const CubatureTemplate * | exposeCubatureData () const =0 |
Exposes cubature data. | |
virtual int | getMaxAccuracy () const =0 |
Returns maximum cubature accuracy. | |
Protected Attributes | |
int | degree_ |
The degree of polynomials that are integrated exactly by this cubature rule. | |
int | dimension_ |
Dimension of integration domain. | |
Defines direct cubature (integration) rules in Intrepid.
Cubature template (rule) consists of cubature points and cubature weights. Intrepid provides a small collection of frequently used cubature rule templates for FEM reconstructions on simplices (edge, tri, tet) and pyramid cells.
For quad, hex, and triprism rules, see tensor-product rules defined in the class CubatureTensor, and its derived classes.
Cubature rules for simplices and the pyramid are stored in the cubature_data_ array.
All templates are defined on a reference cell and can be mapped to physical space cells by the methods available in the MultiCell class.
Definition at line 76 of file Intrepid_CubatureDirect.hpp.
|
virtual |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
cubPoints | [out] - Array containing the cubature points. |
cubWeights | [out] - Array of corresponding cubature weights. |
Implements Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >.
Definition at line 73 of file Intrepid_CubatureDirectDef.hpp.
Referenced by Intrepid::Basis_HCURL_TET_In_FEM< Scalar, ArrayScalar >::Basis_HCURL_TET_In_FEM(), Intrepid::Basis_HCURL_TRI_In_FEM< Scalar, ArrayScalar >::Basis_HCURL_TRI_In_FEM(), Intrepid::Basis_HDIV_TET_In_FEM< Scalar, ArrayScalar >::Basis_HDIV_TET_In_FEM(), Intrepid::Basis_HDIV_TRI_In_FEM< Scalar, ArrayScalar >::Basis_HDIV_TRI_In_FEM(), Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon(), and main().
|
virtual |
Returns cubature points and weights. Method for physical space cubature, throws an exception.
cubPoints | [out] - Array containing the cubature points. |
cubWeights | [out] - Array of corresponding cubature weights. |
cellCoords | [in] - Array of cell coordinates |
Implements Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >.
Definition at line 79 of file Intrepid_CubatureDirectDef.hpp.
|
virtual |
Extracts points and weights from cubData.
cubPoints | [out] - Array containing the cubature points. |
cubWeights | [out] - Array of corresponding cubature weights. |
cubData | [in] - Pointer to raw cubature data. |
Definition at line 52 of file Intrepid_CubatureDirectDef.hpp.
References Intrepid::CubatureTemplate::points_, and Intrepid::CubatureTemplate::weights_.