Intrepid
|
Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt, Scientific Computing, Florida State University) within Intrepid. More...
#include <Intrepid_CubatureLineSorted.hpp>
Public Member Functions | |
CubatureLineSorted (int degree=0, EIntrepidBurkardt rule=BURK_CLENSHAWCURTIS, bool isNormalized=false) | |
Constructor. | |
CubatureLineSorted (EIntrepidBurkardt rule=BURK_CLENSHAWCURTIS, int numPoints=0, bool isNormalized=false) | |
Constructor. | |
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). | |
void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights, ArrayPoint &cellCoords) const |
Returns cubature points and weights. Method for physical space cubature, throws an exception. | |
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". | |
virtual void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights) const =0 |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). | |
virtual void | getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights, ArrayPoint &cellVertices) const =0 |
Returns cubature points and weights on physical cells (return arrays must be pre-sized/pre-allocated). | |
virtual int | getNumPoints () const =0 |
Returns the number of cubature points. | |
virtual int | getDimension () const =0 |
Returns dimension of the integration domain. | |
virtual void | getAccuracy (std::vector< int > &accuracy) const =0 |
Returns algebraic accuracy (e.g. max. degree of polynomial that is integrated exactly). For tensor-product or sparse rules, algebraic accuracy for each coordinate direction is returned. | |
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. | |
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.
|
inline |
Definition at line 120 of file Intrepid_CubatureLineSorted.hpp.
Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureLineSorted | ( | int | degree = 0 , |
EIntrepidBurkardt | rule = BURK_CLENSHAWCURTIS , |
||
bool | isNormalized = false |
||
) |
Constructor.
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.
Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureLineSorted | ( | EIntrepidBurkardt | rule = BURK_CLENSHAWCURTIS , |
int | numPoints = 0 , |
||
bool | isNormalized = false |
||
) |
Constructor.
numPoints | [in] - The number of cubature points. Default: 0. |
Definition at line 159 of file Intrepid_CubatureLineSortedDef.hpp.
Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureLineSorted | ( | std::vector< Scalar > & | points, |
std::vector< Scalar > & | weights | ||
) |
Definition at line 264 of file Intrepid_CubatureLineSortedDef.hpp.
std::map< Scalar, int >::iterator Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::begin | ( | void | ) |
Initiate iterator at the beginning of data.
Definition at line 342 of file Intrepid_CubatureLineSortedDef.hpp.
Referenced by Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureTensorSorted(), and Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update().
std::map< Scalar, int >::iterator Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::end | ( | void | ) |
Initiate iterator at the end of data.
Definition at line 347 of file Intrepid_CubatureLineSortedDef.hpp.
Referenced by Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureTensorSorted(), and Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update().
|
virtual |
Returns max. degree of polynomials that are integrated exactly. The return vector has size 1.
Implements Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >.
Definition at line 289 of file Intrepid_CubatureLineSortedDef.hpp.
Referenced by Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureTensorSorted().
|
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 298 of file Intrepid_CubatureLineSortedDef.hpp.
|
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 310 of file Intrepid_CubatureLineSortedDef.hpp.
|
virtual |
Returns dimension of domain of integration.
Implements Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >.
Definition at line 319 of file Intrepid_CubatureLineSortedDef.hpp.
const char * Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getName |
Returns cubature name.
Definition at line 279 of file Intrepid_CubatureLineSortedDef.hpp.
Scalar Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getNode | ( | typename std::map< Scalar, int >::iterator | it | ) |
Get a specific node described by the iterator location.
Definition at line 324 of file Intrepid_CubatureLineSortedDef.hpp.
Referenced by Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureTensorSorted().
|
virtual |
Returns the number of cubature points.
Implements Intrepid::Cubature< Scalar, ArrayPoint, ArrayWeight >.
Definition at line 284 of file Intrepid_CubatureLineSortedDef.hpp.
Referenced by Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureTensorSorted(), and Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update().
Scalar Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getWeight | ( | int | weight | ) |
Get a specific weight described by the integer location.
Definition at line 330 of file Intrepid_CubatureLineSortedDef.hpp.
Referenced by Intrepid::CubatureTensorSorted< Scalar, ArrayPoint, ArrayWeight >::CubatureTensorSorted(), and Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update().
Scalar Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getWeight | ( | Scalar | point | ) |
Get a specific weight described by the corresponding node.
Definition at line 335 of file Intrepid_CubatureLineSortedDef.hpp.
void Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::update | ( | Scalar | alpha2, |
CubatureLineSorted< Scalar > & | cubRule2, | ||
Scalar | alpha1 | ||
) |
Replace CubatureLineSorted values with "this = alpha1*this+alpha2*cubRule2".
Definition at line 352 of file Intrepid_CubatureLineSortedDef.hpp.
References Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::begin(), Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::end(), Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getNumPoints(), and Intrepid::CubatureLineSorted< Scalar, ArrayPoint, ArrayWeight >::getWeight().
Referenced by Intrepid::AdaptiveSparseGrid< Scalar, UserVector >::build_diffRule().
|
staticprivate |
Cubature name.
Definition at line 116 of file Intrepid_CubatureLineSorted.hpp.
|
private |
The degree of polynomials that are integrated exactly by this cubature rule.
Definition at line 108 of file Intrepid_CubatureLineSorted.hpp.
|
private |
Contains the number of nodes for this cubature rule.
Definition at line 103 of file Intrepid_CubatureLineSorted.hpp.
|
private |
Contains points of this cubature rule.
Definition at line 95 of file Intrepid_CubatureLineSorted.hpp.
|
private |
Type of integration points.
Definition at line 112 of file Intrepid_CubatureLineSorted.hpp.
|
private |
Contains points of this cubature rule.
Definition at line 99 of file Intrepid_CubatureLineSorted.hpp.