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 43 of file SundanceLagrange.hpp.


Constructor & Destructor Documentation

Lagrange::Lagrange ( int  order  ) 

Definition at line 45 of file SundanceLagrange.cpp.


Member Function Documentation

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

Definition at line 102 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 628 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 360 of file SundanceLagrange.cpp.

References Sundance::MultiIndex::order(), 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 571 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 1187 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 291 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 120 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 115 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 1106 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 53 of file SundanceLagrange.cpp.

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


Member Data Documentation

Definition at line 166 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 169 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 172 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 175 of file SundanceLagrange.hpp.

Referenced by getConstrainsForHNDoF().

Site Contact