Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes
Sundance::ElementIntegral Class Reference
Inheritance diagram for Sundance::ElementIntegral:
Sundance::CurveQuadratureIntegral Sundance::MaximalQuadratureIntegral Sundance::QuadratureIntegralBase Sundance::ReducedIntegral Sundance::RefIntegral Sundance::QuadratureIntegral

List of all members.

Public Member Functions

 ElementIntegral (int spatialDim, const CellType &maxCellType, int dim, const CellType &cellType, bool isInternalBdry, const ParametrizedCurve &globalCurve, const Mesh &mesh, int verb)
 ElementIntegral (int spatialDim, const CellType &maxCellType, int dim, const CellType &cellType, const BasisFamily &testBasis, int alpha, int testDerivOrder, bool isInternalBdry, const ParametrizedCurve &globalCurve, const Mesh &mesh, int verb)
 ElementIntegral (int spatialDim, const CellType &maxCellType, int dim, const CellType &cellType, const BasisFamily &testBasis, int alpha, int testDerivOrder, const BasisFamily &unkBasis, int beta, int unkDerivOrder, bool isInternalBdry, const ParametrizedCurve &globalCurve, const Mesh &mesh, int verb)
virtual ~ElementIntegral ()
int order () const
int nNodesTest () const
int nNodesUnk () const
int nNodes () const
int nFacetCases () const
bool isInternalBdry () const
void setVerb (int integrationVerb, int transformVerb)
int setupVerb () const
int integrationVerb () const
int transformVerb () const
void describe (std::ostream &os) const
BasisFamilygetTestBasis ()
BasisFamilygetUnknownBasis ()

Static Public Member Functions

static bool & alwaysUseCofacets ()
static int & transformationMatrixIsValid (int alpha)
static int & transformationMatrixIsValid (int alpha, int beta)
static void invalidateTransformationMatrices ()
static double & totalFlops ()

Protected Member Functions

void assertBilinearForm () const
void assertLinearForm () const
int dim () const
int spatialDim () const
int nRefDerivTest () const
int nRefDerivUnk () const
int testDerivOrder () const
int unkDerivOrder () const
int alpha () const
int beta () const
const CellTypecellType () const
const CellTypemaxCellType () const
const CellTypeevalCellType () const
const BasisFamilytestBasis () const
const BasisFamilyunkBasis () const
void getQuad (const QuadratureFamily &quad, int evalCase, Array< Point > &quadPts, Array< double > &quadWeights) const
void createTwoFormTransformationMatrix (const CellJacobianBatch &JTrans, const CellJacobianBatch &JVol) const
void createOneFormTransformationMatrix (const CellJacobianBatch &JTrans, const CellJacobianBatch &JVol) const
const Meshmesh () const
const ParametrizedCurve & globalCurve () const

Static Protected Member Functions

static void addFlops (const double &flops)
static Array< double > & G (int gamma)
static Array< double > & G (int gamma, int delta)
static int ipow (int base, int power)
static double chopVal ()
static double chop (const double &x)

Private Attributes

int setupVerb_
int integrationVerb_
int transformVerb_
int spatialDim_
int dim_
bool isInternalBdry_
int nFacetCases_
int testDerivOrder_
int nRefDerivTest_
int nNodesTest_
int unkDerivOrder_
int nRefDerivUnk_
int nNodesUnk_
int nNodes_
int order_
int alpha_
int beta_
CellType cellType_
CellType maxCellType_
CellType evalCellType_
BasisFamily testBasis_
BasisFamily unkBasis_
const ParametrizedCurve globalCurve_
const Mesh mesh_

Detailed Description

ElementIntegral encapsulates the common data needed for the integration of groups of related zero-forms, one-forms, and two-forms.

Definition at line 63 of file SundanceElementIntegral.hpp.


Constructor & Destructor Documentation

