Sundance::GaussLobattoQuadrature Class Reference

Inheritance diagram for Sundance::GaussLobattoQuadrature:

Sundance::QuadratureFamilyBase Sundance::QuadratureFamilyStub Playa::Handleable< QuadratureFamilyStub > Playa::Printable Sundance::Noncopyable

List of all members.

Public Member Functions

 GaussLobattoQuadrature (int order)
virtual ~GaussLobattoQuadrature ()
virtual XMLObject toXML () const
virtual std::string description () const

Handleable interface



int nrPointin1D_
int verb_
static const int quadsEdgesPoints [4][2] = { {0,1} , {0,2} , {1,3} , {2,3} }
static const int edge3DProjection [12] = { 0 , 1 , 2 , 1 , 2 , 0 , 2 , 2 , 0 , 1 , 1 , 0}
virtual void getLineRule (Array< Point > &quadPointsL, Array< double > &quadWeights) const
virtual void getTriangleRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
virtual void getQuadRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
virtual void getTetRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
virtual void getBrickRule (Array< Point > &quadPoints, Array< double > &quadWeights) const
virtual void getAdaptedWeights (const CellType &cellType, int cellDim, int cellLID, int facetIndex, const Mesh &mesh, const ParametrizedCurve &globalCurve, Array< Point > &quadPoints, Array< double > &quadWeights, bool &weightsChanged) const
virtual void getAdaptedQuadWeights (int cellLID, const Mesh &mesh, const ParametrizedCurve &globalCurve, Array< Point > &quadPoints, Array< double > &quadWeights, bool &weightsChanged) const
virtual void getAdaptedQuadWeights_polygon (int cellLID, const Mesh &mesh, const ParametrizedCurve &globalCurve, Array< Point > &quadPoints, Array< double > &quadWeights, bool &weightsChanged) const
virtual void getAdaptedQuadWeights_surf (int cellLID, const Mesh &mesh, const ParametrizedCurve &globalCurve, Array< Point > &quadPoints, Array< double > &quadWeights, bool &weightsChanged) const
void getTriangleQuadPoints (Array< Point > &pnt, Array< double > &weight) const
double evalLagrangePol (int i, Array< Point > &pnt, double x) const
void makeInterpolantQuad (double px, double py, double ofx, double ofy, int nr1DPoints, int nr2DPoints, Array< Point > &linePoints, Array< Point > &quadPoints, Array< double > &pointWeights, Array< double > &weightsOut, double areFakt) const
void makeInterpolantBrick (int nr1DPoints, int nr3DPoints, Array< Point > &linePoints, Array< Point > &quadPoints, Array< double > &pointWeights, Array< double > &weightsOut, double areFakt) const


Detailed Description

Definition at line 17 of file SundanceGaussLobattoQuadrature.hpp.


Constructor & Destructor Documentation

GaussLobattoQuadrature::GaussLobattoQuadrature ( int  order  ) 

In this case the

Definition at line 22 of file SundanceGaussLobattoQuadrature.cpp.

References nrPointin1D_, and verb_.

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

Definition at line 25 of file SundanceGaussLobattoQuadrature.hpp.


Member Function Documentation

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

Describable interface

Reimplemented from Sundance::QuadratureFamilyStub.

Definition at line 32 of file SundanceGaussLobattoQuadrature.hpp.

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

double Sundance::GaussLobattoQuadrature::evalLagrangePol ( int  i,
Array< Point > &  pnt,
double  x 
) const [inline, private]

Parameters:
i,the i-th point
pnt 1D points where we interpolate
x the position where we evaluate

Definition at line 104 of file SundanceGaussLobattoQuadrature.hpp.

Referenced by makeInterpolantBrick(), and makeInterpolantQuad().

void GaussLobattoQuadrature::getAdaptedQuadWeights ( int  cellLID,
const Mesh mesh,
const ParametrizedCurve &  globalCurve,
Array< Point > &  quadPoints,
Array< double > &  quadWeights,
bool &  weightsChanged 
) const [protected, virtual]

void GaussLobattoQuadrature::getAdaptedQuadWeights_polygon ( int  cellLID,
const Mesh mesh,
const ParametrizedCurve &  globalCurve,
Array< Point > &  quadPoints,
Array< double > &  quadWeights,
bool &  weightsChanged 
) const [protected, virtual]

