Public Member Functions | |
virtual void | refEval (const CellType &cellType, const Array< Point > &pts, const SpatialDerivSpecifier &deriv, Array< Array< Array< double > > > &result, int verbosity=0) const =0 |
Evaluate the basis functions (or some mixed spatial derivative of the basis functions) for an array of points on the "reference cell" for a given cell type. | |
virtual 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) |
Definition at line 54 of file SundanceBasisReferenceEvaluationBase.hpp.
virtual void Sundance::BasisReferenceEvaluationBase::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 | |||
) | [inline, virtual] |
Computes the constraints for DoFs which are on hanging elements.
The child cell is which constrains the hanging local DoF, and the parent cell is needed to find the global DoFs.
indexInParent | [in] each (child)cell which has one hanging node, has a parent cell which has one facet, where there are global DoFs | |
maxCellDim | [in] the dimension of the maximal cell | |
maxNrChild | [in] how many children has one parent cell, this tells us if we have trisection or bisection | |
facetDim | [in] the hanging element dimension which is a facet of the child cell | |
facetIndex | [in] the hanging element facet index in the child cell | |
nodeIndex | [in] one element (e.g edge) might have more than one DoF, specify which DoF on the elemnt do we want to constrain | |
localDoFs | [out] the local DoFs in the parent cell which contribute to the hanging DoF | |
parentFacetDim | [out] the facet dimension where the local DoFs (localDoFs) are | |
parentFacetIndex[out] | the facet index where the local DoFs (localDoFs) are | |
parentFacetNode[out] | the facet node where the local DoFs (localDoFs) is (e.g.: one edge might have 2 DoFs in P3) | |
coefs | [out] the belonging coefficients to the parents local DoF |
Reimplemented in Sundance::Lagrange.
Definition at line 124 of file SundanceBasisReferenceEvaluationBase.hpp.
virtual void Sundance::BasisReferenceEvaluationBase::refEval | ( | const CellType & | cellType, | |
const Array< Point > & | pts, | |||
const SpatialDerivSpecifier & | deriv, | |||
Array< Array< Array< double > > > & | result, | |||
int | verbosity = 0 | |||
) | const [pure virtual] |
Evaluate the basis functions (or some mixed spatial derivative of the basis functions) for an array of points on the "reference cell" for a given cell type.
cellType | [in] The type of cell on which the basis is currently being evaluated. | |
pts | [in] Array of points on the reference cell (or master cell) where the basis functions are to be computed. | |
deriv | [in] Specification of which differential operator is to be applied to the basis functions. | |
result | [out] On output, gives a triply nested array which contain the basis functions (or the requested basis function derivatives) evaluated at the given points pts . The size of the outer array results is either zero or spatialDim, depending on whether this is a scalar or vector basis, respectively. The size of the next array level is equal to the number of evaluation points. Finally, the size of the innermost array level is equal to the number of DOFs visible from the given cell type. x * Specifically, results[k][pointIndex][basisIndex]
, where = |
Implemented in Sundance::Bernstein, Sundance::Bubble, Sundance::CubicHermite, Sundance::EdgeLocalizedBasis, Sundance::Fourier, Sundance::Lagrange, Sundance::Legendre, Sundance::Nedelec, and Sundance::RaviartThomas.