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 defines a yield surface according to Modified Mohr-Coulumb theory. More...
#include <thermal_modified_mohr_coulomb_yield_surface.h>
Public Member Functions | |
Life Cycle | |
ThermalModifiedMohrCoulombYieldSurface () | |
Initialization constructor. More... | |
ThermalModifiedMohrCoulombYieldSurface (ThermalModifiedMohrCoulombYieldSurface const &rOther) | |
Copy constructor. More... | |
ThermalModifiedMohrCoulombYieldSurface & | operator= (ThermalModifiedMohrCoulombYieldSurface const &rOther) |
Assignment operator. More... | |
virtual | ~ThermalModifiedMohrCoulombYieldSurface () |
Destructor. More... | |
Static Public Member Functions | |
Operations | |
static void | CalculateEquivalentStress (const array_1d< double, VoigtSize > &rStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress. More... | |
static void | GetInitialUniaxialThreshold (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold. More... | |
static void | CalculatePlasticPotentialDerivative (const array_1d< double, VoigtSize > &rStressVector, const array_1d< double, VoigtSize > &rDeviator, const double J2, array_1d< double, VoigtSize > &GFlux, ConstitutiveLaw::Parameters &rValues) |
This method calculates the derivative of the plastic potential DG/DS. More... | |
static void | CalculateDamageParameter (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateYieldSurfaceDerivative (const array_1d< double, VoigtSize > &rStressVector, const array_1d< double, VoigtSize > &rDeviator, const double J2, array_1d< double, VoigtSize > &rFFlux, ConstitutiveLaw::Parameters &rValues) |
This script calculates the derivatives of the Yield Surf according to NAYAK-ZIENKIEWICZ paper International journal for numerical methods in engineering vol 113-135 1972. As: DF/DS = c1*V1 + c2*V2 + c3*V3. More... | |
static int | Check (const Properties &rMaterialProperties) |
This method defines the check to be performed in the yield surface. More... | |
static bool | IsWorkingWithTensionThreshold () |
This method returns true if the yield surfacecompares with the tension tield stress. More... | |
static double | GetScaleFactorTension (const Properties &rMaterialProperties) |
This method returns the scaling factor of the yield surface surfacecompares with the tension tield stress. More... | |
Type Definitions | |
using | PlasticPotentialType = TPlasticPotentialType |
The type of potential plasticity. More... | |
using | BaseType = ModifiedMohrCoulombYieldSurface< TPlasticPotentialType > |
using | AdvCLutils = AdvancedConstitutiveLawUtilities< VoigtSize > |
Advanced contitutive laws utilities for the corresponding Voigt size. More... | |
static constexpr SizeType | Dimension = PlasticPotentialType::Dimension |
The Plastic potential already defines the working simension size. More... | |
static constexpr SizeType | VoigtSize = PlasticPotentialType::VoigtSize |
The Plastic potential already defines the Voigt size. More... | |
static constexpr double | tolerance = std::numeric_limits<double>::epsilon() |
The machine precision zero tolerance. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ThermalModifiedMohrCoulombYieldSurface) | |
Counted pointer of ThermalModifiedMohrCoulombYieldSurface. More... | |
This class defines a yield surface according to Modified Mohr-Coulumb theory.
The Mohr–Coulomb yield (failure) criterion is similar to the Tresca criterion, with additional provisions for materials with different tensile and compressive yield strengths. This model is often used to model concrete, soil or granular materials. This is a modified version of the criteria The yield surface requires the definition of the following properties:
TPlasticPotentialType | The plastic potential considered |
using Kratos::ThermalModifiedMohrCoulombYieldSurface< TPlasticPotentialType >::AdvCLutils = AdvancedConstitutiveLawUtilities<VoigtSize> |
Advanced contitutive laws utilities for the corresponding Voigt size.
using Kratos::ThermalModifiedMohrCoulombYieldSurface< TPlasticPotentialType >::BaseType = ModifiedMohrCoulombYieldSurface<TPlasticPotentialType> |
using Kratos::ThermalModifiedMohrCoulombYieldSurface< TPlasticPotentialType >::PlasticPotentialType = TPlasticPotentialType |
The type of potential plasticity.
|
inline |
Initialization constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method the uniaxial equivalent stress.
rStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rEquivalentStress | The effective stress or equivalent uniaxial stress is a scalar. It is an invariant value which measures the “intensity” of a 3D stress state. |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method calculates the derivative of the plastic potential DG/DS.
rStressVector | The predictive stress vector S = C:(E-Ep) |
rDeviator | The deviatoric part of the stress vector |
J2 | The second invariant of the deviator |
rg | The derivative of the plastic potential |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This script calculates the derivatives of the Yield Surf according to NAYAK-ZIENKIEWICZ paper International journal for numerical methods in engineering vol 113-135 1972. As: DF/DS = c1*V1 + c2*V2 + c3*V3.
rStressVector | The stress vector |
rDeviator | The deviatoric part of the stress vector |
J2 | The second invariant of the deviator |
rFFlux | The derivative of the yield surface |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method defines the check to be performed in the yield surface.
|
inlinestatic |
This method returns the initial uniaxial stress threshold.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the scaling factor of the yield surface surfacecompares with the tension tield stress.
|
inlinestatic |
This method returns true if the yield surfacecompares with the tension tield stress.
Kratos::ThermalModifiedMohrCoulombYieldSurface< TPlasticPotentialType >::KRATOS_CLASS_POINTER_DEFINITION | ( | ThermalModifiedMohrCoulombYieldSurface< TPlasticPotentialType > | ) |
Counted pointer of ThermalModifiedMohrCoulombYieldSurface.
|
inline |
Assignment operator.
|
staticconstexpr |
The Plastic potential already defines the working simension size.
|
staticconstexpr |
The machine precision zero tolerance.
|
staticconstexpr |
The Plastic potential already defines the Voigt size.