Public Member Functions | Protected Member Functions
Sundance::QuadratureFamilyBase Class Reference

QuadratureFamilyBase extends QuadratureFamilyStub to provide an interface for getting quadrature points for a given cell type. More...

Inheritance diagram for Sundance::QuadratureFamilyBase:
Sundance::QuadratureFamilyStub Sundance::Handleable< QuadratureFamilyStub > Sundance::Printable Sundance::Noncopyable Sundance::ClosedNewtonCotes Sundance::FeketeQuadrature Sundance::GaussianQuadrature

List of all members.

Public Member Functions

 QuadratureFamilyBase (int order)
virtual ~QuadratureFamilyBase ()
virtual int getNumPoints (const CellType &cellType) const
 Gets number of points associated with a particular cell type: WARNING: this is slow.
virtual void getPoints (const CellType &cellType, Array< Point > &quadPoints, Array< double > &quadWeights) const
 Get the quadrature points and weights for the given cell type.
virtual void getAdaptedWeights (const CellType &cellType, int cellDim, int celLID, int facetIndex, const Mesh &mesh, const ParametrizedCurve &globalCurve, Array< Point > &quadPoints, Array< double > &quadWeights, bool &isCut) const
 This method is used for the Adaptive Cell Integration, which returns special quadrature weights for cells which are cut by the curve
The quadPoints and the quadWeights are set to the default values.

Protected Member Functions

virtual void getLineRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
 compute a rule for the reference line cell
virtual void getTriangleRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
 compute a rule for the reference triangle cell
virtual void getQuadRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
 compute a rule for the reference quad cell
virtual void getTetRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
 compute a rule for the reference tet cell
virtual void getBrickRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
 compute a rule for the reference brick cell

Detailed Description

QuadratureFamilyBase extends QuadratureFamilyStub to provide an interface for getting quadrature points for a given cell type.

Definition at line 51 of file SundanceQuadratureFamilyBase.hpp.


Constructor & Destructor Documentation

Sundance::QuadratureFamilyBase::QuadratureFamilyBase ( int  order) [inline]

Definition at line 55 of file SundanceQuadratureFamilyBase.hpp.

virtual Sundance::QuadratureFamilyBase::~QuadratureFamilyBase ( ) [inline, virtual]

Definition at line 58 of file SundanceQuadratureFamilyBase.hpp.


Member Function Documentation

void QuadratureFamilyBase::getAdaptedWeights ( const CellType cellType,
int  cellDim,
int  celLID,
int  facetIndex,
const Mesh mesh,
const ParametrizedCurve &  globalCurve,
Array< Point > &  quadPoints,
Array< double > &  quadWeights,
bool &  isCut 
) const [virtual]

This method is used for the Adaptive Cell Integration, which returns special quadrature weights for cells which are cut by the curve
The quadPoints and the quadWeights are set to the default values.

(quadrature without the curve , no curve) quadWeights will be changed depending on the curve, if the curve cuts the cell isCut should be set by this method, if it is true then the quadWeights will be used for quadrature of the cell

Reimplemented in Sundance::FeketeQuadrature, and Sundance::GaussianQuadrature.

Definition at line 73 of file SundanceQuadratureFamilyBase.cpp.

References SUNDANCE_ERROR, SUNDANCE_ERROR7, and Sundance::QuadratureFamilyStub::toXML().

Referenced by Sundance::QuadratureFamily::getAdaptedWeights().

void QuadratureFamilyBase::getBrickRule ( Array< Point > &  quadPoints,
Array< double > &  quadWeights 
) const [protected, virtual]

compute a rule for the reference brick cell

Reimplemented in Sundance::FeketeQuadrature, and Sundance::GaussianQuadrature.

Definition at line 129 of file SundanceQuadratureFamilyBase.cpp.

References SUNDANCE_ERROR, SUNDANCE_ERROR7, and Sundance::QuadratureFamilyStub::toXML().

Referenced by getPoints().

void QuadratureFamilyBase::getLineRule ( Array< Point > &  quadPoints,
Array< double > &  quadWeights 
) const [protected, virtual]

compute a rule for the reference line cell

Reimplemented in Sundance::ClosedNewtonCotes, Sundance::FeketeQuadrature, and Sundance::GaussianQuadrature.

Definition at line 89 of file SundanceQuadratureFamilyBase.cpp.

References SUNDANCE_ERROR, SUNDANCE_ERROR7, and Sundance::QuadratureFamilyStub::toXML().

Referenced by getPoints().

virtual int Sundance::QuadratureFamilyBase::getNumPoints ( const CellType cellType) const [inline, virtual]

Gets number of points associated with a particular cell type: WARNING: this is slow.

Call it once and store the result. TODO: make it pure virtual and override with queries in the derived classes, making them supply the information.

Definition at line 64 of file SundanceQuadratureFamilyBase.hpp.

References getPoints().

Referenced by Sundance::QuadratureFamily::getNumPoints().

void QuadratureFamilyBase::getPoints ( const CellType cellType,
Array< Point > &  quadPoints,
Array< double > &  quadWeights 
) const [virtual]
void QuadratureFamilyBase::getQuadRule ( Array< Point > &  quadPoints,
Array< double > &  quadWeights 
) const [protected, virtual]

compute a rule for the reference quad cell

Reimplemented in Sundance::FeketeQuadrature, and Sundance::GaussianQuadrature.

Definition at line 109 of file SundanceQuadratureFamilyBase.cpp.

References SUNDANCE_ERROR, SUNDANCE_ERROR7, and Sundance::QuadratureFamilyStub::toXML().

Referenced by getPoints().

void QuadratureFamilyBase::getTetRule ( Array< Point > &  quadPoints,
Array< double > &  quadWeights 
) const [protected, virtual]

compute a rule for the reference tet cell

Reimplemented in Sundance::GaussianQuadrature.

Definition at line 119 of file SundanceQuadratureFamilyBase.cpp.

References SUNDANCE_ERROR, SUNDANCE_ERROR7, and Sundance::QuadratureFamilyStub::toXML().

Referenced by getPoints().

void QuadratureFamilyBase::getTriangleRule ( Array< Point > &  quadPoints,
Array< double > &  quadWeights 
) const [protected, virtual]

compute a rule for the reference triangle cell

Reimplemented in Sundance::ClosedNewtonCotes, Sundance::FeketeQuadrature, and Sundance::GaussianQuadrature.

Definition at line 99 of file SundanceQuadratureFamilyBase.cpp.

References SUNDANCE_ERROR, SUNDANCE_ERROR7, and Sundance::QuadratureFamilyStub::toXML().

Referenced by getPoints().

Site Contact