Sundance::CurveIntegralCalc Class Reference

List of all members.

Public Member Functions

 CurveIntegralCalc ()
virtual ~CurveIntegralCalc ()

Static Public Member Functions

static void getCurveQuadPoints (CellType maxCellType, int maxCellLID, const Mesh &mesh, const ParametrizedCurve &paramCurve, const QuadratureFamily &quad, Array< Point > &curvePoints, Array< Point > &curveDerivs, Array< Point > &curveNormals)
static bool usePolygoneCurveQuadrature (const CellType &cellType, const Mesh &mesh, const ParametrizedCurve &paramCurve)
static bool use3DSurfQuadrature (const CellType &cellType, const Mesh &mesh)

Static Private Member Functions

static void getCurveQuadPoints_line (int maxCellLID, CellType maxCellType, const Mesh &mesh, const Array< Point > &cellPoints, const ParametrizedCurve &paramCurve, const QuadratureFamily &quad, Array< Point > &curvePoints, Array< Point > &curveDerivs, Array< Point > &curveNormals)
static void get3DRealCoordsOnSurf (const Point &refP, const Array< Point > &cellPoints, const Array< int > &triangles, const int nrTriag, const Array< Point > edgeIntersectPoint, int &triagIndex, Point &realPoint)
static void getCurveQuadPoints_polygon (int maxCellLID, CellType maxCellType, const Mesh &mesh, const Array< Point > &cellPoints, const ParametrizedCurve &paramCurve, const QuadratureFamily &quad, Array< Point > &curvePoints, Array< Point > &curveDerivs, Array< Point > &curveNormals)
static void getSurfQuadPoints (int maxCellLID, CellType maxCellType, const Mesh &mesh, const Array< Point > &cellPoints, const ParametrizedCurve &paramCurve, const QuadratureFamily &quad, Array< Point > &curvePoints, Array< Point > &curveDerivs, Array< Point > &curveNormals)


Detailed Description

Class to compute the intersection/quadrature points of a cell with a curve in 2/3D

Definition at line 21 of file SundanceCurveIntegralCalc.hpp.


Constructor & Destructor Documentation

CurveIntegralCalc::CurveIntegralCalc (  ) 

Empty Ctor

Definition at line 19 of file SundanceCurveIntegralCalc.cpp.

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

Definition at line 27 of file SundanceCurveIntegralCalc.hpp.


Member Function Documentation

void CurveIntegralCalc::get3DRealCoordsOnSurf ( const Point refP,
const Array< Point > &  cellPoints,
const Array< int > &  triangles,
const int  nrTriag,
const Array< Point edgeIntersectPoint,
int &  triagIndex,
Point realPoint 
) [static, private]

projects the point from 2D surf to 3D points of the element (needed for surf integrals)

Definition at line 513 of file SundanceCurveIntegralCalc.cpp.

References SUNDANCE_MSG3.

Referenced by getCurveQuadPoints_line().

void CurveIntegralCalc::getCurveQuadPoints ( CellType  maxCellType,
int  maxCellLID,
const Mesh mesh,
const ParametrizedCurve &  paramCurve,
const QuadratureFamily quad,
Array< Point > &  curvePoints,
Array< Point > &  curveDerivs,
Array< Point > &  curveNormals 
) [static]

[in] maxCellType
[in] const Array<Point>& cellPoints (the physical points of the cell)
[in] paramCurve
[in] Quadraturefamily , quadrature 1D for curve, or 2D for surface
[out] Array<Point>& curvePoints
[out] Array<Point>& curveDerivs
[out] Array<Point>& curveNormals

Definition at line 23 of file SundanceCurveIntegralCalc.cpp.

References Sundance::Mesh::facetLID(), getCurveQuadPoints_line(), getCurveQuadPoints_polygon(), getSurfQuadPoints(), Sundance::Mesh::nodePosition(), Sundance::Mesh::numFacets(), Sundance::Mesh::spatialDim(), SUNDANCE_MSG3, use3DSurfQuadrature(), and usePolygoneCurveQuadrature().

Referenced by Sundance::CurveEvalMediator::evalCoordExpr(), Sundance::CurveEvalMediator::evalCurveNormExpr(), Sundance::CurveEvalMediator::evalDiscreteFuncElement(), getSurfQuadPoints(), and Sundance::CurveQuadratureIntegral::updateRefCellInformation().

void CurveIntegralCalc::getCurveQuadPoints_line ( int  maxCellLID,
CellType  maxCellType,
const Mesh mesh,
const Array< Point > &  cellPoints,
const ParametrizedCurve &  paramCurve,
const QuadratureFamily quad,
Array< Point > &  curvePoints,
Array< Point > &  curveDerivs,
Array< Point > &  curveNormals 
) [static, private]

void CurveIntegralCalc::getCurveQuadPoints_polygon ( int  maxCellLID,
CellType  maxCellType,
const Mesh mesh,
const Array< Point > &  cellPoints,
const ParametrizedCurve &  paramCurve,
const QuadratureFamily quad,
Array< Point > &  curvePoints,
Array< Point > &  curveDerivs,
Array< Point > &  curveNormals 
) [static, private]

void CurveIntegralCalc::getSurfQuadPoints ( int  maxCellLID,
CellType  maxCellType,
const Mesh mesh,
const Array< Point > &  cellPoints,
const ParametrizedCurve &  paramCurve,
const QuadratureFamily quad,
Array< Point > &  curvePoints,
Array< Point > &  curveDerivs,
Array< Point > &  curveNormals 
) [static, private]

special method for 3D surface quadrature similar to the one in getCurveQuadPoints_line , but it uses special Quadrature class, up to 4 triangles per brick cell

Definition at line 956 of file SundanceCurveIntegralCalc.cpp.

References Sundance::cross(), getCurveQuadPoints(), Sundance::SurfQuadrature::getNrMaxTrianglePerCell(), Sundance::QuadratureFamilyBase::getPoints(), Playa::Handle< PointerType >::ptr(), SUNDANCE_MSG3, and Sundance::TriangleCell.

Referenced by getCurveQuadPoints().

static bool Sundance::CurveIntegralCalc::use3DSurfQuadrature ( const CellType cellType,
const Mesh mesh 
) [inline, static]

test if we are in 3D for the Brick surface quadrature

Definition at line 54 of file SundanceCurveIntegralCalc.hpp.

References Sundance::BrickCell, Sundance::Mesh::cellType(), and Sundance::Mesh::spatialDim().

Referenced by getCurveQuadPoints().

bool CurveIntegralCalc::usePolygoneCurveQuadrature ( const CellType cellType,
const Mesh mesh,
const ParametrizedCurve &  paramCurve 
) [static]

this method shows if special methods for polygon can be used

Definition at line 597 of file SundanceCurveIntegralCalc.cpp.

References Sundance::Mesh::cellType(), Sundance::QuadCell, Sundance::Mesh::spatialDim(), and Sundance::TriangleCell.

Referenced by Sundance::GaussLobattoQuadrature::getAdaptedWeights(), and getCurveQuadPoints().

Site Contact