#include "b2degrees_of_freedom.H"
Public Member Functions | |
virtual int | get_number_of_dof () const |
virtual size_t | set_global_dof_numbering (size_t index) |
virtual std::pair< size_t, size_t > | get_global_dof_numbering () const |
![]() | |
virtual const std::string & | get_object_name () const |
virtual | ~Object () |
Additional Inherited Members | |
![]() | |
static ObjectType | type |
Abstract class defining an interface for entities containing degrees-of-freedom (dof's). The purpose is to establish a numbering scheme for all dof's present in a Finite Element model. Derived classes need to override only the pure virtual functions.
Entities containing degrees-of-freedom are typically Node and Element instances. Node instances define e.g. displacement and/or rotation degrees-of-freedom, while Element instances may define element-internal degrees-of-freedom, such as incompatible modes.
The degrees-of-freedom belonging to an entity are sequentially arranged in the global solution vector: If the number of dof's of an entity is n, and i is the index into the global solution vector for the first dof, then the global numbering is [i, i + 1, i + 2, ..., i + (n - 1)]. The start index for the next entity is j = i + n, thus, the global numbering for the next entity is [j, j + 1, ..., j + (m - 1)], with m being the number of dof's of the next entity.
This numbering scheme applies not only to the global solution vector, but to any global vectorial and tensorial quantities (e.g. global vector of internal forces, global stiffness matrix, global constraint equations, etc.).
|
inlinevirtual |
The variable internal_dof_index is a member of the element class and was set in set_global_dof_numbering().
Reimplemented in b2000::SuperElement< T, MATRIX_TYPE >, b2000::ElementCFDHeat2DFieldL2Constant< FLUX, AXISYMMETRIC >, and b2000::Element.
|
inlinevirtual |
A Finite Element with 4 internal dof's would return 4.
Reimplemented in b2000::SuperElement< T, MATRIX_TYPE >, b2000::ElementCFDHeat2DFieldL2Constant< FLUX, AXISYMMETRIC >, and b2000::Element.
|
inlinevirtual |
Set the global degree-of-freedom numbers of the degrees-of-freedom belonging to the entity.
index | The index into the global solution vector of the first degree-of-freedom of the entity. |
A Finite Element with 4 internal dof's:
The variable internal_dof_index is a member of the element class.
Reimplemented in b2000::SuperElement< T, MATRIX_TYPE >, b2000::ElementCFDHeat2DFieldL2Constant< FLUX, AXISYMMETRIC >, and b2000::Element.