MFEM v2.0
Public Member Functions | Protected Member Functions | Protected Attributes
NodalFiniteElement Class Reference

#include <fe.hpp>

Inheritance diagram for NodalFiniteElement:
Inheritance graph
[legend]
Collaboration diagram for NodalFiniteElement:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

Definition at line 165 of file fe.hpp.


Constructor & Destructor Documentation

NodalFiniteElement::NodalFiniteElement ( int  D,
int  G,
int  Do,
int  O,
int  F = FunctionSpace::Pk 
) [inline]

Definition at line 177 of file fe.hpp.


Member Function Documentation

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]
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().


Member Data Documentation

Vector NodalFiniteElement::c_shape [mutable, protected]

Definition at line 173 of file fe.hpp.

Referenced by NodalLocalInterpolation().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines