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 object integrates the predictive stress using the isotropic damage theory by means of linear/exponential softening. More...
#include <generic_cl_integrator_damage.h>
Static Public Member Functions | |
Operations | |
static void | IntegrateStressVector (array_1d< double, VoigtSize > &rPredictiveStressVector, const double UniaxialStress, double &rDamage, double &rThreshold, ConstitutiveLaw::Parameters &rValues, const double CharacteristicLength) |
This method integrates the predictive stress vector with the CL using linear or exponential softening. More... | |
static void | CalculateExponentialDamage (const double UniaxialStress, const double Threshold, const double DamageParameter, const double CharacteristicLength, ConstitutiveLaw::Parameters &rValues, double &rDamage) |
This computes the damage variable according to exponential softening. More... | |
static void | CalculateHardeningDamage (const double UniaxialStress, const double Threshold, const double DamageParameter, const double CharacteristicLength, ConstitutiveLaw::Parameters &rValues, double &rDamage) |
This computes the damage variable according to parabolic hardening and exponential softening. More... | |
static void | CalculateLinearDamage (const double UniaxialStress, const double Threshold, const double DamageParameter, const double CharacteristicLength, ConstitutiveLaw::Parameters &rValues, double &rDamage) |
This computes the damage variable according to linear softening. More... | |
static void | CalculateCurveFittingDamage (const double UniaxialStress, const double Threshold, const double DamageParameter, const double CharacteristicLength, ConstitutiveLaw::Parameters &rValues, double &rDamage) |
This computes the damage variable according to a two region curve: More... | |
static void | GetInitialUniaxialThreshold (ConstitutiveLaw::Parameters &rValues, double &rInitialThreshold) |
This method returns the initial uniaxial stress threshold. More... | |
static int | Check (const Properties &rMaterialProperties) |
This method defines in the CL integrator. More... | |
static void | CalculateYieldSurfaceDerivative (const array_1d< double, VoigtSize > &rStressVector, array_1d< double, VoigtSize > &rYieldDerivative, ConstitutiveLaw::Parameters &rValues) |
This method returns the derivative of the yield surface. More... | |
Type Definitions | |
typedef TYieldSurfaceType | YieldSurfaceType |
The type of yield surface. More... | |
typedef YieldSurfaceType::PlasticPotentialType | PlasticPotentialType |
The type of plastic potential. More... | |
static constexpr SizeType | Dimension = YieldSurfaceType::Dimension |
The define the working dimension size, already defined in the yield surface. More... | |
static constexpr SizeType | VoigtSize = YieldSurfaceType::VoigtSize |
The define the Voigt size, already defined in the yield surface. More... | |
KRATOS_CLASS_POINTER_DEFINITION (GenericConstitutiveLawIntegratorDamage) | |
Counted pointer of GenericConstitutiveLawIntegratorDamage. More... | |
GenericConstitutiveLawIntegratorDamage () | |
Initialization constructor. More... | |
GenericConstitutiveLawIntegratorDamage (GenericConstitutiveLawIntegratorDamage const &rOther) | |
Copy constructor. More... | |
GenericConstitutiveLawIntegratorDamage & | operator= (GenericConstitutiveLawIntegratorDamage const &rOther) |
Assignment operator. More... | |
virtual | ~GenericConstitutiveLawIntegratorDamage () |
Destructor. More... | |
: This object integrates the predictive stress using the isotropic damage theory by means of linear/exponential softening.
The definitions of these classes is completely static, the derivation is done in a static way The damage integrator requires the definition of the following properties:
TYieldSurfaceType | The yield surface considered |
typedef YieldSurfaceType::PlasticPotentialType Kratos::GenericConstitutiveLawIntegratorDamage< TYieldSurfaceType >::PlasticPotentialType |
The type of plastic potential.
typedef TYieldSurfaceType Kratos::GenericConstitutiveLawIntegratorDamage< TYieldSurfaceType >::YieldSurfaceType |
The type of yield surface.
|
inline |
Initialization constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inlinestatic |
This computes the damage variable according to a two region curve:
UniaxialStress | The equivalent uniaxial stress |
Threshold | The maximum uniaxial stress achieved previously |
rDamage | The internal variable of the damage model |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This computes the damage variable according to exponential softening.
UniaxialStress | The equivalent uniaxial stress |
Threshold | The maximum uniaxial stress achieved previously |
rDamage | The internal variable of the damage model |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This computes the damage variable according to parabolic hardening and exponential softening.
UniaxialStress | The equivalent uniaxial stress |
Threshold | The maximum uniaxial stress achieved previously |
rDamage | The internal variable of the damage model |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This computes the damage variable according to linear softening.
UniaxialStress | The equivalent uniaxial stress |
Threshold | The maximum uniaxial stress achieved previously |
rDamage | The internal variable of the damage model |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the derivative of the yield surface.
rStressVector | The stress vector |
rYieldDerivative | The derivative of the yield surface |
|
inlinestatic |
This method defines in the CL integrator.
|
inlinestatic |
This method returns the initial uniaxial stress threshold.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method integrates the predictive stress vector with the CL using linear or exponential softening.
PredictiveStressVector | The predictive stress vector |
UniaxialStress | The equivalent uniaxial stress |
Damage | The internal variable of the damage model |
Threshold | The maximum uniaxial stress achieved previously |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
Kratos::GenericConstitutiveLawIntegratorDamage< TYieldSurfaceType >::KRATOS_CLASS_POINTER_DEFINITION | ( | GenericConstitutiveLawIntegratorDamage< TYieldSurfaceType > | ) |
Counted pointer of GenericConstitutiveLawIntegratorDamage.
|
inline |
Assignment operator.
|
staticconstexpr |
The define the working dimension size, already defined in the yield surface.
|
staticconstexpr |
The define the Voigt size, already defined in the yield surface.