MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::H1_FECollection Class Reference

Arbitrary order H1-conforming (continuous) finite elements. More...

#include <fe_coll.hpp>

Inheritance diagram for mfem::H1_FECollection:
[legend]
Collaboration diagram for mfem::H1_FECollection:
[legend]

Public Member Functions

 H1_FECollection (const int p, const int dim=3, const int btype=BasisType::GaussLobatto)
 
const FiniteElementFiniteElementForGeometry (Geometry::Type GeomType) const override
 
int DofForGeometry (Geometry::Type GeomType) const override
 
const int * DofOrderForOrientation (Geometry::Type GeomType, int Or) const override
 Returns an array, say p, that maps a local permuted index i to a local base index: base_i = p[i].
 
const char * Name () const override
 
int GetContType () const override
 
int GetBasisType () const
 
FiniteElementCollectionGetTraceCollection () const override
 
const int * GetDofMap (Geometry::Type GeomType) const
 Get the Cartesian to local H1 dof map.
 
const int * GetDofMap (Geometry::Type GeomType, int p) const
 Variable order version of GetDofMap.
 
FiniteElementCollectionClone (int p) const override
 Instantiate a new collection of the same type with a different order.
 
virtual ~H1_FECollection ()
 
- Public Member Functions inherited from mfem::FiniteElementCollection
virtual const FiniteElementFiniteElementForDim (int dim) const
 Returns the first non-NULL FiniteElement for the given dimension.
 
virtual const StatelessDofTransformationDofTransformationForGeometry (Geometry::Type GeomType) const
 Returns a DoF transformation object compatible with this basis and geometry type.
 
int HasFaceDofs (Geometry::Type geom, int p) const
 
virtual const FiniteElementTraceFiniteElementForGeometry (Geometry::Type GeomType) const
 
virtual ~FiniteElementCollection ()
 
void SubDofOrder (Geometry::Type Geom, int SDim, int Info, Array< int > &dofs) const
 Get the local dofs for a given sub-manifold.
 
const FiniteElementGetFE (Geometry::Type geom, int p) const
 Variable order version of FiniteElementForGeometry().
 
int GetNumDof (Geometry::Type geom, int p) const
 Variable order version of DofForGeometry().
 
const int * GetDofOrdering (Geometry::Type geom, int p, int ori) const
 Variable order version of DofOrderForOrientation().
 
int GetOrder () const
 Return the order (polynomial degree) of the FE collection, corresponding to the order/degree returned by FiniteElement::GetOrder() of the highest-dimensional FiniteElements defined by the collection.
 
int GetRangeType (int dim) const
 
int GetDerivRangeType (int dim) const
 
int GetMapType (int dim) const
 
int GetDerivType (int dim) const
 
int GetDerivMapType (int dim) const
 
int GetRangeDim (int dim) const
 

Protected Attributes

int dim
 
int b_type
 
char h1_name [32]
 
FiniteElementH1_Elements [Geometry::NumGeom]
 
int H1_dof [Geometry::NumGeom]
 
int * SegDofOrd [2]
 
int * TriDofOrd [6]
 
int * QuadDofOrd [8]
 
int * TetDofOrd [24]
 
- Protected Attributes inherited from mfem::FiniteElementCollection
const int base_p
 Order as returned by GetOrder().
 
Array< FiniteElementCollection * > var_orders
 
ErrorMode error_mode = RAISE_MFEM_ERROR
 How to treat errors in FiniteElementForGeometry() calls.
 

Additional Inherited Members

- Public Types inherited from mfem::FiniteElementCollection
enum  { CONTINUOUS , TANGENTIAL , NORMAL , DISCONTINUOUS }
 Enumeration for ContType: defines the continuity of the field across element interfaces. More...
 
- Static Public Member Functions inherited from mfem::FiniteElementCollection
static FiniteElementCollectionNew (const char *name)
 Factory method: return a newly allocated FiniteElementCollection according to the given name.
 
- Protected Types inherited from mfem::FiniteElementCollection
enum  ErrorMode { RETURN_NULL , RAISE_MFEM_ERROR }
 How to treat errors in FiniteElementForGeometry() calls. More...
 
- Protected Member Functions inherited from mfem::FiniteElementCollection
 FiniteElementCollection ()
 
 FiniteElementCollection (int p)
 
void InitVarOrder (int p) const
 
- Static Protected Member Functions inherited from mfem::FiniteElementCollection
template<Geometry::Type geom>
static void GetNVE (int &nv, int &ne)
 
template<Geometry::Type geom, typename v_t >
static void GetEdge (int &nv, v_t &v, int &ne, int &e, int &eo, const int edge_info)
 
template<Geometry::Type geom, Geometry::Type f_geom, typename v_t , typename e_t , typename eo_t >
static void GetFace (int &nv, v_t &v, int &ne, e_t &e, eo_t &eo, int &nf, int &f, Geometry::Type &fg, int &fo, const int face_info)
 

