![]() |
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.
|
Short class definition. More...
#include <simo_ju_yield_surface.h>
Public Member Functions | |
Life Cycle | |
| SimoJuYieldSurface () | |
| Initialization constructor. More... | |
| SimoJuYieldSurface (SimoJuYieldSurface const &rOther) | |
| Copy constructor. More... | |
| SimoJuYieldSurface & | operator= (SimoJuYieldSurface const &rOther) |
| Assignment operator. More... | |
| virtual | ~SimoJuYieldSurface () |
| Destructor. More... | |
| SimoJuYieldSurface () | |
| Default constructor. More... | |
| SimoJuYieldSurface (SimoJuYieldSurface const &rOther) | |
| Copy constructor. More... | |
| SimoJuYieldSurface & | operator= (SimoJuYieldSurface const &rOther) |
| Assignment operator. More... | |
| BaseTypePointer | Clone () const override |
| Clone. More... | |
| ~SimoJuYieldSurface () override | |
| Destructor. More... | |
Input and output | |
| std::string | Info () const override |
| Turn back information as a string. More... | |
| void | PrintInfo (std::ostream &rOStream) const override |
| Print information about this object. More... | |
| void | PrintData (std::ostream &rOStream) const override |
| Print object's data. More... | |
Public Member Functions inherited from Kratos::YieldSurface< THardeningRule > | |
| YieldSurface () | |
| Default constructor. More... | |
| YieldSurface (YieldSurface const &rOther) | |
| Copy constructor. More... | |
| YieldSurface & | operator= (YieldSurface const &rOther) |
| Assignment operator. More... | |
| virtual | ~YieldSurface () |
| Destructor. More... | |
| virtual double & | CalculateDeltaYieldCondition (const PlasticDataType &rVariables, double &rDeltaYieldCondition) |
| virtual VectorType & | CalculateDeltaStressYieldCondition (const PlasticDataType &rVariables, VectorType &rDeltaStressYieldCondition) |
| virtual double & | CalculatePlasticDissipation (const PlasticDataType &rVariables, double &rPlasticDissipation) |
| virtual double & | CalculateDeltaPlasticDissipation (const PlasticDataType &rVariables, double &rDeltaPlasticDissipation) |
| virtual double & | CalculateImplexPlasticDissipation (const PlasticDataType &rVariables, double &rPlasticDissipation) |
| virtual double & | CalculateImplexDeltaPlasticDissipation (const PlasticDataType &rVariables, double &rDeltaPlasticDissipation) |
| HardeningRuleType & | GetHardeningRule () |
| KRATOS_CLASS_POINTER_DEFINITION (YieldSurface) | |
| Pointer definition of YieldSurface. More... | |
Type Definitions | |
| typedef TPlasticPotentialType | PlasticPotentialType |
| The type of potential plasticity. More... | |
| typedef ConstitutiveModelData::MatrixType | MatrixType |
| typedef ConstitutiveModelData::VectorType | VectorType |
| typedef ConstitutiveModelData::ModelData | ModelDataType |
| typedef ConstitutiveModelData::MaterialData | MaterialDataType |
| typedef YieldSurface< THardeningRule > | BaseType |
| typedef BaseType::Pointer | BaseTypePointer |
| typedef BaseType::PlasticDataType | PlasticDataType |
| 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 (SimoJuYieldSurface) | |
| Counted pointer of SimoJuYieldSurface. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (SimoJuYieldSurface) | |
| Pointer definition of SimoJuYieldSurface. More... | |
Serialization | |
| class | Serializer |
Operations | |
| double & | CalculateYieldCondition (const PlasticDataType &rVariables, double &rYieldCondition) override |
| double & | CalculateStateFunction (const PlasticDataType &rVariables, double &rStateFunction) override |
| double & | CalculateDeltaStateFunction (const PlasticDataType &rVariables, double &rDeltaStateFunction) override |
| static void | CalculateEquivalentStress (const array_1d< double, VoigtSize > &rPredictiveStressVector, 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 > &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... | |
Additional Inherited Members | |
Public Types inherited from Kratos::YieldSurface< THardeningRule > | |
| typedef ConstitutiveModelData::MatrixType | MatrixType |
| typedef ConstitutiveModelData::VectorType | VectorType |
| typedef ConstitutiveModelData::ModelData | ModelDataType |
| typedef ConstitutiveModelData::MaterialData | MaterialDataType |
| typedef THardeningRule | HardeningRuleType |
| typedef THardeningRule::PlasticDataType | PlasticDataType |
| typedef THardeningRule::InternalVariablesType | InternalVariablesType |
Protected Attributes inherited from Kratos::YieldSurface< THardeningRule > | |
| HardeningRuleType | mHardeningRule |
Short class definition.
This class defines a yield surface according to Simo-Ju theory.
Detail class definition.
The yield surface requires the definition of the following properties:
| TPlasticPotentialType | The plastic potential considered |
| typedef YieldSurface<THardeningRule> Kratos::SimoJuYieldSurface< TPlasticPotentialType >::BaseType |
| typedef BaseType::Pointer Kratos::SimoJuYieldSurface< TPlasticPotentialType >::BaseTypePointer |
| typedef ConstitutiveModelData::MaterialData Kratos::SimoJuYieldSurface< TPlasticPotentialType >::MaterialDataType |
| typedef ConstitutiveModelData::MatrixType Kratos::SimoJuYieldSurface< TPlasticPotentialType >::MatrixType |
| typedef ConstitutiveModelData::ModelData Kratos::SimoJuYieldSurface< TPlasticPotentialType >::ModelDataType |
| typedef BaseType::PlasticDataType Kratos::SimoJuYieldSurface< TPlasticPotentialType >::PlasticDataType |
| typedef TPlasticPotentialType Kratos::SimoJuYieldSurface< TPlasticPotentialType >::PlasticPotentialType |
The type of potential plasticity.
| typedef ConstitutiveModelData::VectorType Kratos::SimoJuYieldSurface< TPlasticPotentialType >::VectorType |
|
inline |
Initialization constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inline |
Default constructor.
|
inline |
Copy constructor.
|
inlineoverride |
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 |
|
inlineoverridevirtual |
Calculate State Function derivative
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
inlinestatic |
This method the uniaxial equivalent stress.
| rPredictiveStressVector | 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.
| rPredictiveStressVector | 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 |
|
inlineoverridevirtual |
Calculate State Function
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
inlineoverridevirtual |
Calculate Yield Condition
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
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.
|
inlineoverridevirtual |
Clone.
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
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.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
inlinestatic |
This method returns true if the yield surfacecompares with the tension tield stress.
| Kratos::SimoJuYieldSurface< TPlasticPotentialType >::KRATOS_CLASS_POINTER_DEFINITION | ( | SimoJuYieldSurface< TPlasticPotentialType > | ) |
Counted pointer of SimoJuYieldSurface.
| Kratos::SimoJuYieldSurface< TPlasticPotentialType >::KRATOS_CLASS_POINTER_DEFINITION | ( | SimoJuYieldSurface< TPlasticPotentialType > | ) |
Pointer definition of SimoJuYieldSurface.
|
inline |
Assignment operator.
|
inline |
Assignment operator.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::YieldSurface< THardeningRule >.
|
friend |
|
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.