Public Member Functions
Sundance::Lagrange Class Reference
Inheritance diagram for Sundance::Lagrange:
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

 Lagrange (int order)
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
void getConstrainsForHNDoF (const int indexInParent, const int maxCellDim, const int maxNrChild, const int facetDim, const int facetIndex, const int nodeIndex, Array< int > &localDoFs, Array< int > &parentFacetDim, Array< int > &parentFacetIndex, Array< int > &parentFacetNode, Array< double > &coefs)

Handleable interface

int order_
bool doFInfromationCalculated_
Array< int > facetD_
Array< int > facetI_
Array< int > facetN_
std::string description () const
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 evalOnquad (const Point &pt, const MultiIndex &deriv, Array< double > &result) const
void evalOnTet (const Point &pt, const MultiIndex &deriv, Array< double > &result) const
void evalOnBrick (const Point &pt, const MultiIndex &deriv, Array< double > &result) const
void returnDoFPositionOnRef (const int maxCellDim, const int facetDim, const int facetIndex, const int nodeIndex, Point &pos) const
void getDoFsOrdered (const CellType maxCellDim, int nrDoF, Array< int > &facetD, Array< int > &facetI, Array< int > &facetN)

Detailed Description

Lagrange basis

Definition at line 54 of file SundanceLagrange.hpp.


Constructor & Destructor Documentation

Lagrange::Lagrange ( int  order)

Definition at line 56 of file SundanceLagrange.cpp.


Member Function Documentation

std::string Sundance::Lagrange::description ( ) const [inline]

Definition at line 113 of file SundanceLagrange.hpp.

References order(), and Sundance::toString().

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

evaluate on a tet cell

Definition at line 639 of file SundanceLagrange.cpp.

References Sundance::MultiIndex::firstOrderDirection(), Sundance::MultiIndex::order(), order_, SUNDANCE_ERROR, and Sundance::value.

Referenced by refEval().

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

evaluate on a line cell

Definition at line 371 of file SundanceLagrange.cpp.

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

Referenced by refEval().

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

evaluate on a tet cell

Definition at line 582 of file SundanceLagrange.cpp.

References Sundance::MultiIndex::firstOrderDirection(), Sundance::MultiIndex::order(), order_, SUNDANCE_ERROR, and Sundance::value.

Referenced by refEval().

void Lagrange::evalOnTriangle ( const Point pt,
const MultiIndex deriv,
Array< double > &  result 
) const [private]
void Lagrange::getConstrainsForHNDoF ( const int  indexInParent,
const int  maxCellDim,
const int  maxNrChild,
const int  facetDim,
const int  facetIndex,
const int  nodeIndex,
Array< int > &  localDoFs,
Array< int > &  parentFacetDim,
Array< int > &  parentFacetIndex,
Array< int > &  parentFacetNode,
Array< double > &  coefs 
) [virtual]
void Lagrange::getDoFsOrdered ( const CellType  maxCellDim,
int  nrDoF,
Array< int > &  facetD,
Array< int > &  facetI,
Array< int > &  facetN 
) [private]

This method calls the "getReferenceDOFs" method and then for each DoF extracts the facet dimension, facet index and node in 3 different array
This method could be used for general purpose for other basis, where HN is possible

Parameters:
maxCellDim[in]
nrDoF[in] nr of DoF for this element
facetD[out]
facetI[out]
facetN[out]

Definition at line 1232 of file SundanceLagrange.cpp.

References getReferenceDOFs(), SUNDANCE_OUT, and Playa::ObjectWithVerbosity::verb().

Referenced by getConstrainsForHNDoF().

void Lagrange::getReferenceDOFs ( const CellType maximalCellType,
const CellType cellType,
Array< Array< Array< int > > > &  dofs 
) const [virtual]
Array< int > Lagrange::makeRange ( int  low,
int  high 
) [static, private]

Definition at line 302 of file SundanceLagrange.cpp.

Referenced by getReferenceDOFs().

int Lagrange::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 131 of file SundanceLagrange.cpp.

References Sundance::BrickCell, Sundance::LineCell, order_, Sundance::PointCell, Sundance::QuadCell, Sundance::TetCell, and Sundance::TriangleCell.

int Sundance::Lagrange::order ( ) const [inline, virtual]
void Lagrange::print ( std::ostream &  os) const [virtual]

Implements Playa::Printable.

Definition at line 126 of file SundanceLagrange.cpp.

References order_.

void Lagrange::refEval ( const CellType cellType,
const Array< Point > &  pts,
const SpatialDerivSpecifier deriv,
Array< Array< Array< double > > > &  result,
int  verbosity = 0 
) const [virtual]
void Lagrange::returnDoFPositionOnRef ( const int  maxCellDim,
const int  facetDim,
const int  facetIndex,
const int  nodeIndex,
Point pos 
) const [private]

get the exact position one DoF on the Ref Element this is needed for the treatment of hanging nodes

Parameters:
maxCellDim[in] the MaxCell dim of this element
facetDim[in] the facet dim which the DoF is on
facetIndex[in] the facet index which the DoF is on
nodeIndex[in] the node index of the DoF
pos[out] the position of the DoF

Definition at line 1151 of file SundanceLagrange.cpp.

References order().

Referenced by getConstrainsForHNDoF().

bool Lagrange::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 64 of file SundanceLagrange.cpp.

References Sundance::BrickCell, Sundance::LineCell, Sundance::PointCell, Sundance::QuadCell, Sundance::TetCell, and Sundance::TriangleCell.


Member Data Documentation

Definition at line 177 of file SundanceLagrange.hpp.

Referenced by getConstrainsForHNDoF().

Array<int> Sundance::Lagrange::facetD_ [private]

For each DoF the dimension of the element which is the DoF on

Definition at line 180 of file SundanceLagrange.hpp.

Referenced by getConstrainsForHNDoF().

Array<int> Sundance::Lagrange::facetI_ [private]

For each DoF the facet index of the element

Definition at line 183 of file SundanceLagrange.hpp.

Referenced by getConstrainsForHNDoF().

Array<int> Sundance::Lagrange::facetN_ [private]

For each DoF the facet index of the element

Definition at line 186 of file SundanceLagrange.hpp.

Referenced by getConstrainsForHNDoF().

Site Contact