Intrepid
|
Utilizes cubature (integration) rules contained in the library Polylib (Spencer Sherwin, Aeronautics, Imperial College London) within Intrepid. More...
#include <Intrepid_CubaturePolylib.hpp>
Public Member Functions | |
CubaturePolylib (int degree=0, EIntrepidPLPoly pt_type=PL_GAUSS, Scalar alpha=0.0, Scalar beta=0.0) | |
Constructor. More... | |
void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights) const |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More... | |
void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights, ArrayPoint &cellCoords) const |
Returns cubature points and weights. Method for physical space cubature, throws an exception. More... | |
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. | |
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.
Intrepid::CubaturePolylib< Scalar, ArrayPoint, ArrayWeight >::CubaturePolylib | ( | int | degree = 0 , |
EIntrepidPLPoly | pt_type = PL_GAUSS , |
||
Scalar | alpha = 0.0 , |
||
Scalar | beta = 0.0 |
||
) |
Constructor.
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.
|
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 119 of file Intrepid_CubaturePolylibDef.hpp.
References Intrepid::IntrepidPolylib::zwgj(), Intrepid::IntrepidPolylib::zwglj(), Intrepid::IntrepidPolylib::zwgrjm(), and Intrepid::IntrepidPolylib::zwgrjp().
|
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 161 of file Intrepid_CubaturePolylibDef.hpp.