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 Simo-Ju theory. More...
#include <thermal_simo_ju_yield_surface.h>
Public Member Functions | |
Life Cycle | |
ThermalSimoJuYieldSurface () | |
Initialization constructor. More... | |
ThermalSimoJuYieldSurface (ThermalSimoJuYieldSurface const &rOther) | |
Copy constructor. More... | |
ThermalSimoJuYieldSurface & | operator= (ThermalSimoJuYieldSurface const &rOther) |
Assignment operator. More... | |
virtual | ~ThermalSimoJuYieldSurface () |
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 | 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 > &rStressVector, const array_1d< double, VoigtSize > &rDeviator, const double J2, array_1d< double, VoigtSize > &rDerivativePlasticPotential, 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 > &Deviator, 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 = SimoJuYieldSurface< TPlasticPotentialType > |
using | ThermalVonMisesType = ThermalVonMisesYieldSurface< 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 (ThermalSimoJuYieldSurface) | |
Counted pointer of SimoJuYieldSurface. More... | |
This class defines a yield surface according to Simo-Ju theory.
The yield surface requires the definition of the following properties:
TPlasticPotentialType | The plastic potential considered |
using Kratos::ThermalSimoJuYieldSurface< TPlasticPotentialType >::AdvCLutils = AdvancedConstitutiveLawUtilities<VoigtSize> |
Advanced contitutive laws utilities for the corresponding Voigt size.
using Kratos::ThermalSimoJuYieldSurface< TPlasticPotentialType >::BaseType = SimoJuYieldSurface<TPlasticPotentialType> |
using Kratos::ThermalSimoJuYieldSurface< TPlasticPotentialType >::PlasticPotentialType = TPlasticPotentialType |
The type of potential plasticity.
using Kratos::ThermalSimoJuYieldSurface< TPlasticPotentialType >::ThermalVonMisesType = ThermalVonMisesYieldSurface<TPlasticPotentialType> |
|
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 stress vector |
Deviator | The deviatoric part of the stress vector |
J2 | The second invariant of the Deviator |
rDerivativePlasticPotential | 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 stress vector |
Deviator | 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::ThermalSimoJuYieldSurface< TPlasticPotentialType >::KRATOS_CLASS_POINTER_DEFINITION | ( | ThermalSimoJuYieldSurface< TPlasticPotentialType > | ) |
Counted pointer of SimoJuYieldSurface.
|
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.