Sundance::QuadratureIntegral Class Reference

Inheritance diagram for Sundance::QuadratureIntegral:

Sundance::QuadratureIntegralBase Sundance::ElementIntegral

List of all members.

Public Member Functions

 QuadratureIntegral (int spatialDim, const CellType &maxCellType, int dim, const CellType &cellType, const QuadratureFamily &quad, bool isInternalBdry, const ParametrizedCurve &globalCurve, const Mesh &mesh, int verb)
 QuadratureIntegral (int spatialDim, const CellType &maxCellType, int dim, const CellType &cellType, const BasisFamily &testBasis, int alpha, int testDerivOrder, const QuadratureFamily &quad, bool isInternalBdry, const ParametrizedCurve &globalCurve, const Mesh &mesh, int verb)
 QuadratureIntegral (int spatialDim, const CellType &maxCellType, int dim, const CellType &cellType, const BasisFamily &testBasis, int alpha, int testDerivOrder, const BasisFamily &unkBasis, int beta, int unkDerivOrder, const QuadratureFamily &quad, bool isInternalBdry, const ParametrizedCurve &globalCurve, const Mesh &mesh, int verb)
virtual ~QuadratureIntegral ()
virtual void transformZeroForm (const CellJacobianBatch &JTrans, const CellJacobianBatch &JVol, const Array< int > &isLocalFlag, const Array< int > &facetIndex, const RCP< Array< int > > &cellLIDs, const double *const coeff, RCP< Array< double > > &A) const
virtual void transformTwoForm (const CellJacobianBatch &JTrans, const CellJacobianBatch &JVol, const Array< int > &facetIndex, const RCP< Array< int > > &cellLIDs, const double *const coeff, RCP< Array< double > > &A) const
void transformOneForm (const CellJacobianBatch &JTrans, const CellJacobianBatch &JVol, const Array< int > &facetIndex, const RCP< Array< int > > &cellLIDs, const double *const coeff, RCP< Array< double > > &A) const

Private Member Functions

void transformSummingFirst (int nCells, const Array< int > &facetIndex, const RCP< Array< int > > &cellLIDs, const double *const GPtr, const double *const coeff, RCP< Array< double > > &A) const
void transformSummingLast (int nCells, const Array< int > &facetIndex, const RCP< Array< int > > &cellLIDs, const double *const GPtr, const double *const coeff, RCP< Array< double > > &A) const
bool useSumFirstMethod () const
double & wValue (int facetCase, int q, int testDerivDir, int testNode, int unkDerivDir, int unkNode)
const double & wValue (int facetCase, int q, int testDerivDir, int testNode, int unkDerivDir, int unkNode) const
double & wValue (int facetCase, int q, int testDerivDir, int testNode)
const double & wValue (int facetCase, int q, int testDerivDir, int testNode) const

Private Attributes

Array< Array< double > > W_
bool useSumFirstMethod_
Array< Array< Array< Array
< double > > > > 
W_ACI_F1_
Array< Array< Array< Array
< Array< Array< double > > > > > > 
W_ACI_F2_
QuadratureFamily quad_
Array< Array< Point > > quadPts_
Array< Array< double > > quadWeights_


Detailed Description

Definition at line 46 of file SundanceQuadratureIntegral.hpp.


Constructor & Destructor Documentation

QuadratureIntegral::QuadratureIntegral ( int  spatialDim,
const CellType maxCellType,
int  dim,
const CellType cellType,
const QuadratureFamily quad,
bool  isInternalBdry,
const ParametrizedCurve &  globalCurve,
const Mesh mesh,
int  verb 
)

QuadratureIntegral::QuadratureIntegral ( int  spatialDim,
const CellType maxCellType,
int  dim,
const CellType cellType,
const BasisFamily testBasis,
int  alpha,
int  testDerivOrder,
const QuadratureFamily quad,
bool  isInternalBdry,
const ParametrizedCurve &  globalCurve,
const Mesh mesh,
int  verb 
)

QuadratureIntegral::QuadratureIntegral ( int  spatialDim,
const CellType maxCellType,
int  dim,
const CellType cellType,
const BasisFamily testBasis,
int  alpha,
int  testDerivOrder,
const BasisFamily unkBasis,
int  beta,
int  unkDerivOrder,
const QuadratureFamily quad,
bool  isInternalBdry,
const ParametrizedCurve &  globalCurve,
const Mesh mesh,
int  verb 
)

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

virtual dtor

Definition at line 93 of file SundanceQuadratureIntegral.hpp.


Member Function Documentation

void QuadratureIntegral::transformOneForm ( const CellJacobianBatch JTrans,
const CellJacobianBatch JVol,
const Array< int > &  facetIndex,
const RCP< Array< int > > &  cellLIDs,
const double *const   coeff,
RCP< Array< double > > &  A 
) const [virtual]