Detailed Description

Arbitrary order H1-conforming (continuous) finite elements.

Definition at line 259 of file fe_coll.hpp.

Constructor & Destructor Documentation

◆ H1_FECollection()

mfem::H1_FECollection::H1_FECollection ( const int p,
const int dim = 3,
const int btype = BasisType::GaussLobatto )
explicit

Definition at line 1650 of file fe_coll.cpp.

◆ ~H1_FECollection()

mfem::H1_FECollection::~H1_FECollection ( )
virtual

Definition at line 2042 of file fe_coll.cpp.

Member Function Documentation

◆ Clone()

FiniteElementCollection * mfem::H1_FECollection::Clone ( int p) const
inlineoverridevirtual

Instantiate a new collection of the same type with a different order.

Generally, the order parameter p is NOT the same as the parameter p used by some of the constructors of derived classes. Instead, this p represents the order of the new FE collection as it will be returned by its GetOrder() method.

Reimplemented from mfem::FiniteElementCollection.

Definition at line 294 of file fe_coll.hpp.

◆ DofForGeometry()

int mfem::H1_FECollection::DofForGeometry ( Geometry::Type GeomType) const
inlineoverridevirtual

Implements mfem::FiniteElementCollection.

Definition at line 275 of file fe_coll.hpp.

◆ DofOrderForOrientation()

const int * mfem::H1_FECollection::DofOrderForOrientation ( Geometry::Type GeomType,
int Or ) const
overridevirtual

Returns an array, say p, that maps a local permuted index i to a local base index: base_i = p[i].

Note
Only provides information about interior dofs. See FiniteElementCollection::SubDofOrder if interior and boundary dof order is needed.

Implements mfem::FiniteElementCollection.

Definition at line 1976 of file fe_coll.cpp.

◆ FiniteElementForGeometry()

const FiniteElement * mfem::H1_FECollection::FiniteElementForGeometry ( Geometry::Type GeomType) const
overridevirtual

Implements mfem::FiniteElementCollection.

Definition at line 1961 of file fe_coll.cpp.

◆ GetBasisType()

int mfem::H1_FECollection::GetBasisType ( ) const
inline

Definition at line 285 of file fe_coll.hpp.

◆ GetContType()

int mfem::H1_FECollection::GetContType ( ) const
inlineoverridevirtual

Implements mfem::FiniteElementCollection.

Definition at line 283 of file fe_coll.hpp.

◆ GetDofMap() [1/2]

const int * mfem::H1_FECollection::GetDofMap ( Geometry::Type GeomType) const

Get the Cartesian to local H1 dof map.

Definition at line 2017 of file fe_coll.cpp.

◆ GetDofMap() [2/2]

const int * mfem::H1_FECollection::GetDofMap ( Geometry::Type GeomType,
int p ) const

Variable order version of GetDofMap.

Definition at line 2035 of file fe_coll.cpp.

◆ GetTraceCollection()

FiniteElementCollection * mfem::H1_FECollection::GetTraceCollection ( ) const
overridevirtual

Reimplemented from mfem::FiniteElementCollection.

Definition at line 1998 of file fe_coll.cpp.

◆ Name()

const char * mfem::H1_FECollection::Name ( ) const
inlineoverridevirtual

Reimplemented from mfem::FiniteElementCollection.

Definition at line 281 of file fe_coll.hpp.

Member Data Documentation

◆ b_type

int mfem::H1_FECollection::b_type
protected

Definition at line 262 of file fe_coll.hpp.

◆ dim

int mfem::H1_FECollection::dim
protected

Definition at line 262 of file fe_coll.hpp.

◆ H1_dof

int mfem::H1_FECollection::H1_dof[Geometry::NumGeom]
protected

Definition at line 265 of file fe_coll.hpp.

◆ H1_Elements

FiniteElement* mfem::H1_FECollection::H1_Elements[Geometry::NumGeom]
protected

Definition at line 264 of file fe_coll.hpp.

◆ h1_name

char mfem::H1_FECollection::h1_name[32]
protected

Definition at line 263 of file fe_coll.hpp.

◆ QuadDofOrd

int * mfem::H1_FECollection::QuadDofOrd[8]
protected

Definition at line 266 of file fe_coll.hpp.

◆ SegDofOrd

int* mfem::H1_FECollection::SegDofOrd[2]
protected

Definition at line 266 of file fe_coll.hpp.

◆ TetDofOrd

int * mfem::H1_FECollection::TetDofOrd[24]
protected

Definition at line 266 of file fe_coll.hpp.

◆ TriDofOrd

int * mfem::H1_FECollection::TriDofOrd[6]
protected

Definition at line 266 of file fe_coll.hpp.


The documentation for this class was generated from the following files: