MFEM  v4.5.2
Finite element discretization library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mfem::RT_FECollection Class Reference

Arbitrary order H(div)-conforming Raviart-Thomas finite elements. More...

#include <fe_coll.hpp>

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

Public Member Functions

 RT_FECollection (const int p, const int dim, const int cb_type=BasisType::GaussLobatto, const int ob_type=BasisType::GaussLegendre)
 Construct an H(div)-conforming Raviart-Thomas FE collection, RT_p. More...
 
virtual const FiniteElementFiniteElementForGeometry (Geometry::Type GeomType) const
 
virtual int DofForGeometry (Geometry::Type GeomType) const
 
virtual const int * DofOrderForOrientation (Geometry::Type GeomType, int Or) const
 Returns an array, say p, that maps a local permuted index i to a local base index: base_i = p[i]. More...
 
virtual const char * Name () const
 
virtual int GetContType () const
 
FiniteElementCollectionGetTraceCollection () const
 
int GetClosedBasisType () const
 
int GetOpenBasisType () const
 
FiniteElementCollectionClone (int p) const
 Instantiate a new collection of the same type with a different order. More...
 
virtual ~RT_FECollection ()
 
- Public Member Functions inherited from mfem::FiniteElementCollection
virtual const FiniteElementFiniteElementForDim (int dim) const
 Returns the first non-NULL FiniteElement for the given dimension. More...
 
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. More...
 
const FiniteElementGetFE (Geometry::Type geom, int p) const
 Variable order version of FiniteElementForGeometry(). More...
 
int GetNumDof (Geometry::Type geom, int p) const
 Variable order version of DofForGeometry(). More...
 
const int * GetDofOrdering (Geometry::Type geom, int p, int ori) const
 Variable order version of DofOrderForOrientation(). More...
 
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. More...
 
virtual int GetRangeType (int dim) const
 
virtual int GetDerivRangeType (int dim) const
 
virtual int GetMapType (int dim) const
 
virtual int GetDerivType (int dim) const
 
virtual int GetDerivMapType (int dim) const
 

Protected Member Functions

void InitFaces (const int p, const int dim, const int map_type, const bool signs)
 
 RT_FECollection (const int p, const int dim, const int map_type, const bool signs, const int ob_type=BasisType::GaussLegendre)
 
- Protected Member Functions inherited from mfem::FiniteElementCollection
 FiniteElementCollection ()
 
 FiniteElementCollection (int p)
 
void InitVarOrder (int p) const
 

Protected Attributes

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

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. More...
 
- Protected Types inherited from mfem::FiniteElementCollection
enum  ErrorMode { RETURN_NULL, RAISE_MFEM_ERROR }
 How to treat errors in FiniteElementForGeometry() calls. More...
 
- 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 H(div)-conforming Raviart-Thomas finite elements.

Definition at line 373 of file fe_coll.hpp.

Constructor & Destructor Documentation

◆ RT_FECollection() [1/2]

mfem::RT_FECollection::RT_FECollection ( const int  p,
const int  dim,
const int  map_type,
const bool  signs,
const int  ob_type = BasisType::GaussLegendre 
)
protected

Definition at line 2453 of file fe_coll.cpp.

◆ RT_FECollection() [2/2]

mfem::RT_FECollection::RT_FECollection ( const int  p,
const int  dim,
const int  cb_type = BasisType::GaussLobatto,
const int  ob_type = BasisType::GaussLegendre 
)

Construct an H(div)-conforming Raviart-Thomas FE collection, RT_p.

The index p corresponds to the space RT_p, as typically denoted in the literature, which contains vector polynomials of degree up to (p+1). For example, the RT_0 collection contains vector-valued linear functions and, in particular, FiniteElementCollection::GetOrder() will, correspondingly, return order 1.

Definition at line 2380 of file fe_coll.cpp.

◆ ~RT_FECollection()

mfem::RT_FECollection::~RT_FECollection ( )
virtual

Definition at line 2638 of file fe_coll.cpp.

Member Function Documentation

◆ Clone()

FiniteElementCollection* mfem::RT_FECollection::Clone ( int  p) const
inlinevirtual

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 418 of file fe_coll.hpp.

◆ DofForGeometry()

virtual int mfem::RT_FECollection::DofForGeometry ( Geometry::Type  GeomType) const
inlinevirtual

Implements mfem::FiniteElementCollection.

Definition at line 407 of file fe_coll.hpp.

◆ DofOrderForOrientation()

const int * mfem::RT_FECollection::DofOrderForOrientation ( Geometry::Type  GeomType,
int  Or 
) const
virtual

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 2603 of file fe_coll.cpp.

◆ FiniteElementForGeometry()

const FiniteElement * mfem::RT_FECollection::FiniteElementForGeometry ( Geometry::Type  GeomType) const
virtual

Implements mfem::FiniteElementCollection.

Definition at line 2588 of file fe_coll.cpp.

◆ GetClosedBasisType()

int mfem::RT_FECollection::GetClosedBasisType ( ) const
inline

Definition at line 415 of file fe_coll.hpp.

◆ GetContType()

virtual int mfem::RT_FECollection::GetContType ( ) const
inlinevirtual

Implements mfem::FiniteElementCollection.

Definition at line 412 of file fe_coll.hpp.

◆ GetOpenBasisType()

int mfem::RT_FECollection::GetOpenBasisType ( ) const
inline

Definition at line 416 of file fe_coll.hpp.

◆ GetTraceCollection()

FiniteElementCollection * mfem::RT_FECollection::GetTraceCollection ( ) const
virtual

Reimplemented from mfem::FiniteElementCollection.

Definition at line 2621 of file fe_coll.cpp.

◆ InitFaces()

void mfem::RT_FECollection::InitFaces ( const int  p,
const int  dim,
const int  map_type,
const bool  signs 
)
protected

Definition at line 2468 of file fe_coll.cpp.

◆ Name()

virtual const char* mfem::RT_FECollection::Name ( ) const
inlinevirtual

Reimplemented from mfem::FiniteElementCollection.

Definition at line 411 of file fe_coll.hpp.

Member Data Documentation

◆ cb_type

int mfem::RT_FECollection::cb_type
protected

Definition at line 377 of file fe_coll.hpp.

◆ dim

int mfem::RT_FECollection::dim
protected

Definition at line 376 of file fe_coll.hpp.

◆ ob_type

int mfem::RT_FECollection::ob_type
protected

Definition at line 378 of file fe_coll.hpp.

◆ QuadDofOrd

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

Definition at line 382 of file fe_coll.hpp.

◆ RT_dof

int mfem::RT_FECollection::RT_dof[Geometry::NumGeom]
protected

Definition at line 381 of file fe_coll.hpp.

◆ RT_Elements

FiniteElement* mfem::RT_FECollection::RT_Elements[Geometry::NumGeom]
protected

Definition at line 380 of file fe_coll.hpp.

◆ rt_name

char mfem::RT_FECollection::rt_name[32]
protected

Definition at line 379 of file fe_coll.hpp.

◆ SegDofOrd

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

Definition at line 382 of file fe_coll.hpp.

◆ TriDofOrd

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

Definition at line 382 of file fe_coll.hpp.


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