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 Drucker-Prager theory. More...
#include <thermal_drucker_prager_yield_surface.h>
Public Member Functions | |
Life Cycle | |
ThermalDruckerPragerYieldSurface () | |
Initialization constructor. More... | |
ThermalDruckerPragerYieldSurface (ThermalDruckerPragerYieldSurface const &rOther) | |
Copy constructor. More... | |
ThermalDruckerPragerYieldSurface & | operator= (ThermalDruckerPragerYieldSurface const &rOther) |
Assignment operator. More... | |
virtual | ~ThermalDruckerPragerYieldSurface () |
Destructor. More... | |
Static Public Member Functions | |
Operations | |
static void | CalculateEquivalentStress (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 | 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 | CalculatePlasticPotentialDerivative (const array_1d< double, VoigtSize > &rPredictiveStressVector, const array_1d< double, VoigtSize > &rDeviator, const double J2, array_1d< double, VoigtSize > &rGFlux, ConstitutiveLaw::Parameters &rValues) |
This method calculates the derivative of the plastic potential DG/DS. More... | |
static void | CalculateYieldSurfaceDerivative (const array_1d< double, VoigtSize > &rPredictiveStressVector, 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 compares with the tension yield stress. More... | |
Type Definitions | |
using | PlasticPotentialType = TPlasticPotentialType |
The type of potential plasticity. More... | |
using | BaseType = DruckerPragerYieldSurface< 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 (ThermalDruckerPragerYieldSurface) | |
Counted pointer of ThermalDruckerPragerYieldSurface. More... | |
This class defines a yield surface according to Drucker-Prager theory.
The Drucker–Prager yield criterion is similar to the von Mises yield criterion, with provisions for handling materials with differing tensile and compressive yield strengths. This criterion is most often used for concrete where both normal and shear stresses can determine failure. The yield surface requires the definition of the following properties:
TPlasticPotentialType | The plastic potential considered |
using Kratos::ThermalDruckerPragerYieldSurface< TPlasticPotentialType >::AdvCLutils = AdvancedConstitutiveLawUtilities<VoigtSize> |
Advanced contitutive laws utilities for the corresponding Voigt size.
using Kratos::ThermalDruckerPragerYieldSurface< TPlasticPotentialType >::BaseType = DruckerPragerYieldSurface<TPlasticPotentialType> |
using Kratos::ThermalDruckerPragerYieldSurface< 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 |
rValues | Parameters of the constitutive law |
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. |
|
inlinestatic |
This method calculates the derivative of the plastic potential DG/DS.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rDeviator | The deviatoric part of the stress vector |
J2 | The second invariant of the Deviator |
rGFlux | 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.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
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 compares with the tension yield stress.
|
inlinestatic |
This method returns true if the yield surfacecompares with the tension tield stress.
Kratos::ThermalDruckerPragerYieldSurface< TPlasticPotentialType >::KRATOS_CLASS_POINTER_DEFINITION | ( | ThermalDruckerPragerYieldSurface< TPlasticPotentialType > | ) |
Counted pointer of ThermalDruckerPragerYieldSurface.
|
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.