Intrepid
Public Member Functions | Private Attributes | Static Private Attributes
Intrepid::CubaturePolylib< Scalar, ArrayPoint, ArrayWeight > 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, ArrayPoint, ArrayWeight >:
Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >

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 (ArrayPoint &cubPoints, ArrayWeight &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 ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
class Intrepid::CubaturePolylib< Scalar, ArrayPoint, ArrayWeight >

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 74 of file Intrepid_CubaturePolylib.hpp.


Constructor & Destructor Documentation

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubaturePolylib< Scalar, ArrayPoint, ArrayWeight >::CubaturePolylib ( int  degree = 0,
EIntrepidPLPoly  pt_type = PL_GAUSS,
Scalar  alpha = 0.0,
Scalar  beta = 0.0 
)

Constructor.

Parameters:
degree[in] - The degree of polynomials that are integrated exactly by this cubature rule. Default: 0.

Definition at line 52 of file Intrepid_CubaturePolylibDef.hpp.


Member Function Documentation

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

Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).

Parameters:
cubPoints[out] - Array containing the cubature points.
cubWeights[out] - Array of corresponding cubature weights.

Implements Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >.

Definition at line 119 of file Intrepid_CubaturePolylibDef.hpp.

References Intrepid::IntrepidPolylib::zwgj(), Intrepid::IntrepidPolylib::zwglj(), Intrepid::IntrepidPolylib::zwgrjm(), and Intrepid::IntrepidPolylib::zwgrjp().


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