MFEM
v3.4
Finite element discretization library
|
#include <fe.hpp>
Public Member Functions | |
H1_QuadrilateralElement (const int p, const int btype=BasisType::GaussLobatto) | |
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 |
Public Member Functions inherited from mfem::NodalTensorFiniteElement | |
NodalTensorFiniteElement (const int dims, const int p, const int btype, const DofMapType dmtype) | |
Public Member Functions inherited from mfem::NodalFiniteElement | |
NodalFiniteElement (int D, int 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 | 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 |
Public Member Functions inherited from mfem::ScalarFiniteElement | |
ScalarFiniteElement (int D, int 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... | |
Public Member Functions inherited from mfem::FiniteElement | |
FiniteElement (int D, int G, int Do, int O, int F=FunctionSpace::Pk) | |
int | GetDim () const |
Returns the reference space dimension for the finite element. More... | |
int | 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 () |
Public Member Functions inherited from mfem::TensorBasisElement | |
TensorBasisElement (const int dims, const int p, const int btype, const DofMapType dmtype) | |
int | GetBasisType () const |
const Poly_1D::Basis & | GetBasis1D () const |
const Array< int > & | GetDofMap () const |
Get an Array<int> that maps lexicographically ordered indices to the indices of the respective nodes/dofs/basis functions. If the dofs are ordered lexicographically, i.e. the mapping is identity, the returned Array will be empty. More... | |
Additional Inherited Members | |
Public Types inherited from mfem::FiniteElement | |
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... | |
Public Types inherited from mfem::TensorBasisElement | |
enum | DofMapType { L2_DOF_MAP = 0, H1_DOF_MAP = 1 } |
Static Public Member Functions inherited from mfem::FiniteElement | |
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) |
Static Public Member Functions inherited from mfem::TensorBasisElement | |
static int | GetTensorProductGeometry (int dim) |
static int | Pow (int base, int dim) |
Return base raised to the power dim. More... | |
Public Attributes inherited from mfem::ScalarFiniteElement | |
__pad0__: FiniteElement(D | |
G | |
Do | |
O | |
F | |
Protected Member Functions inherited from mfem::NodalFiniteElement | |
void | ProjectCurl_2D (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &curl) const |
Static Protected Member Functions inherited from mfem::ScalarFiniteElement | |
static const ScalarFiniteElement & | CheckScalarFE (const FiniteElement &fe) |
Protected Attributes inherited from mfem::ScalarFiniteElement | |
Vector | c_shape |
Protected Attributes inherited from mfem::FiniteElement | |
int | Dim |
Dimension of reference space. More... | |
int | 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 |
Protected Attributes inherited from mfem::TensorBasisElement | |
int | b_type |
Array< int > | dof_map |
Poly_1D::Basis & | basis1d |
mfem::H1_QuadrilateralElement::H1_QuadrilateralElement | ( | const int | p, |
const int | btype = BasisType::GaussLobatto |
||
) |
|
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.
|
virtual |
Compute a representation (up to multiplicative constant) for the delta function at the vertex with the given index.
Reimplemented from mfem::FiniteElement.