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.
|
This is a constitutive law that reproduces the behaviour of viscous Kelvin material. More...
#include <viscous_generalized_kelvin.h>
Public Member Functions | |
Life Cycle | |
ViscousGeneralizedKelvin () | |
Default constructor. More... | |
ConstitutiveLaw::Pointer | Clone () const override |
Clone. More... | |
ViscousGeneralizedKelvin (const ViscousGeneralizedKelvin &rOther) | |
Copy constructor. More... | |
~ViscousGeneralizedKelvin () override | |
Destructor. More... | |
Operations | |
void | CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of Cauchy stresses and constitutive tensor. More... | |
void | FinalizeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) override |
To be called at the end of each solution step (e.g. from Element::FinalizeSolutionStep) More... | |
void | FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
void | FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
void | FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
void | FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
Vector & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override |
Calculates the value of a specified variable (Vector) More... | |
Matrix & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
Calculates the value of a specified variable (Matrix) More... | |
int | Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override |
This function provides the place to perform checks on the completeness of the input. More... | |
bool | RequiresInitializeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
bool | RequiresFinalizeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
Type Definitions | |
typedef ConstitutiveLaw | CLBaseType |
Definition of the base CL class. More... | |
typedef TElasticBehaviourLaw | BaseType |
Definition of the base class. More... | |
typedef std::size_t | IndexType |
The index definition. More... | |
typedef std::size_t | SizeType |
The size definition. More... | |
typedef Node | NodeType |
The node definition. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry definition. More... | |
static constexpr SizeType | Dimension = TElasticBehaviourLaw::Dimension |
Static definition of the dimension. More... | |
static constexpr SizeType | VoigtSize = TElasticBehaviourLaw::VoigtSize |
Static definition of the VoigtSize. More... | |
static constexpr double | tolerance = std::numeric_limits<double>::epsilon() |
Definition of the machine precision tolerance. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ViscousGeneralizedKelvin) | |
Counted pointer of GenericYieldSurface. More... | |
Un accessible methods | |
class | Serializer |
This is a constitutive law that reproduces the behaviour of viscous Kelvin material.
The definition of the Kelvin-Voigt material can be founf in Wikipedia https://en.wikipedia.org/wiki/Kelvin%E2%80%93Voigt_material The Kelvin–Voigt model, also called the Voigt model, can be represented by a purely viscous damper and purely elastic spring
Spring K |--^^^^--| ----- ------ |---[----| Damper C
TElasticBehaviourLaw | Defines the elastic behaviour of the constitutive law (can be hyperelastic or just linear elastic, or any desired elastic behaviour) |
typedef TElasticBehaviourLaw Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::BaseType |
Definition of the base class.
typedef ConstitutiveLaw Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::CLBaseType |
Definition of the base CL class.
typedef Geometry<NodeType> Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::GeometryType |
The geometry definition.
typedef std::size_t Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::IndexType |
The index definition.
typedef Node Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::NodeType |
The node definition.
typedef std::size_t Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::SizeType |
The size definition.
Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::ViscousGeneralizedKelvin |
Default constructor.
Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::ViscousGeneralizedKelvin | ( | const ViscousGeneralizedKelvin< TElasticBehaviourLaw > & | rOther | ) |
Copy constructor.
|
override |
Destructor.
|
override |
Computes the material response in terms of Cauchy stresses and constitutive tensor.
|
override |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor.
|
override |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor.
|
override |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor.
|
override |
Calculates the value of a specified variable (Matrix)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
|
override |
Calculates the value of a specified variable (Vector)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
|
override |
This function provides the place to perform checks on the completeness of the input.
It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.
rMaterialProperties | The properties of the material |
rElementGeometry | The geometry of the element |
rCurrentProcessInfo | The current process info instance |
|
override |
Clone.
|
override |
Finalize the material response in terms of Cauchy stresses
|
override |
Finalize the material response in terms of Kirchhoff stresses
|
override |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses
|
override |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses
|
override |
To be called at the end of each solution step (e.g. from Element::FinalizeSolutionStep)
rMaterialProperties | the Properties instance of the current element |
rElementGeometry | the geometry of the current element |
rShapeFunctionsValues | the shape functions values in the current integration point |
the | current ProcessInfo instance |
Kratos::ViscousGeneralizedKelvin< TElasticBehaviourLaw >::KRATOS_CLASS_POINTER_DEFINITION | ( | ViscousGeneralizedKelvin< TElasticBehaviourLaw > | ) |
Counted pointer of GenericYieldSurface.
|
inlineoverride |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
|
inlineoverride |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
|
friend |
|
staticconstexpr |
Static definition of the dimension.
|
staticconstexpr |
Definition of the machine precision tolerance.
|
staticconstexpr |
Static definition of the VoigtSize.