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

Defines tensor-product cubature (integration) rules in Intrepid. More...

#include <Intrepid_CubatureTensor.hpp>

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

Public Member Functions

 CubatureTensor (std::vector< Teuchos::RCP< Cubature< Scalar, ArrayPoint, ArrayWeight > > > cubatures)
 Constructor. More...
 
 CubatureTensor (Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > > cubature1, Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > > cubature2)
 Constructor. More...
 
 CubatureTensor (Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > > cubature1, Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > > cubature2, Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > > cubature3)
 Constructor. More...
 
 CubatureTensor (Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > > cubature, int n)
 Constructor. More...
 
virtual void getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights) const
 Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More...
 
virtual void getCubature (ArrayPoint &cubPoints, ArrayWeight &cubWeights, ArrayPoint &cellCoords) const
 Returns cubature points and weights. Method for physical space cubature, throws an exception. More...
 
virtual int getNumPoints () const
 Returns the number of cubature points.
 
virtual int getDimension () const
 Returns dimension of integration domain.
 
virtual void getAccuracy (std::vector< int > &degree) const
 Returns max. degree of polynomials that are integrated exactly. The return vector has the size of the degree_ vector.
 

Private Attributes

std::vector< int > degree_
 Degree of polynomials that are integrated exactly by each cubature rule within the tensor product.
 
int dimension_
 Dimension of integration domain.
 
std::vector< Teuchos::RCP
< Cubature< Scalar, ArrayPoint,
ArrayWeight > > > 
cubatures_
 Array of cubature rules, stored as FieldContainers.
 

Detailed Description

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

Defines tensor-product cubature (integration) rules in Intrepid.

Definition at line 64 of file Intrepid_CubatureTensor.hpp.

Constructor & Destructor Documentation

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubatureTensor< Scalar, ArrayPoint, ArrayWeight >::CubatureTensor ( std::vector< Teuchos::RCP< Cubature< Scalar, ArrayPoint, ArrayWeight > > >  cubatures)

Constructor.

Parameters
cubatures[in] - Array of cubatures that represent the building blocks of the tensor product.

Definition at line 52 of file Intrepid_CubatureTensorDef.hpp.

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubatureTensor< Scalar, ArrayPoint, ArrayWeight >::CubatureTensor ( Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > >  cubature1,
Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > >  cubature2 
)

Constructor.

Parameters
cubature1[in] - First direct cubature rule.
cubature2[in] - Second direct cubature rule.

Definition at line 84 of file Intrepid_CubatureTensorDef.hpp.

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubatureTensor< Scalar, ArrayPoint, ArrayWeight >::CubatureTensor ( Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > >  cubature1,
Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > >  cubature2,
Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > >  cubature3 
)

Constructor.

Parameters
cubature1[in] - First direct cubature rule.
cubature2[in] - Second direct cubature rule.
cubature3[in] - Third direct cubature rule.

Definition at line 102 of file Intrepid_CubatureTensorDef.hpp.

template<class Scalar , class ArrayPoint , class ArrayWeight >
Intrepid::CubatureTensor< Scalar, ArrayPoint, ArrayWeight >::CubatureTensor ( Teuchos::RCP< CubatureDirect< Scalar, ArrayPoint, ArrayWeight > >  cubature,
int  n 
)

Constructor.

Parameters
cubature[in] - Direct cubature rule.
n[in] - Number of copies of the cubature rule in the tensor product.

Definition at line 122 of file Intrepid_CubatureTensorDef.hpp.

Member Function Documentation

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubatureTensor< 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] - Vector containing the cubature points.
cubWeights[out] - Vector of corresponding cubature weights.

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

Reimplemented in Intrepid::CubatureTensorPyr< Scalar, ArrayPoint, ArrayWeight >.

Definition at line 138 of file Intrepid_CubatureTensorDef.hpp.

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

template<class Scalar , class ArrayPoint , class ArrayWeight >
void Intrepid::CubatureTensor< 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 >.

Reimplemented in Intrepid::CubatureTensorPyr< Scalar, ArrayPoint, ArrayWeight >.

Definition at line 198 of file Intrepid_CubatureTensorDef.hpp.


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