Intrepid
Public Member Functions | Protected Attributes
Intrepid::CubatureDirect< Scalar, ArrayPoint, ArrayWeight > Class Template Reference

Defines direct cubature (integration) rules in Intrepid. More...

#include <Intrepid_CubatureDirect.hpp>

Inheritance diagram for Intrepid::CubatureDirect< Scalar, ArrayPoint, ArrayWeight >:
Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight > Intrepid::CubatureCompositeTet< Scalar, ArrayPoint, ArrayWeight > Intrepid::CubatureDirectLineGauss< Scalar, ArrayPoint, ArrayWeight > Intrepid::CubatureDirectLineGaussJacobi20< Scalar, ArrayPoint, ArrayWeight > Intrepid::CubatureDirectTetDefault< Scalar, ArrayPoint, ArrayWeight > Intrepid::CubatureDirectTriDefault< Scalar, ArrayPoint, ArrayWeight >

List of all members.

Public Member Functions

virtual void getCubatureData (ArrayPoint &cubPoints, ArrayWeight &cubWeights, const CubatureTemplate *cubData) const
 Extracts points and weights from cubData.
virtual void getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights) const
 Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
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 CubatureTemplateexposeCubatureData () 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.

Detailed Description

template<class Scalar, class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
class Intrepid::CubatureDirect< Scalar, ArrayPoint, ArrayWeight >

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.


Member Function Documentation

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubatureDirect< Scalar, ArrayPoint, ArrayWeight >::getCubature ( ArrayPoint &  cubPoints,
ArrayWeight &  cubWeights 
) const [virtual]
template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubatureDirect< Scalar, ArrayPoint, ArrayWeight >::getCubatureData ( ArrayPoint &  cubPoints,
ArrayWeight &  cubWeights,
const CubatureTemplate cubData 
) const [virtual]

Extracts points and weights from cubData.

Parameters:
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_.


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