MFEM
v4.0
Finite element discretization library
|
#include <fe.hpp>
Public Member Functions | |
P0QuadFiniteElement () | |
virtual void | CalcShape (const IntegrationPoint &ip, Vector &shape) const |
Evaluate the values of all shape functions of a scalar finite element in reference space at the given point ip. More... | |
virtual void | CalcDShape (const IntegrationPoint &ip, DenseMatrix &dshape) const |
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the given point ip. More... | |
virtual void | ProjectDelta (int vertex, Vector &dofs) const |
![]() | |
NodalFiniteElement (int D, Geometry::Type G, int Do, int O, int F=FunctionSpace::Pk) | |
virtual void | GetLocalInterpolation (ElementTransformation &Trans, DenseMatrix &I) const |
Return the local interpolation matrix I (Dof x Dof) where the fine element is the image of the base geometry under the given transformation. More... | |
virtual void | GetLocalRestriction (ElementTransformation &Trans, DenseMatrix &R) const |
Return a local restriction matrix R (Dof x Dof) mapping fine dofs to coarse dofs. More... | |
virtual void | GetTransferMatrix (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &I) const |
Return interpolation matrix, I, which maps dofs from a coarse element, fe, to the fine dofs on this finite element. More... | |
virtual void | Project (Coefficient &coeff, ElementTransformation &Trans, Vector &dofs) const |
virtual void | Project (VectorCoefficient &vc, ElementTransformation &Trans, Vector &dofs) const |
virtual void | ProjectMatrixCoefficient (MatrixCoefficient &mc, ElementTransformation &T, 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 |
![]() | |
ScalarFiniteElement (int D, Geometry::Type G, int Do, int O, int F=FunctionSpace::Pk) | |
c_shape (Dof) | |
void | SetMapType (int M) |
void | NodalLocalInterpolation (ElementTransformation &Trans, DenseMatrix &I, const ScalarFiniteElement &fine_fe) const |
Nodal interpolation. More... | |
void | ScalarLocalInterpolation (ElementTransformation &Trans, DenseMatrix &I, const ScalarFiniteElement &fine_fe) const |
"Interpolation" defined through local L2-projection. More... | |
virtual const DofToQuad & | GetDofToQuad (const IntegrationRule &ir, DofToQuad::Mode mode) const |
![]() | |
FiniteElement (int D, Geometry::Type G, int Do, int O, int F=FunctionSpace::Pk) | |
int | GetDim () const |
Returns the reference space dimension for the finite element. More... | |
Geometry::Type | GetGeomType () const |
Returns the Geometry::Type of the reference element. More... | |
int | GetDof () const |
Returns the number of degrees of freedom in the finite element. More... | |
int | GetOrder () const |
Returns the order of the finite element. In the case of anisotropic orders, returns the maximum order. More... | |
bool | HasAnisotropicOrders () const |
Returns true if the FiniteElement basis may be using different orders/degrees in different spatial directions. More... | |
const int * | GetAnisotropicOrders () const |
Returns an array containing the anisotropic orders/degrees. More... | |
int | Space () const |
Returns the type of space on each element. More... | |
int | GetRangeType () const |
int | GetDerivRangeType () const |
int | GetMapType () const |
int | GetDerivType () const |
int | GetDerivMapType () const |
void | CalcPhysShape (ElementTransformation &Trans, Vector &shape) const |
Evaluate the values of all shape functions of a scalar finite element in physical space at the point described by Trans. More... | |
void | CalcPhysDShape (ElementTransformation &Trans, DenseMatrix &dshape) const |
Evaluate the gradients of all shape functions of a scalar finite element in physical space at the point described by Trans. More... | |
const IntegrationRule & | GetNodes () const |
virtual void | CalcVShape (const IntegrationPoint &ip, DenseMatrix &shape) const |
Evaluate the values of all shape functions of a vector finite element in reference space at the given point ip. More... | |
virtual void | CalcVShape (ElementTransformation &Trans, DenseMatrix &shape) const |
Evaluate the values of all shape functions of a vector finite element in physical space at the point described by Trans. More... | |
void | CalcPhysVShape (ElementTransformation &Trans, DenseMatrix &shape) const |
Equivalent to the CalcVShape() method with the same arguments. More... | |
virtual void | CalcDivShape (const IntegrationPoint &ip, Vector &divshape) const |
Evaluate the divergence of all shape functions of a vector finite element in reference space at the given point ip. More... | |
void | CalcPhysDivShape (ElementTransformation &Trans, Vector &divshape) const |
Evaluate the divergence of all shape functions of a vector finite element in physical space at the point described by Trans. More... | |
virtual void | CalcCurlShape (const IntegrationPoint &ip, DenseMatrix &curl_shape) const |
Evaluate the curl of all shape functions of a vector finite element in reference space at the given point ip. More... | |
void | CalcPhysCurlShape (ElementTransformation &Trans, DenseMatrix &curl_shape) const |
Evaluate the curl of all shape functions of a vector finite element in physical space at the point described by Trans. More... | |
virtual void | GetFaceDofs (int face, int **dofs, int *ndofs) const |
virtual void | CalcHessian (const IntegrationPoint &ip, DenseMatrix &h) const |
virtual void | ProjectCurl (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &curl) const |
virtual | ~FiniteElement () |
Additional Inherited Members | |
![]() | |
enum | { SCALAR, VECTOR } |
Enumeration for RangeType and DerivRangeType. More... | |
enum | { VALUE, INTEGRAL, H_DIV, H_CURL } |
Enumeration for MapType: defines how reference functions are mapped to physical space. More... | |
enum | { NONE, GRAD, DIV, CURL } |
Enumeration for DerivType: defines which derivative method is implemented. More... | |
![]() | |
static bool | IsClosedType (int b_type) |
static bool | IsOpenType (int b_type) |
static int | VerifyClosed (int b_type) |
static int | VerifyOpen (int b_type) |
static int | VerifyNodal (int b_type) |
![]() | |
__pad0__: FiniteElement(D | |
G | |
Do | |
O | |
F | |
![]() | |
void | ProjectCurl_2D (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &curl) const |
![]() | |
const DofToQuad & | GetTensorDofToQuad (const class TensorBasisElement &tb, const IntegrationRule &ir, DofToQuad::Mode mode) const |
![]() | |
static const ScalarFiniteElement & | CheckScalarFE (const FiniteElement &fe) |
![]() | |
Vector | c_shape |
![]() | |
int | Dim |
Dimension of reference space. More... | |
Geometry::Type | GeomType |
Geometry::Type of the reference element. More... | |
int | FuncSpace |
int | RangeType |
int | MapType |
int | DerivType |
int | DerivRangeType |
int | DerivMapType |
int | Dof |
Number of degrees of freedom. More... | |
int | Order |
Order/degree of the shape functions. More... | |
int | Orders [Geometry::MaxDim] |
Anisotropic orders. More... | |
IntegrationRule | Nodes |
DenseMatrix | vshape |
Array< DofToQuad * > | dof2quad_array |
Container for all DofToQuad objects created by the FiniteElement. More... | |
|
virtual |
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the given point ip.
Each row of the result DenseMatrix dshape contains the derivatives of one shape function. The size (Dof x Dim) of dshape must be set in advance.
Implements mfem::FiniteElement.
|
virtual |
Evaluate the values of all shape functions of a scalar finite element in reference space at the given point ip.
The size (Dof) of the result Vector shape must be set in advance.
Implements mfem::FiniteElement.
|
inlinevirtual |
Compute a representation (up to multiplicative constant) for the delta function at the vertex with the given index.
Reimplemented from mfem::FiniteElement.