MFEM v4.8.0
Finite element discretization library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
mfem::NURBSFECollection Class Reference

Arbitrary order non-uniform rational B-splines (NURBS) finite elements. More...

#include <fe_coll.hpp>

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

Public Types

enum  { VariableOrder = -1 }
 
- Public Types inherited from mfem::FiniteElementCollection
enum  { CONTINUOUS , TANGENTIAL , NORMAL , DISCONTINUOUS }
 Enumeration for ContType: defines the continuity of the field across element interfaces. More...
 

Public Member Functions

 NURBSFECollection (int Order=VariableOrder)
 The parameter Order must be either a positive number, for fixed order, or VariableOrder (default).
 
virtual void Reset () const
 
virtual void SetDim (const int dim)
 
int GetOrder () const
 Get the order of the NURBS collection: either a positive number, when using fixed order, or VariableOrder.
 
virtual void SetOrder (int Order) const
 Set the order and the name, based on the given Order: either a positive number for fixed order, or VariableOrder.
 
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
 
FiniteElementCollectionGetTraceCollection () const override
 
virtual ~NURBSFECollection ()
 
- 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().
 
const FiniteElementGetTraceFE (Geometry::Type geom, int p) const
 Variable order version of TraceFiniteElementForGeometry().
 
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.
 
virtual FiniteElementCollectionClone (int p) const
 Instantiate a new collection of the same type with a different order.
 
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

PointFiniteElementPointFE
 
NURBS1DFiniteElementSegmentFE
 
NURBS2DFiniteElementQuadrilateralFE
 
NURBS3DFiniteElementParallelepipedFE
 
int mOrder
 
char name [16]
 
- 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

- 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 non-uniform rational B-splines (NURBS) finite elements.

Definition at line 698 of file fe_coll.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
VariableOrder 

Definition at line 715 of file fe_coll.hpp.

Constructor & Destructor Documentation

◆ NURBSFECollection()

mfem::NURBSFECollection::NURBSFECollection ( int Order = VariableOrder)
explicit

The parameter Order must be either a positive number, for fixed order, or VariableOrder (default).

Definition at line 3502 of file fe_coll.cpp.

◆ ~NURBSFECollection()

mfem::NURBSFECollection::~NURBSFECollection ( )
virtual

Definition at line 3527 of file fe_coll.cpp.

Member Function Documentation

◆ DofForGeometry()

int mfem::NURBSFECollection::DofForGeometry ( Geometry::Type GeomType) const
overridevirtual

Implements mfem::FiniteElementCollection.

Definition at line 3551 of file fe_coll.cpp.

◆ DofOrderForOrientation()

const int * mfem::NURBSFECollection::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 3557 of file fe_coll.cpp.

◆ FiniteElementForGeometry()

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

Implements mfem::FiniteElementCollection.

Definition at line 3536 of file fe_coll.cpp.

◆ GetContType()

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

Implements mfem::FiniteElementCollection.

Definition at line 749 of file fe_coll.hpp.

◆ GetOrder()

int mfem::NURBSFECollection::GetOrder ( ) const
inline

Get the order of the NURBS collection: either a positive number, when using fixed order, or VariableOrder.

Note
Not to be confused with FiniteElementCollection::GetOrder().

Definition at line 733 of file fe_coll.hpp.

◆ GetTraceCollection()

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

Reimplemented from mfem::FiniteElementCollection.

Definition at line 3564 of file fe_coll.cpp.

◆ Name()

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

Reimplemented from mfem::FiniteElementCollection.

Definition at line 747 of file fe_coll.hpp.

◆ Reset()

virtual void mfem::NURBSFECollection::Reset ( ) const
inlinevirtual

Reimplemented in mfem::NURBS_HCurlFECollection, and mfem::NURBS_HDivFECollection.

Definition at line 721 of file fe_coll.hpp.

◆ SetDim()

virtual void mfem::NURBSFECollection::SetDim ( const int dim)
inlinevirtual

Reimplemented in mfem::NURBS_HCurlFECollection, and mfem::NURBS_HDivFECollection.

Definition at line 728 of file fe_coll.hpp.

◆ SetOrder()

void mfem::NURBSFECollection::SetOrder ( int Order) const
virtual

Set the order and the name, based on the given Order: either a positive number for fixed order, or VariableOrder.

Reimplemented in mfem::NURBS_HCurlFECollection, and mfem::NURBS_HDivFECollection.

Definition at line 3514 of file fe_coll.cpp.

Member Data Documentation

◆ mOrder

int mfem::NURBSFECollection::mOrder
mutableprotected

Definition at line 706 of file fe_coll.hpp.

◆ name

char mfem::NURBSFECollection::name[16]
mutableprotected

Definition at line 712 of file fe_coll.hpp.

◆ ParallelepipedFE

NURBS3DFiniteElement* mfem::NURBSFECollection::ParallelepipedFE
protected

Definition at line 704 of file fe_coll.hpp.

◆ PointFE

PointFiniteElement* mfem::NURBSFECollection::PointFE
protected

Definition at line 701 of file fe_coll.hpp.

◆ QuadrilateralFE

NURBS2DFiniteElement* mfem::NURBSFECollection::QuadrilateralFE
protected

Definition at line 703 of file fe_coll.hpp.

◆ SegmentFE

NURBS1DFiniteElement* mfem::NURBSFECollection::SegmentFE
protected

Definition at line 702 of file fe_coll.hpp.


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