23 #include "custom_utilities/constitutive_law_utilities.h"
58 template <
class TPlasticPotentialType>
121 const Vector& rStrainVector,
122 double& rEquivalentStress,
149 const double CharacteristicLength
170 TPlasticPotentialType::CalculatePlasticPotentialDerivative(rPredictiveStressVector, rDeviator,
J2, rDerivativePlasticPotential, rValues);
199 return TPlasticPotentialType::Check(rMaterialProperties);
This class defines a generic yield surface.
Definition: generic_yield_surface.h:60
static int Check(const Properties &rMaterialProperties)
This method defines the check to be performed in the yield surface.
Definition: generic_yield_surface.h:197
GenericYieldSurface()
Initialization constructor.
Definition: generic_yield_surface.h:86
static constexpr SizeType VoigtSize
The Plastic potential already defines the Voigt size.
Definition: generic_yield_surface.h:72
GenericYieldSurface(GenericYieldSurface const &rOther)
Copy constructor.
Definition: generic_yield_surface.h:91
static void CalculatePlasticPotentialDerivative(const array_1d< double, VoigtSize > &rPredictiveStressVector, 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.
Definition: generic_yield_surface.h:162
GenericYieldSurface & operator=(GenericYieldSurface const &rOther)
Assignment operator.
Definition: generic_yield_surface.h:96
static void CalculateEquivalentStress(const array_1d< double, VoigtSize > &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues)
This method the uniaxial equivalent stress.
Definition: generic_yield_surface.h:119
virtual ~GenericYieldSurface()
Destructor.
Definition: generic_yield_surface.h:102
TPlasticPotentialType PlasticPotentialType
The type of potential plasticity.
Definition: generic_yield_surface.h:66
KRATOS_CLASS_POINTER_DEFINITION(GenericYieldSurface)
Counted pointer of GenericYieldSurface.
static constexpr SizeType Dimension
The Plastic potential already defines the working simension size.
Definition: generic_yield_surface.h:69
static void CalculateYieldSurfaceDerivative(const array_1d< double, VoigtSize > &StressVector, 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 Interna...
Definition: generic_yield_surface.h:184
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.
Definition: generic_yield_surface.h:146
static void GetInitialUniaxialThreshold(ConstitutiveLaw::Parameters &rValues, double &rThreshold)
This method returns the initial uniaxial stress threshold.
Definition: generic_yield_surface.h:133
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
float J2
Definition: isotropic_damage_automatic_differentiation.py:133
Deviator
Definition: isotropic_damage_automatic_differentiation.py:135
Definition: constitutive_law.h:189