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 53 of file SundancePolygonQuadrature.hpp.


Constructor & Destructor Documentation

PolygonQuadrature::PolygonQuadrature ( const QuadratureFamily quad  ) 

Definition at line 38 of file SundancePolygonQuadrature.cpp.

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

Definition at line 60 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 67 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 53 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 81 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 78 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 96 of file SundancePolygonQuadrature.hpp.

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

The quadrature which will be used for the polygon lines integration

Definition at line 92 of file SundancePolygonQuadrature.hpp.

Referenced by getLineRule().

Site Contact