FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Space::ElementBase< Trafo_ > Class Template Reference

Finite-Element base class. More...

#include <element_base.hpp>

Inheritance diagram for FEAT::Space::ElementBase< Trafo_ >:
FEAT::Space::Argyris::Element< Trafo_ > FEAT::Space::Bernstein2::Element< Trafo_ > FEAT::Space::BognerFoxSchmit::Element< Trafo_ > FEAT::Space::CaiDouSanSheYe::Element< Trafo_ > FEAT::Space::CroRavRanTur::Element< Trafo_ > FEAT::Space::Discontinuous::Element< Trafo_, Variant_ > FEAT::Space::Hermite3::Element< Trafo_ > FEAT::Space::Lagrange1::Element< Trafo_ > FEAT::Space::Lagrange2::Element< Trafo_ > FEAT::Space::Lagrange3::Element< Trafo_ > FEAT::Space::P2Bubble::Element< Trafo_ > FEAT::Space::Q1TBNP::Element< Trafo_ >

Classes

class  DofAssignment
 Dof-Assignment class wrapper template. More...
 
class  Evaluator
 Space evaluator class wrapper template. More...
 
class  NodeFunctional
 Node-Functional class wrapper template. More...
 

Public Types

typedef TrafoType::MeshType MeshType
 mesh type More...
 
typedef TrafoType::ShapeType ShapeType
 shape type More...
 
typedef Trafo_ TrafoType
 transformation type More...
 

Public Member Functions

MeshTypeget_mesh ()
 Returns a reference to the underlying mesh. More...
 
const MeshTypeget_mesh () const
 Returns a reference to the underlying mesh. More...
 
Index get_num_dofs () const
 Returns the number of dofs. More...
 
TrafoTypeget_trafo ()
 Returns a reference to the trafo. More...
 
const TrafoTypeget_trafo () const
 Returns a reference to the trafo. More...
 
String name () const
 Returns the name of the element.
 
bool operator== (const ElementBase &other) const
 Comparison operator. More...
 

Public Attributes

typedef DofMappingType
 Dof-Mapping class. More...
 

Static Public Attributes

static constexpr bool have_node_func = false
 
static constexpr int local_degree = ...
 Local Polynomial degree count. More...
 
static constexpr int shape_dim = ShapeType::dimension
 shape dimension More...
 
static constexpr int world_dim = MeshType::world_dim
 our image/world dimension More...
 

Protected Member Functions

 ElementBase (TrafoType &trafo)
 Constructor. More...
 

Protected Attributes

TrafoType_trafo
 transformation reference More...
 

Private Member Functions

 ElementBase (const ElementBase &)
 deleted copy-constructor
 
ElementBaseoperator= (const ElementBase &)
 deleted assignment-operator
 

Detailed Description

template<typename Trafo_>
class FEAT::Space::ElementBase< Trafo_ >

Finite-Element base class.

This class acts as a base class for Finite-Element container implementations.

Author
Peter Zajac

Definition at line 24 of file element_base.hpp.

Member Typedef Documentation

◆ MeshType

template<typename Trafo_ >
typedef TrafoType::MeshType FEAT::Space::ElementBase< Trafo_ >::MeshType

mesh type

Definition at line 30 of file element_base.hpp.

◆ ShapeType

template<typename Trafo_ >
typedef TrafoType::ShapeType FEAT::Space::ElementBase< Trafo_ >::ShapeType

shape type

Definition at line 32 of file element_base.hpp.

◆ TrafoType

template<typename Trafo_ >
typedef Trafo_ FEAT::Space::ElementBase< Trafo_ >::TrafoType

transformation type

Definition at line 28 of file element_base.hpp.

Constructor & Destructor Documentation

◆ ElementBase()

template<typename Trafo_ >
FEAT::Space::ElementBase< Trafo_ >::ElementBase ( TrafoType trafo)
inlineexplicitprotected

Constructor.

Parameters
[in]trafoA resident reference to the transformation which is to be used by this space.
Note
This constructor is protected so that it can only be called from a derived class.

Definition at line 161 of file element_base.hpp.

Member Function Documentation

◆ get_mesh() [1/2]

◆ get_mesh() [2/2]

template<typename Trafo_ >
const MeshType & FEAT::Space::ElementBase< Trafo_ >::get_mesh ( ) const
inline

Returns a reference to the underlying mesh.

Returns
A (const) reference to the mesh used by this space.

Definition at line 196 of file element_base.hpp.

References FEAT::Space::ElementBase< Trafo_ >::get_trafo().

◆ get_num_dofs()

template<typename Trafo_ >
Index FEAT::Space::ElementBase< Trafo_ >::get_num_dofs ( ) const

Returns the number of dofs.

Returns
The total number of global degrees of freedom for the patch.

◆ get_trafo() [1/2]

template<typename Trafo_ >
TrafoType & FEAT::Space::ElementBase< Trafo_ >::get_trafo ( )
inline

◆ get_trafo() [2/2]

template<typename Trafo_ >
const TrafoType & FEAT::Space::ElementBase< Trafo_ >::get_trafo ( ) const
inline

Returns a reference to the trafo.

Returns
A (const) reference to the transformation used by this space.

Definition at line 179 of file element_base.hpp.

References FEAT::Space::ElementBase< Trafo_ >::_trafo.

◆ operator==()

template<typename Trafo_ >
bool FEAT::Space::ElementBase< Trafo_ >::operator== ( const ElementBase< Trafo_ > &  other) const
inline

Comparison operator.

This operator checks whether two element objects are equal.

Returns
true, if this this and other name the same object, otherwise false.

Definition at line 209 of file element_base.hpp.

Member Data Documentation

◆ _trafo

template<typename Trafo_ >
TrafoType& FEAT::Space::ElementBase< Trafo_ >::_trafo
protected

transformation reference

Definition at line 151 of file element_base.hpp.

Referenced by FEAT::Space::ElementBase< Trafo_ >::get_trafo().

◆ DofMappingType

template<typename Trafo_ >
typedef FEAT::Space::ElementBase< Trafo_ >::DofMappingType

Dof-Mapping class.

Definition at line 85 of file element_base.hpp.

◆ have_node_func

template<typename Trafo_ >
constexpr bool FEAT::Space::ElementBase< Trafo_ >::have_node_func = false
staticconstexpr

Definition at line 45 of file element_base.hpp.

◆ local_degree

template<typename Trafo_ >
constexpr int FEAT::Space::ElementBase< Trafo_ >::local_degree = ...
staticconstexpr

Local Polynomial degree count.

This constant describes the maximum local polynomial degree of the element. This may be used, e.g. for automated determination of appropriate cubature rules.

Please note that for Simplex elements, 'degree' refers to the P_k spaces, whereas for Hypercube elements, 'degree' refers to the Q_k spaces.

Definition at line 80 of file element_base.hpp.

◆ shape_dim

template<typename Trafo_ >
constexpr int FEAT::Space::ElementBase< Trafo_ >::shape_dim = ShapeType::dimension
staticconstexpr

shape dimension

Definition at line 35 of file element_base.hpp.

◆ world_dim

template<typename Trafo_ >
constexpr int FEAT::Space::ElementBase< Trafo_ >::world_dim = MeshType::world_dim
staticconstexpr

our image/world dimension

Definition at line 37 of file element_base.hpp.


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