MFEM v2.0
|
#include <fe.hpp>
Public Member Functions | |
NodalFiniteElement (int D, int G, int Do, int O, int F=FunctionSpace::Pk) | |
virtual void | GetLocalInterpolation (ElementTransformation &Trans, DenseMatrix &I) const |
virtual void | Project (Coefficient &coeff, ElementTransformation &Trans, Vector &dofs) const |
virtual void | Project (VectorCoefficient &vc, ElementTransformation &Trans, Vector &dofs) const |
virtual void | Project (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &I) const |
virtual void | ProjectGrad (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &grad) const |
virtual void | ProjectDiv (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &div) const |
Protected Member Functions | |
void | NodalLocalInterpolation (ElementTransformation &Trans, DenseMatrix &I, const NodalFiniteElement &fine_fe) const |
Protected Attributes | |
Vector | c_shape |
NodalFiniteElement::NodalFiniteElement | ( | int | D, |
int | G, | ||
int | Do, | ||
int | O, | ||
int | F = FunctionSpace::Pk |
||
) | [inline] |
virtual void NodalFiniteElement::GetLocalInterpolation | ( | ElementTransformation & | Trans, |
DenseMatrix & | I | ||
) | const [inline, virtual] |
Return the local interpolation matrix I (Dof x Dof) where the fine element is the image of the base geometry under the given transformation.
Reimplemented from FiniteElement.
Definition at line 186 of file fe.hpp.
References NodalLocalInterpolation().
void NodalFiniteElement::NodalLocalInterpolation | ( | ElementTransformation & | Trans, |
DenseMatrix & | I, | ||
const NodalFiniteElement & | fine_fe | ||
) | const [protected] |
Definition at line 119 of file fe.cpp.
References c_shape, FiniteElement::CalcShape(), FiniteElement::Dim, FiniteElement::Dof, IntegrationRule::IntPoint(), FiniteElement::Nodes, ElementTransformation::Transform(), IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
Referenced by GetLocalInterpolation().
void NodalFiniteElement::Project | ( | VectorCoefficient & | vc, |
ElementTransformation & | Trans, | ||
Vector & | dofs | ||
) | const [virtual] |
Given a vector coefficient and a transformation, compute its projection (approximation) in the local finite dimensional space in terms of the degrees of freedom. (VectorFiniteElements)
Reimplemented from FiniteElement.
Definition at line 156 of file fe.cpp.
References FiniteElement::Dof, VectorCoefficient::Eval(), VectorCoefficient::GetVDim(), IntegrationRule::IntPoint(), FiniteElement::Nodes, and ElementTransformation::SetIntPoint().
void NodalFiniteElement::Project | ( | const FiniteElement & | fe, |
ElementTransformation & | Trans, | ||
DenseMatrix & | I | ||
) | const [virtual] |
Compute the embedding/projection matrix from the given FiniteElement onto 'this' FiniteElement. The ElementTransformation is included to support cases when the projection depends on it.
Reimplemented from FiniteElement.
Definition at line 173 of file fe.cpp.
References FiniteElement::CalcShape(), FiniteElement::CalcVShape(), FiniteElement::Dim, FiniteElement::Dof, FiniteElement::GetDof(), FiniteElement::GetRangeType(), IntegrationRule::IntPoint(), FiniteElement::Nodes, FiniteElement::SCALAR, ElementTransformation::SetIntPoint(), and DenseMatrix::SetSize().
void NodalFiniteElement::Project | ( | Coefficient & | coeff, |
ElementTransformation & | Trans, | ||
Vector & | dofs | ||
) | const [virtual] |
Given a coefficient and a transformation, compute its projection (approximation) in the local finite dimensional space in terms of the degrees of freedom.
Reimplemented from FiniteElement.
Definition at line 143 of file fe.cpp.
References FiniteElement::Dof, Coefficient::Eval(), IntegrationRule::IntPoint(), FiniteElement::Nodes, and ElementTransformation::SetIntPoint().
void NodalFiniteElement::ProjectDiv | ( | const FiniteElement & | fe, |
ElementTransformation & | Trans, | ||
DenseMatrix & | div | ||
) | const [virtual] |
Compute the discrete divergence matrix from the given FiniteElement onto 'this' FiniteElement. The ElementTransformation is included to support cases when the matrix depends on it.
Reimplemented from FiniteElement.
Definition at line 224 of file fe.cpp.
References FiniteElement::CalcDivShape(), FiniteElement::Dof, FiniteElement::GetDof(), IntegrationRule::IntPoint(), FiniteElement::Nodes, ElementTransformation::SetIntPoint(), DenseMatrix::SetSize(), and ElementTransformation::Weight().
void NodalFiniteElement::ProjectGrad | ( | const FiniteElement & | fe, |
ElementTransformation & | Trans, | ||
DenseMatrix & | grad | ||
) | const [virtual] |
Compute the discrete gradient matrix from the given FiniteElement onto 'this' FiniteElement. The ElementTransformation is included to support cases when the matrix depends on it.
Reimplemented from FiniteElement.
Definition at line 204 of file fe.cpp.
References FiniteElement::CalcDShape(), CalcInverse(), FiniteElement::Dim, FiniteElement::Dof, FiniteElement::GetDof(), IntegrationRule::IntPoint(), ElementTransformation::Jacobian(), Mult(), FiniteElement::Nodes, ElementTransformation::SetIntPoint(), and DenseMatrix::SetSize().
Vector NodalFiniteElement::c_shape [mutable, protected] |
Definition at line 173 of file fe.hpp.
Referenced by NodalLocalInterpolation().