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 class is the base class which define all the constitutive laws for damage in small deformation. More...
#include <generic_small_strain_isotropic_damage.h>
Public Member Functions | |
Life Cycle | |
GenericSmallStrainIsotropicDamage () | |
ConstitutiveLaw::Pointer | Clone () const override |
GenericSmallStrainIsotropicDamage (const GenericSmallStrainIsotropicDamage &rOther) | |
~GenericSmallStrainIsotropicDamage () override | |
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 | InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override |
This is to be called at the very beginning of the calculation. More... | |
void | FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses. More... | |
void | FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses. More... | |
void | FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Finalize the material response in terms of Kirchhoff stresses. More... | |
void | FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
bool | Has (const Variable< double > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (double) More... | |
bool | Has (const Variable< Vector > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (Vector) More... | |
bool | Has (const Variable< Matrix > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (Matrix) More... | |
void | SetValue (const Variable< double > &rThisVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (double) More... | |
void | SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (Vector) More... | |
double & | GetValue (const Variable< double > &rThisVariable, double &rValue) override |
Returns the value of a specified variable (double) More... | |
Vector & | GetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override |
Returns the value of a specified variable (Vector) More... | |
bool | RequiresFinalizeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
bool | RequiresInitializeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
double & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override |
Returns the value of a specified variable (double) More... | |
Vector & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override |
Returns the value of a specified variable (vector) More... | |
Matrix & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
Returns 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... | |
void | CalculateTangentTensor (ConstitutiveLaw::Parameters &rValues) |
This method computes the tangent tensor. More... | |
Protected Member Functions | |
Protected Operations | |
double & | GetThreshold () |
double & | GetDamage () |
void | SetThreshold (const double toThreshold) |
void | SetDamage (const double toDamage) |
Type Definitions | |
typedef std::conditional< VoigtSize==6, ElasticIsotropic3D, LinearPlaneStrain >::type | BaseType |
Definition of the base class. More... | |
typedef array_1d< double, VoigtSize > | BoundedArrayType |
typedef Node | NodeType |
The node definition. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry definition. More... | |
static constexpr SizeType | Dimension = TConstLawIntegratorType::Dimension |
The define the working dimension size, already defined in the integrator. More... | |
static constexpr SizeType | VoigtSize = TConstLawIntegratorType::VoigtSize |
The define the Voigt size, already defined in the integrator. More... | |
static constexpr double | tolerance = std::numeric_limits<double>::epsilon() |
Definition of the machine precision tolerance. More... | |
static constexpr double | threshold_tolerance = 1.0e-5 |
KRATOS_CLASS_POINTER_DEFINITION (GenericSmallStrainIsotropicDamage) | |
Counted pointer of GenericYieldSurface. More... | |
Un accessible methods | |
class | Serializer |
This class is the base class which define all the constitutive laws for damage in small deformation.
This class considers a constitutive law integrator as an intermediate utility to compute the damage
TConstLawIntegratorType | The constitutive law integrator considered |
typedef std::conditional<VoigtSize == 6, ElasticIsotropic3D, LinearPlaneStrain >::type Kratos::GenericSmallStrainIsotropicDamage< TConstLawIntegratorType >::BaseType |
Definition of the base class.
typedef array_1d<double, VoigtSize> Kratos::GenericSmallStrainIsotropicDamage< TConstLawIntegratorType >::BoundedArrayType |
typedef Geometry<NodeType> Kratos::GenericSmallStrainIsotropicDamage< TConstLawIntegratorType >::GeometryType |
The geometry definition.
typedef Node Kratos::GenericSmallStrainIsotropicDamage< TConstLawIntegratorType >::NodeType |
The node definition.
|
inline |
Default constructor.
|
inline |
Copy constructor.
|
inlineoverride |
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.
void Kratos::GenericSmallStrainIsotropicDamage< TConstLawIntegratorType >::CalculateTangentTensor | ( | ConstitutiveLaw::Parameters & | rValues | ) |
This method computes the tangent tensor.
rValues | The constitutive law parameters and flags |
|
override |
Returns the value of a specified variable (double)
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 |
Returns 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 |
Returns 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 |
|
inlineoverride |
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.
|
inlineprotected |
|
inlineprotected |
|
override |
Returns the value of a specified variable (double)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
|
override |
Returns the value of a specified variable (Vector)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
|
override |
Returns whether this constitutive Law has specified variable (double)
rThisVariable | the variable to be checked for |
|
override |
Returns whether this constitutive Law has specified variable (Matrix)
rThisVariable | the variable to be checked for |
|
override |
Returns whether this constitutive Law has specified variable (Vector)
rThisVariable | the variable to be checked for |
|
override |
This is to be called at the very beginning of the calculation.
(e.g. from InitializeElement) in order to initialize all relevant attributes of the constitutive law
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 |
Kratos::GenericSmallStrainIsotropicDamage< TConstLawIntegratorType >::KRATOS_CLASS_POINTER_DEFINITION | ( | GenericSmallStrainIsotropicDamage< TConstLawIntegratorType > | ) |
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.
|
inlineprotected |
|
inlineprotected |
|
override |
Sets the value of a specified variable (double)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
|
override |
Sets the value of a specified variable (Vector)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
|
friend |
|
staticconstexpr |
The define the working dimension size, already defined in the integrator.
|
staticconstexpr |
|
staticconstexpr |
Definition of the machine precision tolerance.
|
staticconstexpr |
The define the Voigt size, already defined in the integrator.