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 |