MFEM  v4.3.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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
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...
 

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
 

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

Constructor & Destructor Documentation

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

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

mfem::RT_FECollection::~RT_FECollection ( )
virtual

Definition at line 2470 of file fe_coll.cpp.

Member Function Documentation

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

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

Implements mfem::FiniteElementCollection.

Definition at line 376 of file fe_coll.hpp.

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

Implements mfem::FiniteElementCollection.

Definition at line 2436 of file fe_coll.cpp.

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

Implements mfem::FiniteElementCollection.

Definition at line 373 of file fe_coll.hpp.

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

Definition at line 384 of file fe_coll.hpp.

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

Implements mfem::FiniteElementCollection.

Definition at line 381 of file fe_coll.hpp.

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

Definition at line 385 of file fe_coll.hpp.

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

Reimplemented from mfem::FiniteElementCollection.

Definition at line 2454 of file fe_coll.cpp.

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

Definition at line 2317 of file fe_coll.cpp.

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

Reimplemented from mfem::FiniteElementCollection.

Definition at line 380 of file fe_coll.hpp.

Member Data Documentation

int mfem::RT_FECollection::cb_type
protected

Definition at line 345 of file fe_coll.hpp.

int mfem::RT_FECollection::dim
protected

Definition at line 344 of file fe_coll.hpp.

int mfem::RT_FECollection::ob_type
protected

Definition at line 346 of file fe_coll.hpp.

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

Definition at line 350 of file fe_coll.hpp.

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

Definition at line 349 of file fe_coll.hpp.

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

Definition at line 348 of file fe_coll.hpp.

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

Definition at line 347 of file fe_coll.hpp.

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

Definition at line 350 of file fe_coll.hpp.

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

Definition at line 350 of file fe_coll.hpp.


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