15 #if !defined(KRATOS_MPM_YIELD_CRITERION_H_INCLUDED)
16 #define KRATOS_MPM_YIELD_CRITERION_H_INCLUDED
60 const double* mpStressNorm;
65 void SetStressNorm (
const double& rStressNorm) { mpStressNorm = &rStressNorm; };
99 :mpHardeningLaw(pHardeningLaw)
105 :mpHardeningLaw(rOther.mpHardeningLaw)
129 virtual ParticleYieldCriterion::Pointer
Clone()
const
131 return Kratos::make_shared<ParticleYieldCriterion>(*
this);
140 mpHardeningLaw = pHardeningLaw;
151 mpHardeningLaw = pHardeningLaw;
156 return *mpHardeningLaw;
161 return mpHardeningLaw;
176 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
177 return rStateFunction;
182 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
187 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
200 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
206 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
211 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
222 KRATOS_ERROR <<
"Calling the base class function in ParticleYieldCriterion ... illegal operation!!" << std::endl;
317 virtual void save(
Serializer& rSerializer)
const
319 rSerializer.
save(
"mpHardeningLaw",mpHardeningLaw);
324 rSerializer.
load(
"mpHardeningLaw",mpHardeningLaw);
Short class definition.
Definition: particle_hardening_law.hpp:58
Short class definition.
Definition: particle_yield_criterion.hpp:54
ParticleYieldCriterion & operator=(ParticleYieldCriterion const &rOther)
Assignment operator.
Definition: particle_yield_criterion.hpp:111
virtual double & CalculateYieldCondition(double &rStateFunction, const Vector &rPrincipalStress, const double &rAlpha, const double &rBeta, const Properties &rProp)
Definition: particle_yield_criterion.hpp:185
void SetHardeningLaw(ParticleHardeningLaw &rHardeningLaw)
Definition: particle_yield_criterion.hpp:144
virtual double & CalculateYieldCondition(double &rStateFunction, const Parameters &rVariables, const Properties &rProp)
Definition: particle_yield_criterion.hpp:174
HardeningLawPointer mpHardeningLaw
Definition: particle_yield_criterion.hpp:256
virtual void CalculateYieldFunctionSecondDerivative(const Vector &rPrincipalStress, Vector &rSecondDerivative, const Properties &rProp)
Definition: particle_yield_criterion.hpp:220
virtual void CalculateYieldFunctionDerivative(const Vector &rPrincipalStress, Vector &rFirstDerivative, const Properties &rProp)
Definition: particle_yield_criterion.hpp:198
ParticleYieldCriterion(ParticleYieldCriterion const &rOther)
Copy constructor.
Definition: particle_yield_criterion.hpp:104
ParticleHardeningLaw::Pointer HardeningLawPointer
Definition: particle_yield_criterion.hpp:83
KRATOS_CLASS_POINTER_DEFINITION(ParticleYieldCriterion)
Pointer definition of ParticleYieldCriterion.
void pSetHardeningLaw(HardeningLawPointer &pHardeningLaw)
Definition: particle_yield_criterion.hpp:149
virtual void CalculateYieldFunctionDerivative(const Vector &rPrincipalStress, Vector &rFirstDerivative, const double &rAlpha, const Properties &rProp)
Definition: particle_yield_criterion.hpp:204
ParticleYieldCriterion(HardeningLawPointer pHardeningLaw)
Initialization constructor.
Definition: particle_yield_criterion.hpp:98
virtual void CalculateYieldFunctionDerivative(const Vector &rPrincipalStress, Vector &rFirstDerivative, const double &rAlpha, const double &rBeta, const Properties &rProp)
Definition: particle_yield_criterion.hpp:209
void InitializeMaterial(HardeningLawPointer &pHardeningLaw, const Properties &rMaterialProperties)
Definition: particle_yield_criterion.hpp:138
virtual ParticleYieldCriterion::Pointer Clone() const
Definition: particle_yield_criterion.hpp:129
ParticleYieldCriterion()
Default constructor.
Definition: particle_yield_criterion.hpp:93
ParticleHardeningLaw & GetHardeningLaw()
Definition: particle_yield_criterion.hpp:154
virtual double & CalculateYieldCondition(double &rStateFunction, const Vector &rPrincipalStress, const double &rAlpha, const Properties &rProp)
Definition: particle_yield_criterion.hpp:180
virtual ~ParticleYieldCriterion()
Destructor.
Definition: particle_yield_criterion.hpp:118
HardeningLawPointer pGetHardeningLaw()
Definition: particle_yield_criterion.hpp:159
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: particle_hardening_law.hpp:62
void SetRateFactor(double rRateFactor)
Definition: particle_hardening_law.hpp:72
void SetDeltaTime(const double &rDeltaTime)
Definition: particle_hardening_law.hpp:73
const double & GetDeltaTime() const
Definition: particle_hardening_law.hpp:77
const double & GetRateFactor() const
Definition: particle_hardening_law.hpp:76
Definition: particle_yield_criterion.hpp:57
const double & GetStressNorm() const
Definition: particle_yield_criterion.hpp:68
void SetDeltaTime(const double &rDeltaTime)
Definition: particle_yield_criterion.hpp:73
void SetStressNorm(const double &rStressNorm)
Definition: particle_yield_criterion.hpp:65
const double & GetDeltaTime() const
Definition: particle_yield_criterion.hpp:77
const double & GetRateFactor() const
Definition: particle_yield_criterion.hpp:76
const ParticleHardeningLaw::Parameters & GetHardeningParameters() const
Definition: particle_yield_criterion.hpp:69
void SetRateFactor(double rRateFactor)
Definition: particle_yield_criterion.hpp:72