ElementIntegral::ElementIntegral ( int  spatialDim,
const CellType maxCellType,
int  dim,
const CellType cellType,
bool  isInternalBdry,
const ParametrizedCurve &  globalCurve,
const Mesh mesh,
int  verb 
)
ElementIntegral::ElementIntegral ( int  spatialDim,
const CellType maxCellType,
int  dim,
const CellType cellType,
const BasisFamily testBasis,
int  alpha,
int  testDerivOrder,
bool  isInternalBdry,
const ParametrizedCurve &  globalCurve,
const Mesh mesh,
int  verb 
)
ElementIntegral::ElementIntegral ( int  spatialDim,
const CellType maxCellType,
int  dim,
const CellType cellType,
const BasisFamily testBasis,
int  alpha,
int  testDerivOrder,
const BasisFamily unkBasis,
int  beta,
int  unkDerivOrder,
bool  isInternalBdry,
const ParametrizedCurve &  globalCurve,
const Mesh mesh,
int  verb 
)
virtual Sundance::ElementIntegral::~ElementIntegral ( ) [inline, virtual]

virtual dtor

Definition at line 106 of file SundanceElementIntegral.hpp.


Member Function Documentation

static void Sundance::ElementIntegral::addFlops ( const double &  flops) [inline, static, protected]
int Sundance::ElementIntegral::alpha ( ) const [inline, protected]
void ElementIntegral::assertBilinearForm ( ) const [protected]
void ElementIntegral::assertLinearForm ( ) const [protected]
int Sundance::ElementIntegral::beta ( ) const [inline, protected]
const CellType& Sundance::ElementIntegral::cellType ( ) const [inline, protected]
static double Sundance::ElementIntegral::chop ( const double &  x) [inline, static, protected]
static double Sundance::ElementIntegral::chopVal ( ) [inline, static, protected]

The value below which chop() sets numbers to zero

Definition at line 232 of file SundanceElementIntegral.hpp.

Referenced by chop().

void ElementIntegral::createOneFormTransformationMatrix ( const CellJacobianBatch JTrans,
const CellJacobianBatch JVol 
) const [protected]
void ElementIntegral::createTwoFormTransformationMatrix ( const CellJacobianBatch JTrans,
const CellJacobianBatch JVol 
) const [protected]
void ElementIntegral::describe ( std::ostream &  os) const
int Sundance::ElementIntegral::dim ( ) const [inline, protected]
const CellType& Sundance::ElementIntegral::evalCellType ( ) const [inline, protected]
Array< double > & ElementIntegral::G ( int  gamma) [static, protected]
Array< double > & ElementIntegral::G ( int  gamma,
int  delta 
) [static, protected]

Workspace for element transformations involving two derivatives

Definition at line 361 of file SundanceElementIntegral.cpp.

References beta().

void ElementIntegral::getQuad ( const QuadratureFamily quad,
int  evalCase,
Array< Point > &  quadPts,
Array< double > &  quadWeights 
) const [protected]

Definition at line 163 of file SundanceElementIntegral.hpp.

References testBasis_.

Definition at line 164 of file SundanceElementIntegral.hpp.

References unkBasis_.

const ParametrizedCurve& Sundance::ElementIntegral::globalCurve ( ) const [inline, protected]
int ElementIntegral::ipow ( int  base,
int  power 
) [static, protected]

return base to the given power

Definition at line 395 of file SundanceElementIntegral.cpp.

Whether this is an integral on an internal boundary

Definition at line 128 of file SundanceElementIntegral.hpp.

References isInternalBdry_.

const CellType& Sundance::ElementIntegral::maxCellType ( ) const [inline, protected]

Definition at line 211 of file SundanceElementIntegral.hpp.

References maxCellType_.

Referenced by describe(), and getQuad().

