Intrepid::CubaturePolylib< Scalar, ArrayType > Class Template Reference

Utilizes cubature (integration) rules contained in the library Polylib (Spencer Sherwin, Aeronautics, Imperial College London) within Intrepid. More...

#include <Intrepid_CubaturePolylib.hpp>

Inheritance diagram for Intrepid::CubaturePolylib< Scalar, ArrayType >:
Intrepid::Cubature< Scalar, ArrayType >

List of all members.

Public Member Functions

 CubaturePolylib (int degree=0, EIntrepidPLPoly pt_type=PL_GAUSS, Scalar alpha=0.0, Scalar beta=0.0)
 Constructor.
void getCubature (ArrayType &cubPoints, ArrayType &cubWeights) const
 Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
int getNumPoints () const
 Returns the number of cubature points.
virtual int getDimension () const
 Returns dimension of integration domain.
void getAccuracy (std::vector< int > &accuracy) const
 Returns max. degree of polynomials that are integrated exactly. The return vector has size 1.
const char * getName () const
 Returns cubature name.

Private Attributes

int degree_
 The degree of polynomials that are integrated exactly by this cubature rule.
int dimension_
 Dimension of integration domain.
EIntrepidPLPoly poly_type_
 Type of integration points.
Scalar alpha_
 Jacobi parameter alpha.
Scalar beta_
 Jacobi parameter beta.

Static Private Attributes

static const char * cubature_name_ = "INTREPID_CUBATURE_POLYLIB"
 Cubature name.

Detailed Description

template<class Scalar, class ArrayType = FieldContainer<Scalar>>
class Intrepid::CubaturePolylib< Scalar, ArrayType >

Utilizes cubature (integration) rules contained in the library Polylib (Spencer Sherwin, Aeronautics, Imperial College London) within Intrepid.

They are based on zeros of Jacobi polynomials, e.g. Legendre (alpha=beta=0, default), Chebyshev (alpha=beta=-0.5), etc. They are given on the interval [-1,1] and are optimal with respect to the following requirements, yielding 4 subclasses:

Definition at line 60 of file Intrepid_CubaturePolylib.hpp.


Constructor & Destructor Documentation

template<class Scalar , class ArrayType >
Intrepid::CubaturePolylib< Scalar, ArrayType >::CubaturePolylib ( int  degree = 0,
EIntrepidPLPoly  pt_type = PL_GAUSS,
Scalar  alpha = 0.0,
Scalar  beta = 0.0 
) [inline]

Member Function Documentation

template<class Scalar , class ArrayType >
void Intrepid::CubaturePolylib< Scalar, ArrayType >::getCubature ( ArrayType &  cubPoints,
ArrayType &  cubWeights 
) const [inline, virtual]

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

Generated on Tue Oct 20 15:10:11 2009 for Intrepid by  doxygen 1.6.1