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 52 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 95 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]

bool & ElementIntegral::alwaysUseCofacets (  )  [static]

Definition at line 49 of file SundanceElementIntegral.cpp.

Referenced by ElementIntegral().

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 221 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,
int  delta 
) [static, protected]

Workspace for element transformations involving two derivatives

Definition at line 350 of file SundanceElementIntegral.cpp.

Array< double > & ElementIntegral::G ( int  gamma  )  [static, protected]

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

BasisFamily& Sundance::ElementIntegral::getTestBasis (  )  [inline]

Definition at line 152 of file SundanceElementIntegral.hpp.

References testBasis_.

BasisFamily& Sundance::ElementIntegral::getUnknownBasis (  )  [inline]

Definition at line 153 of file SundanceElementIntegral.hpp.

References unkBasis_.

const ParametrizedCurve& Sundance::ElementIntegral::globalCurve (  )  const [inline, protected]

int Sundance::ElementIntegral::integrationVerb (  )  const [inline]

void ElementIntegral::invalidateTransformationMatrices (  )  [static]

Definition at line 369 of file SundanceElementIntegral.cpp.

References transformationMatrixIsValid().

int ElementIntegral::ipow ( int  base,
int  power 
) [static, protected]

return base to the given power

Definition at line 384 of file SundanceElementIntegral.cpp.

bool Sundance::ElementIntegral::isInternalBdry (  )  const [inline]

Whether this is an integral on an internal boundary

Definition at line 117 of file SundanceElementIntegral.hpp.

References isInternalBdry_.

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

Definition at line 200 of file SundanceElementIntegral.hpp.

References maxCellType_.

Referenced by describe(), and getQuad().

const Mesh& Sundance::ElementIntegral::mesh (  )  const [inline, protected]

int Sundance::ElementIntegral::nFacetCases (  )  const [inline]

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 
)

Definition at line 248 of file SundanceElementIntegral.cpp.

References integrationVerb_, and transformVerb_.

int Sundance::ElementIntegral::spatialDim (  )  const [inline, protected]

The dimension of the space in which the cell is embedded

Definition at line 170 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,
int  beta 
) [static]

Definition at line 357 of file SundanceElementIntegral.cpp.

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

Definition at line 363 of file SundanceElementIntegral.cpp.

Referenced by invalidateTransformationMatrices().

int Sundance::ElementIntegral::transformVerb (  )  const [inline]

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

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


Member Data Documentation

Definition at line 278 of file SundanceElementIntegral.hpp.

Referenced by alpha().

Definition at line 280 of file SundanceElementIntegral.hpp.

Referenced by beta().

Definition at line 282 of file SundanceElementIntegral.hpp.

Referenced by cellType().

Definition at line 256 of file SundanceElementIntegral.hpp.

Referenced by dim().

Definition at line 286 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 293 of file SundanceElementIntegral.hpp.

Referenced by globalCurve().

Definition at line 251 of file SundanceElementIntegral.hpp.

Referenced by integrationVerb(), and setVerb().

Definition at line 258 of file SundanceElementIntegral.hpp.

Referenced by isInternalBdry().

Definition at line 284 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and maxCellType().

The curve which might be used for adaptive integration method

Definition at line 296 of file SundanceElementIntegral.hpp.

Referenced by mesh().

Definition at line 260 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nFacetCases().

Definition at line 274 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nNodes().

Definition at line 266 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nNodesTest().

Definition at line 272 of file SundanceElementIntegral.hpp.

Referenced by ElementIntegral(), and nNodesUnk().

Definition at line 264 of file SundanceElementIntegral.hpp.

Referenced by nRefDerivTest().

Definition at line 270 of file SundanceElementIntegral.hpp.

Referenced by nRefDerivUnk().

Definition at line 276 of file SundanceElementIntegral.hpp.

Referenced by order().

Definition at line 250 of file SundanceElementIntegral.hpp.

Referenced by setupVerb().

Definition at line 254 of file SundanceElementIntegral.hpp.

Referenced by spatialDim().

Definition at line 288 of file SundanceElementIntegral.hpp.

Referenced by getTestBasis(), and testBasis().

Definition at line 262 of file SundanceElementIntegral.hpp.

Referenced by testDerivOrder().

Definition at line 252 of file SundanceElementIntegral.hpp.

Referenced by setVerb(), and transformVerb().

Definition at line 290 of file SundanceElementIntegral.hpp.

Referenced by getUnknownBasis(), and unkBasis().

Definition at line 268 of file SundanceElementIntegral.hpp.

Referenced by unkDerivOrder().

Site Contact