![]() |
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Dof represents a degree of freedom (DoF). More...
#include <dof.h>
Public Types | |
Type Definitions | |
| using | Pointer = Dof * |
| Pointer definition of Dof. More... | |
| typedef std::size_t | IndexType |
| typedef std::size_t | EquationIdType |
| typedef VariablesListDataValueContainer | SolutionStepsDataContainerType |
Public Member Functions | |
Life Cycle | |
| template<class TVariableType > | |
| Dof (NodalData *pThisNodalData, const TVariableType &rThisVariable) | |
| template<class TVariableType , class TReactionType > | |
| Dof (NodalData *pThisNodalData, const TVariableType &rThisVariable, const TReactionType &rThisReaction) | |
| Dof () | |
| Dof (Dof const &rOther) | |
| Copy constructor. More... | |
| ~Dof () | |
| Destructor. More... | |
Operators | |
| Dof & | operator= (Dof const &rOther) |
| Assignment operator. More... | |
| template<class TVariableType > | |
| TVariableType::Type & | operator() (const TVariableType &rThisVariable, IndexType SolutionStepIndex=0) |
| template<class TVariableType > | |
| TVariableType::Type const & | operator() (const TVariableType &rThisVariable, IndexType SolutionStepIndex=0) const |
| TDataType & | operator() (IndexType SolutionStepIndex=0) |
| TDataType const & | operator() (IndexType SolutionStepIndex=0) const |
| TDataType & | operator[] (IndexType SolutionStepIndex) |
| TDataType const & | operator[] (IndexType SolutionStepIndex) const |
Operations | |
| TDataType & | GetSolutionStepValue (IndexType SolutionStepIndex=0) |
| TDataType const & | GetSolutionStepValue (IndexType SolutionStepIndex=0) const |
| template<class TVariableType > | |
| TVariableType::Type & | GetSolutionStepValue (const TVariableType &rThisVariable, IndexType SolutionStepIndex=0) |
| template<class TVariableType > | |
| TVariableType::Type const & | GetSolutionStepValue (const TVariableType &rThisVariable, IndexType SolutionStepIndex=0) const |
| TDataType & | GetSolutionStepReactionValue (IndexType SolutionStepIndex=0) |
| TDataType const & | GetSolutionStepReactionValue (IndexType SolutionStepIndex=0) const |
Access | |
| IndexType | Id () const |
| IndexType | GetId () const |
| const VariableData & | GetVariable () const |
| const VariableData & | GetReaction () const |
| template<class TReactionType > | |
| void | SetReaction (TReactionType const &rReaction) |
| EquationIdType | EquationId () const |
| void | SetEquationId (EquationIdType NewEquationId) |
| void | FixDof () |
| void | FreeDof () |
| SolutionStepsDataContainerType * | GetSolutionStepsData () |
| void | SetNodalData (NodalData *pNewNodalData) |
| bool | HasReaction () const |
Inquiry | |
| bool | IsFixed () const |
| bool | IsFree () const |
Input and output | |
| std::string | Info () const |
| Turn back information as a string. More... | |
| void | PrintInfo (std::ostream &rOStream) const |
| Print information about this object. More... | |
| void | PrintData (std::ostream &rOStream) const |
| Print object's data. More... | |
Serialization | |
| class | Serializer |
Dof represents a degree of freedom (DoF).
It is a lightweight object which holds its variable, like TEMPERATURE, its state of freedom, and a reference to its value in the data structure. This class enables the system to work with different set of dofs and also represents the Dirichlet condition assigned to each dof.
| typedef std::size_t Kratos::Dof< TDataType >::EquationIdType |
| typedef std::size_t Kratos::Dof< TDataType >::IndexType |
| using Kratos::Dof< TDataType >::Pointer = Dof* |
Pointer definition of Dof.
| typedef VariablesListDataValueContainer Kratos::Dof< TDataType >::SolutionStepsDataContainerType |
|
inline |
Constructor. This constructor takes all necessary information to construct a degree of freedom. Also default values are used to make it easier to define for simple cases.
| rThisVariable | Variable which this degree of freedom holds. This variable considered as unknown of problem to solved and fixing by Fix() method also applied to it. It must be a TDataType variable or component not a vector. For example DISPLACEMENT_X in structural element. |
|
inline |
Constructor. This constructor takes the same input as the previous one, but add the reaction on the DoF declaration
| rThisVariable | Variable which this degree of freedom holds. This variable considered as unknown of problem to solved and fixing by Fix() method also applied to it. It must be a TDataType variable or component not a vector. For example DISPLACEMENT_X in structural element. |
| rThisReaction | This is the right hand side variable in the system of equation correspounding to variable this dof holding. For example THERMAL_FLOW in thermal element. It will be none as default. |
|
inline |
|
inline |
Copy constructor.
|
inline |
Destructor.
|
inline |
Return the Equation Id related to this degree eof freedom.
|
inline |
Fixes the Dof
|
inline |
Frees the degree of freedom
|
inline |
|
inline |
Returns reaction variable of this degree of freedom.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns variable assigned to this degree of freedom.
|
inline |
|
inline |
|
inline |
Turn back information as a string.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Assignment operator.
|
inline |
|
inline |
|
inline |
Print object's data.
|
inline |
Print information about this object.
|
inline |
Sets the Equation Id to the desired value
|
inline |
|
inline |
|
friend |