Sundance::CubicHermite Class Reference

Inheritance diagram for Sundance::CubicHermite:

Sundance::ScalarBasis Sundance::BasisFamilyBase Sundance::BasisFamilyBase Sundance::BasisReferenceEvaluationBase Sundance::TensorBasisBase Sundance::BasisDOFTopologyBase Sundance::ObjectWithClassVerbosity< BasisFamilyBase > Playa::Printable Playa::Handleable< BasisFamilyBase > Sundance::BasisReferenceEvaluationBase Sundance::TensorBasisBase Sundance::BasisDOFTopologyBase Sundance::ObjectWithClassVerbosity< BasisFamilyBase > Playa::Printable Playa::Handleable< BasisFamilyBase >

List of all members.

Public Member Functions

 CubicHermite ()
bool supportsCellTypePair (const CellType &maximalCellType, const CellType &cellType) const
 Inform caller as to whether a given cell type is supported.
void print (std::ostream &os) const
int order () const
int nReferenceDOFsWithoutFacets (const CellType &maximalCellType, const CellType &cellType) const
void getReferenceDOFs (const CellType &maximalCellType, const CellType &cellType, Array< Array< Array< int > > > &dofs) const
void refEval (const CellType &cellType, const Array< Point > &pts, const SpatialDerivSpecifier &deriv, Array< Array< Array< double > > > &result, int verbosity=0) const
virtual bool requiresBasisTransformation () const
 Indicates whether mapping the basis requires an additional correction.
void preApplyTransformation (const CellType &maxCellType, const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const
 Default transformation does nothing.
void postApplyTransformation (const CellType &maxCellType, const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const
 Default transformation does nothing.
void preApplyTransformationTranspose (const CellType &maxCellType, const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, Array< double > &A) const
 Default transformation does nothing.

Handleable interface



static Array< int > makeRange (int low, int high)
void evalOnLine (const Point &pt, const MultiIndex &deriv, Array< double > &result) const
void evalOnTriangle (const Point &pt, const MultiIndex &deriv, Array< double > &result) const
void evalOnTet (const Point &pt, const MultiIndex &deriv, Array< double > &result) const
void preApplyTransformationTriangle (const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const
void postApplyTransformationTriangle (const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const
void preApplyTransformationTransposeTriangle (const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, Array< double > &A) const
void getVertexH (const Mesh &mesh, const Array< int > &cellLIDs, Array< double > &cellVertexH) const


Detailed Description

CubicHermite basis

Definition at line 43 of file SundanceCubicHermite.hpp.


Constructor & Destructor Documentation

Sundance::CubicHermite::CubicHermite (  )  [inline]

Definition at line 47 of file SundanceCubicHermite.hpp.


Member Function Documentation

void CubicHermite::evalOnLine ( const Point pt,
const MultiIndex deriv,
Array< double > &  result 
) const [private]

evaluate on a line cell

Definition at line 248 of file SundanceCubicHermite.cpp.

References Sundance::MultiIndex::order(), and Sundance::ADReal::value().

Referenced by refEval().

void CubicHermite::evalOnTet ( const Point pt,
const MultiIndex deriv,
Array< double > &  result 
) const [private]

evaluate on a tet cell

Definition at line 309 of file SundanceCubicHermite.cpp.

void CubicHermite::evalOnTriangle ( const Point pt,
const MultiIndex deriv,
Array< double > &  result 
) const [private]

void CubicHermite::getReferenceDOFs ( const CellType maximalCellType,
const CellType cellType,
Array< Array< Array< int > > > &  dofs 
) const [virtual]

void CubicHermite::getVertexH ( const Mesh mesh,
const Array< int > &  cellLIDs,
Array< double > &  cellVertexH 
) const [private]

static Array<int> Sundance::CubicHermite::makeRange ( int  low,
int  high 
) [static, private]

int CubicHermite::nReferenceDOFsWithoutFacets ( const CellType maximalCellType,
const CellType cellType 
) const [virtual]

return the number of nodes for this basis on the given cell type

Implements Sundance::BasisDOFTopologyBase.

Definition at line 91 of file SundanceCubicHermite.cpp.

References Sundance::LineCell, Sundance::PointCell, and Sundance::TriangleCell.

int Sundance::CubicHermite::order (  )  const [inline, virtual]

Implements Sundance::BasisFamilyBase.

Definition at line 61 of file SundanceCubicHermite.hpp.

void CubicHermite::postApplyTransformation ( const CellType maxCellType,
const Mesh mesh,
const Array< int > &  cellLIDs,
const CellJacobianBatch JVol,
RCP< Array< double > > &  A 
) const [virtual]

Default transformation does nothing.

Reimplemented from Sundance::BasisFamilyBase.

Definition at line 339 of file SundanceCubicHermite.cpp.

References postApplyTransformationTriangle(), and Sundance::TriangleCell.

void CubicHermite::postApplyTransformationTriangle ( const Mesh mesh,
const Array< int > &  cellLIDs,
const CellJacobianBatch JVol,
RCP< Array< double > > &  A 
) const [private]

void CubicHermite::preApplyTransformation ( const CellType maxCellType,
const Mesh mesh,
const Array< int > &  cellLIDs,
const CellJacobianBatch JVol,
RCP< Array< double > > &  A 
) const [virtual]

Default transformation does nothing.

Reimplemented from Sundance::BasisFamilyBase.

Definition at line 321 of file SundanceCubicHermite.cpp.

References preApplyTransformationTriangle(), and Sundance::TriangleCell.

void CubicHermite::preApplyTransformationTranspose ( const CellType maxCellType,
const Mesh mesh,
const Array< int > &  cellLIDs,
const CellJacobianBatch JVol,
Array< double > &  A 
) const [virtual]

Default transformation does nothing.

Reimplemented from Sundance::BasisFamilyBase.

Definition at line 357 of file SundanceCubicHermite.cpp.

References preApplyTransformationTransposeTriangle(), and Sundance::TriangleCell.

void CubicHermite::preApplyTransformationTransposeTriangle ( const Mesh mesh,
const Array< int > &  cellLIDs,
const CellJacobianBatch JVol,
Array< double > &  A 
) const [private]

void CubicHermite::preApplyTransformationTriangle ( const Mesh mesh,
const Array< int > &  cellLIDs,
const CellJacobianBatch JVol,
RCP< Array< double > > &  A 
) const [private]

void CubicHermite::print ( std::ostream &  os  )  const [virtual]

Implements Playa::Printable.

Definition at line 86 of file SundanceCubicHermite.cpp.

void CubicHermite::refEval ( const CellType cellType,
const Array< Point > &  pts,
const SpatialDerivSpecifier deriv,
Array< Array< Array< double > > > &  result,
int  verbosity = 0 
) const [virtual]

virtual bool Sundance::CubicHermite::requiresBasisTransformation (  )  const [inline, virtual]

Indicates whether mapping the basis requires an additional correction.

Reimplemented from Sundance::BasisFamilyBase.

Definition at line 83 of file SundanceCubicHermite.hpp.

bool CubicHermite::supportsCellTypePair ( const CellType maximalCellType,
const CellType cellType 
) const [virtual]

Inform caller as to whether a given cell type is supported.

Implements Sundance::BasisDOFTopologyBase.

Definition at line 44 of file SundanceCubicHermite.cpp.

References Sundance::LineCell, Sundance::PointCell, and Sundance::TriangleCell.

Site Contact