const Mesh& Sundance::ElementIntegral::mesh ( ) const [inline, protected]
int Sundance::ElementIntegral::nNodes ( ) const [inline]
int Sundance::ElementIntegral::nNodesTest ( ) const [inline]
int Sundance::ElementIntegral::nNodesUnk ( ) const [inline]
int Sundance::ElementIntegral::nRefDerivTest ( ) const [inline, protected]
int Sundance::ElementIntegral::nRefDerivUnk ( ) const [inline, protected]
int Sundance::ElementIntegral::order ( ) const [inline]
int Sundance::ElementIntegral::setupVerb ( ) const [inline]
void ElementIntegral::setVerb ( int  integrationVerb,
int  transformVerb 
)
int Sundance::ElementIntegral::spatialDim ( ) const [inline, protected]

The dimension of the space in which the cell is embedded

Definition at line 181 of file SundanceElementIntegral.hpp.

References spatialDim_.

Referenced by Sundance::CurveQuadratureIntegral::updateRefCellInformation().

const BasisFamily& Sundance::ElementIntegral::testBasis ( ) const [inline, protected]
int Sundance::ElementIntegral::testDerivOrder ( ) const [inline, protected]
static double& Sundance::ElementIntegral::totalFlops ( ) [inline, static]
int & ElementIntegral::transformationMatrixIsValid ( int  alpha) [static]

Definition at line 374 of file SundanceElementIntegral.cpp.

References alpha().

Referenced by invalidateTransformationMatrices().

int & ElementIntegral::transformationMatrixIsValid ( int  alpha,
int  beta 
) [static]

Definition at line 368 of file SundanceElementIntegral.cpp.

References beta().

const BasisFamily& Sundance::ElementIntegral::unkBasis ( ) const [inline, protected]
int Sundance::ElementIntegral::unkDerivOrder ( ) const [inline, protected]

Member Data Documentation

Definition at line 289 of file SundanceElementIntegral.hpp.

Referenced by alpha().

Definition at line 291 of file SundanceElementIntegral.hpp.

Referenced by beta().

Definition at line 293 of file SundanceElementIntegral.hpp.

Referenced by cellType().

Definition at line 267 of file SundanceElementIntegral.hpp.

Referenced by dim().

Definition at line 297 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and evalCellType().

const ParametrizedCurve Sundance::ElementIntegral::globalCurve_ [private]

The curve which might be used for adaptive integration method

Definition at line 304 of file SundanceElementIntegral.hpp.

Referenced by globalCurve().

Definition at line 262 of file SundanceElementIntegral.hpp.

Referenced by integrationVerb(), and setVerb().

Definition at line 269 of file SundanceElementIntegral.hpp.

Referenced by isInternalBdry().

Definition at line 295 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and maxCellType().

The curve which might be used for adaptive integration method

Definition at line 307 of file SundanceElementIntegral.hpp.

Referenced by mesh().

Definition at line 271 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nFacetCases().

Definition at line 285 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nNodes().

Definition at line 277 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nNodesTest().

Definition at line 283 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nNodesUnk().

Definition at line 275 of file SundanceElementIntegral.hpp.

Referenced by nRefDerivTest().

Definition at line 281 of file SundanceElementIntegral.hpp.

Referenced by nRefDerivUnk().

Definition at line 287 of file SundanceElementIntegral.hpp.

Referenced by order().

Definition at line 261 of file SundanceElementIntegral.hpp.

Referenced by setupVerb().

Definition at line 265 of file SundanceElementIntegral.hpp.

Referenced by spatialDim().

Definition at line 299 of file SundanceElementIntegral.hpp.

Referenced by getTestBasis(), and testBasis().

Definition at line 273 of file SundanceElementIntegral.hpp.

Referenced by testDerivOrder().

Definition at line 263 of file SundanceElementIntegral.hpp.

Referenced by setVerb(), and transformVerb().

Definition at line 301 of file SundanceElementIntegral.hpp.

Referenced by getUnknownBasis(), and unkBasis().

Definition at line 279 of file SundanceElementIntegral.hpp.

Referenced by unkDerivOrder().

Site Contact