void QuadratureIntegral::transformSummingFirst ( int  nCells,
const Array< int > &  facetIndex,
const RCP< Array< int > > &  cellLIDs,
const double *const   GPtr,
const double *const   coeff,
RCP< Array< double > > &  A 
) const [private]

Do the integration by summing reference quantities over quadrature points and then transforming the sum to physical quantities.

Definition at line 782 of file SundanceQuadratureIntegral.cpp.

Referenced by transformOneForm(), and transformTwoForm().

void QuadratureIntegral::transformSummingLast ( int  nCells,
const Array< int > &  facetIndex,
const RCP< Array< int > > &  cellLIDs,
const double *const   GPtr,
const double *const   coeff,
RCP< Array< double > > &  A 
) const [private]

Do the integration by transforming to physical coordinates at each quadrature point, and then summing

Definition at line 923 of file SundanceQuadratureIntegral.cpp.

Referenced by transformOneForm(), and transformTwoForm().

void QuadratureIntegral::transformTwoForm ( const CellJacobianBatch JTrans,
const CellJacobianBatch JVol,
const Array< int > &  facetIndex,
const RCP< Array< int > > &  cellLIDs,
const double *const   coeff,
RCP< Array< double > > &  A 
) const [virtual]

void QuadratureIntegral::transformZeroForm ( const CellJacobianBatch JTrans,
const CellJacobianBatch JVol,
const Array< int > &  isLocalFlag,
const Array< int > &  facetIndex,
const RCP< Array< int > > &  cellLIDs,
const double *const   coeff,
RCP< Array< double > > &  A 
) const [virtual]

bool Sundance::QuadratureIntegral::useSumFirstMethod (  )  const [inline, private]

Determine whether to do this batch of integrals using the sum-first method or the sum-last method

Definition at line 142 of file SundanceQuadratureIntegral.hpp.

References useSumFirstMethod_.

Referenced by transformOneForm(), and transformTwoForm().

const double& Sundance::QuadratureIntegral::wValue ( int  facetCase,
int  q,
int  testDerivDir,
int  testNode 
) const [inline, private]

double& Sundance::QuadratureIntegral::wValue ( int  facetCase,
int  q,
int  testDerivDir,
int  testNode 
) [inline, private]

const double& Sundance::QuadratureIntegral::wValue ( int  facetCase,
int  q,
int  testDerivDir,
int  testNode,
int  unkDerivDir,
int  unkNode 
) const [inline, private]

double& Sundance::QuadratureIntegral::wValue ( int  facetCase,
int  q,
int  testDerivDir,
int  testNode,
int  unkDerivDir,
int  unkNode 
) [inline, private]


Member Data Documentation

The quadrature family needed for special integration (ACI)

Reimplemented from Sundance::QuadratureIntegralBase.

Definition at line 195 of file SundanceQuadratureIntegral.hpp.

Referenced by QuadratureIntegral(), transformOneForm(), transformTwoForm(), and transformZeroForm().

Array< Array<Point> > Sundance::QuadratureIntegral::quadPts_ [private]

The quadrature points

Definition at line 198 of file SundanceQuadratureIntegral.hpp.

Referenced by QuadratureIntegral(), transformOneForm(), transformTwoForm(), and transformZeroForm().

Array< Array<double> > Sundance::QuadratureIntegral::quadWeights_ [private]

The standard weights (in case of ACI these might change)

Definition at line 201 of file SundanceQuadratureIntegral.hpp.

Referenced by QuadratureIntegral(), transformOneForm(), transformTwoForm(), and transformZeroForm().

Definition at line 184 of file SundanceQuadratureIntegral.hpp.

Referenced by useSumFirstMethod().

Array<Array<double> > Sundance::QuadratureIntegral::W_ [private]

Array<Array<Array<Array<double> > > > Sundance::QuadratureIntegral::W_ACI_F1_ [private]

For ACI (ACI = Adaptive Cell Integration), store the reference integral values for one form The indexes facet, quadPoints, nRefDerivTest , nNodesTest

Definition at line 188 of file SundanceQuadratureIntegral.hpp.

Referenced by QuadratureIntegral(), and transformOneForm().

Array<Array<Array<Array<Array<Array<double> > > > > > Sundance::QuadratureIntegral::W_ACI_F2_ [private]

For ACI (ACI = Adaptive Cell Integration), store the reference integral values for two form The indexes facet, quadPoints, nRefDerivTest , nNodesTest , nRefDerivUnk , nNodesUnk

Definition at line 192 of file SundanceQuadratureIntegral.hpp.

Referenced by QuadratureIntegral(), and transformTwoForm().

Site Contact