Public Member Functions
Sundance::PolygonQuadrature Class Reference
Inheritance diagram for Sundance::PolygonQuadrature:
Sundance::QuadratureFamilyBase Sundance::QuadratureFamilyStub Playa::Handleable< QuadratureFamilyStub > Playa::Printable Sundance::Noncopyable

List of all members.

Public Member Functions

 PolygonQuadrature (const QuadratureFamily &quad)
virtual ~PolygonQuadrature ()
virtual XMLObject toXML () const
virtual std::string description () const

Handleable interface

const QuadratureFamilyquad_
static int nrMaxLinePerCell_ = 5
static void setNrMaxLinePerCell (int maxNrLine)
static int getNrMaxLinePerCell ()
virtual void getLineRule (Array< Point > &quadPoints, Array< double > &quadWeights) const

Detailed Description

Quadrature special for the polygon curve integration
. There we need for each line segment inside one cell a line integral. So for one cell we might need several line quadrature points, and this class gives us per cell(line) a constant number of quadrature points for a line, so we can integrate along the curve exactly. (each line segment exactly inside one cell)
As an input we need a quadrature class, and the points of that quadrature rule for a line will be used for each line segment of the polygon inside one cell (2D).

Definition at line 64 of file SundancePolygonQuadrature.hpp.


Constructor & Destructor Documentation

Definition at line 49 of file SundancePolygonQuadrature.cpp.

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

Definition at line 71 of file SundancePolygonQuadrature.hpp.


Member Function Documentation

virtual std::string Sundance::PolygonQuadrature::description ( ) const [inline, virtual]

Describable interface

Reimplemented from Sundance::QuadratureFamilyStub.

Definition at line 78 of file SundancePolygonQuadrature.hpp.

References Sundance::QuadratureFamilyStub::order(), and Sundance::toString().

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

for polygon curve integrals only this method should be used

Reimplemented from Sundance::QuadratureFamilyBase.

Definition at line 64 of file SundancePolygonQuadrature.cpp.

References Sundance::QuadratureFamily::getPoints(), Sundance::LineCell, nrMaxLinePerCell_, and quad_.

static int Sundance::PolygonQuadrature::getNrMaxLinePerCell ( ) [inline, static]

return the maximal number of line segments inside one cell

Definition at line 92 of file SundancePolygonQuadrature.hpp.

References nrMaxLinePerCell_.

Referenced by Sundance::CurveIntegralCalc::getCurveQuadPoints_polygon().

static void Sundance::PolygonQuadrature::setNrMaxLinePerCell ( int  maxNrLine) [inline, static]

method for the user to change this value too much line nr is an overhead too less will cause error thrown in the code

Parameters:
maxNrLine

Definition at line 89 of file SundancePolygonQuadrature.hpp.

References nrMaxLinePerCell_.

XMLObject PolygonQuadrature::toXML ( ) const [virtual]

Member Data Documentation

int PolygonQuadrature::nrMaxLinePerCell_ = 5 [static, private]

maximum number of lines inside a cell, the default value is 6 but this can be changed by the user

Definition at line 107 of file SundancePolygonQuadrature.hpp.

Referenced by getLineRule(), getNrMaxLinePerCell(), and setNrMaxLinePerCell().

The quadrature which will be used for the polygon lines integration

Definition at line 103 of file SundancePolygonQuadrature.hpp.

Referenced by getLineRule().

Site Contact