Intrepid
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight > Class Template Reference

Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt, Scientific Computing, Florida State University) within Intrepid. More...

#include <Intrepid_CubatureLineSorted.hpp>

Inheritance diagram for Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >:
Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >

Public Member Functions

 CubatureLineSorted (int degree=0, EIntrepidBurkardt rule=BURK_CLENSHAWCURTIS, bool isNormalized=false)
 Constructor. More...
 
 CubatureLineSorted (EIntrepidBurkardt rule=BURK_CLENSHAWCURTIS, int numPoints=0, bool isNormalized=false)
 Constructor. More...
 
 CubatureLineSorted (std::vector< Scalar > &points, std::vector< Scalar > &weights)
 
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.
 
void getAccuracy (std::vector< int > &accuracy) const
 Returns max. degree of polynomials that are integrated exactly. The return vector has size 1.
 
int getDimension () const
 Returns dimension of domain of integration.
 
const char * getName () const
 Returns cubature name.
 
Scalar getNode (typename std::map< Scalar, int >::iterator it)
 Get a specific node described by the iterator location.
 
Scalar getWeight (int weight)
 Get a specific weight described by the integer location.
 
Scalar getWeight (Scalar point)
 Get a specific weight described by the corresponding node.
 
std::map< Scalar, int >::iterator begin (void)
 Initiate iterator at the beginning of data.
 
std::map< Scalar, int >::iterator end (void)
 Initiate iterator at the end of data.
 
void update (Scalar alpha2, CubatureLineSorted< Scalar > &cubRule2, Scalar alpha1)
 Replace CubatureLineSorted values with "this = alpha1*this+alpha2*cubRule2".
 

Private Attributes

std::map< Scalar, int > points_
 Contains points of this cubature rule.
 
std::vector< Scalar > weights_
 Contains points of this cubature rule.
 
int numPoints_
 Contains the number of nodes for this cubature rule.
 
int degree_
 The degree of polynomials that are integrated exactly by this cubature rule.
 
EIntrepidBurkardt rule_type_
 Type of integration points.
 

Static Private Attributes

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

Detailed Description

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

Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt, Scientific Computing, Florida State University) within Intrepid.

This class contains ten rules:

Definition at line 89 of file Intrepid_CubatureLineSorted.hpp.

Constructor & Destructor Documentation

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureLineSorted ( int  degree = 0,
EIntrepidBurkardt  rule = BURK_CLENSHAWCURTIS,
bool  isNormalized = false 
)

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_CubatureLineSortedDef.hpp.

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureLineSorted ( EIntrepidBurkardt  rule = BURK_CLENSHAWCURTIS,
int  numPoints = 0,
bool  isNormalized = false 
)

Constructor.

Parameters
numPoints[in] - The number of cubature points. Default: 0.

Definition at line 159 of file Intrepid_CubatureLineSortedDef.hpp.

Member Function Documentation

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubatureLineSorted< 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 298 of file Intrepid_CubatureLineSortedDef.hpp.

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getCubature ( ArrayPoint &  cubPoints,
ArrayWeight &  cubWeights,
ArrayPoint &  cellCoords 
) const
virtual

Returns cubature points and weights. Method for physical space cubature, throws an exception.

Parameters
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 310 of file Intrepid_CubatureLineSortedDef.hpp.


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