void GaussLobattoQuadrature::getAdaptedQuadWeights_surf ( int  cellLID,
const Mesh mesh,
const ParametrizedCurve &  globalCurve,
Array< Point > &  quadPoints,
Array< double > &  quadWeights,
bool &  weightsChanged 
) const [protected, virtual]

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

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

compute a rule for the reference brick cell

Reimplemented from Sundance::QuadratureFamilyBase.

Definition at line 76 of file SundanceGaussLobattoQuadrature.cpp.

References getLineRule().

Referenced by getAdaptedQuadWeights_surf().

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

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

compute a rule for the reference quad cell

Reimplemented from Sundance::QuadratureFamilyBase.

Definition at line 43 of file SundanceGaussLobattoQuadrature.cpp.

References getLineRule().

Referenced by getAdaptedQuadWeights(), and getAdaptedQuadWeights_polygon().

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

compute a rule for the reference tet cell

Reimplemented from Sundance::QuadratureFamilyBase.

Definition at line 68 of file SundanceGaussLobattoQuadrature.cpp.

References SUNDANCE_ERROR, and toXML().

void GaussLobattoQuadrature::getTriangleQuadPoints ( Array< Point > &  pnt,
Array< double > &  weight 
) const [private]

get the triangle quadrature points for the adaptive integration

Definition at line 1363 of file SundanceGaussLobattoQuadrature.cpp.

References nrPointin1D_.

Referenced by getAdaptedQuadWeights(), getAdaptedQuadWeights_polygon(), and getAdaptedQuadWeights_surf().

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

compute a rule for the reference triangle cell

Reimplemented from Sundance::QuadratureFamilyBase.

Definition at line 36 of file SundanceGaussLobattoQuadrature.cpp.

References SUNDANCE_ERROR, and toXML().

void Sundance::GaussLobattoQuadrature::makeInterpolantBrick ( int  nr1DPoints,
int  nr3DPoints,
Array< Point > &  linePoints,
Array< Point > &  quadPoints,
Array< double > &  pointWeights,
Array< double > &  weightsOut,
double  areFakt 
) const [inline, private]

this function applies quadrature to the Lagrange functions
all the coordinates are in the reference coordinates

Definition at line 159 of file SundanceGaussLobattoQuadrature.hpp.

References evalLagrangePol().

Referenced by getAdaptedQuadWeights_surf().

void Sundance::GaussLobattoQuadrature::makeInterpolantQuad ( double  px,
double  py,
double  ofx,
double  ofy,
int  nr1DPoints,
int  nr2DPoints,
Array< Point > &  linePoints,
Array< Point > &  quadPoints,
Array< double > &  pointWeights,
Array< double > &  weightsOut,
double  areFakt 
) const [inline, private]

this function applies quadrature to the Lagrange functions
all the coordinates are in the reference coordinates

Definition at line 118 of file SundanceGaussLobattoQuadrature.hpp.

References evalLagrangePol().

Referenced by getAdaptedQuadWeights(), and getAdaptedQuadWeights_polygon().

XMLObject GaussLobattoQuadrature::toXML (  )  const [virtual]


Member Data Documentation

int const GaussLobattoQuadrature::edge3DProjection = { 0 , 1 , 2 , 1 , 2 , 0 , 2 , 2 , 0 , 1 , 1 , 0} [static, private]

qvasi information for the 3D cut-cell integral

Definition at line 200 of file SundanceGaussLobattoQuadrature.hpp.

Referenced by getAdaptedQuadWeights_surf().

nr of points in 1D, the rest should be tensor product

Definition at line 192 of file SundanceGaussLobattoQuadrature.hpp.

Referenced by GaussLobattoQuadrature(), and getTriangleQuadPoints().

int const GaussLobattoQuadrature::quadsEdgesPoints = { {0,1} , {0,2} , {1,3} , {2,3} } [static, private]

the verbosity of the object

Definition at line 195 of file SundanceGaussLobattoQuadrature.hpp.

Referenced by GaussLobattoQuadrature(), getAdaptedQuadWeights(), and getAdaptedQuadWeights_polygon().

Site Contact