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

#include <Intrepid_CubaturePolygon.hpp>

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

Public Member Functions

 CubaturePolygon (const shards::CellTopology &cellTopology, const ArrayPoint &cellVertices, int degree)
 
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.
 
int getDimension () const
 Returns dimension of integration domain.
 
void getAccuracy (std::vector< int > &accuracy) const
 Returns max. degree of polynomials that are integrated exactly on each triangle. The return vector has size 1.
 
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

shards::CellTopology cellTopology_
 The topology of the polygon.
 
ArrayPoint cellVertices_
 The vertices of the polygon.
 
int degree_
 The degree of the polynomials that are integrated exactly on each triangle.
 
FieldContainer< Scalar > cubaturePoints_
 Local copy of cubature points.
 
FieldContainer< Scalar > cubatureWeights_
 Local copy of cubature weights.
 
int numPoints_
 The number of cubature points.
 
int cubDimension_
 Dimension of integration domain.
 

Detailed Description

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

\breif Defines cubature (integration) rules for polygons.

Definition at line 62 of file Intrepid_CubaturePolygon.hpp.

Constructor & Destructor Documentation

◆ CubaturePolygon()

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon ( const shards::CellTopology &  cellTopology,
const ArrayPoint &  cellVertices,
int  degree 
)

◆ ~CubaturePolygon()

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
virtual Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::~CubaturePolygon ( )
inlinevirtual

Definition at line 110 of file Intrepid_CubaturePolygon.hpp.

Member Function Documentation

◆ getAccuracy()

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::getAccuracy ( std::vector< int > &  accuracy) const
virtual

Returns max. degree of polynomials that are integrated exactly on each triangle. The return vector has size 1.

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

Definition at line 182 of file Intrepid_CubaturePolygonDef.hpp.

◆ getCubature() [1/2]

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubaturePolygon< 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 143 of file Intrepid_CubaturePolygonDef.hpp.

◆ getCubature() [2/2]

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubaturePolygon< 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 161 of file Intrepid_CubaturePolygonDef.hpp.

◆ getDimension()

template<class Scalar , class ArrayPoint , class ArrayWeight >
int Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::getDimension
virtual

Returns dimension of integration domain.

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

Definition at line 177 of file Intrepid_CubaturePolygonDef.hpp.

◆ getNumPoints()

template<class Scalar , class ArrayPoint , class ArrayWeight >
int Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::getNumPoints
virtual

Returns the number of cubature points.

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

Definition at line 172 of file Intrepid_CubaturePolygonDef.hpp.

Member Data Documentation

◆ cellTopology_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
shards::CellTopology Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::cellTopology_
private

The topology of the polygon.

Definition at line 117 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().

◆ cellVertices_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
ArrayPoint Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::cellVertices_
private

The vertices of the polygon.

Definition at line 121 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().

◆ cubaturePoints_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
FieldContainer<Scalar> Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::cubaturePoints_
private

Local copy of cubature points.

Definition at line 129 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().

◆ cubatureWeights_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
FieldContainer<Scalar> Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::cubatureWeights_
private

Local copy of cubature weights.

Definition at line 133 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().

◆ cubDimension_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
int Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::cubDimension_
private

Dimension of integration domain.

Definition at line 141 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().

◆ degree_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
int Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::degree_
private

The degree of the polynomials that are integrated exactly on each triangle.

Definition at line 125 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().

◆ numPoints_

template<class Scalar , class ArrayPoint = FieldContainer<Scalar>, class ArrayWeight = ArrayPoint>
int Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::numPoints_
private

The number of cubature points.

Definition at line 137 of file Intrepid_CubaturePolygon.hpp.

Referenced by Intrepid::CubaturePolygon< Scalar, ArrayPoint, ArrayWeight >::CubaturePolygon().


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