10 #if !defined(KRATOS_MISES_HUBER_YIELD_SURFACE_H_INCLUDED )
11 #define KRATOS_MISES_HUBER_YIELD_SURFACE_H_INCLUDED
48 template<
class THardeningRule>
88 return Kratos::make_shared<MisesHuberYieldSurface>(*
this);
112 double Hardening = 0;
114 const double& rStressNorm = rVariables.GetStressNorm();
116 Hardening = this->
mHardeningRule.CalculateHardening(rVariables,Hardening);
118 rYieldCondition = rStressNorm - sqrt(2.0/3.0) * Hardening;
120 return rYieldCondition;
135 const double& rStressNorm = rVariables.GetStressNorm();
137 const double& rDeltaGamma = rVariables.GetDeltaInternalVariables()[0];
139 double Hardening = 0;
141 Hardening = this->
mHardeningRule.CalculateHardening( rVariables, Hardening );
143 rStateFunction = rStressNorm - 2.0 * rMaterial.GetLameMuBar() * rDeltaGamma - sqrt(2.0/3.0) * ( Hardening );
145 return rStateFunction;
160 double DeltaHardening = 0;
162 DeltaHardening = this->
mHardeningRule.CalculateDeltaHardening( rVariables, DeltaHardening );
164 rDeltaStateFunction = 2.0 * rMaterial.GetLameMuBar() + (2.0/3.0) * DeltaHardening;
166 return rDeltaStateFunction;
179 rPlasticDissipation = 0;
180 return rPlasticDissipation;
193 rDeltaPlasticDissipation = 0;
194 return rDeltaPlasticDissipation;
206 rPlasticDissipation = 0;
207 return rPlasticDissipation;
220 rDeltaPlasticDissipation = 0;
221 return rDeltaPlasticDissipation;
241 std::string
Info()
const override
243 std::stringstream buffer;
244 buffer <<
"YieldSurface" ;
251 rOStream <<
"MisesHuberYieldSurface";
257 rOStream <<
"MisesHuberYieldSurface Data";
335 void save(
Serializer& rSerializer)
const override
Definition: amatrix_interface.h:41
Short class definition.
Definition: mises_huber_yield_surface.hpp:50
BaseType::PlasticDataType PlasticDataType
Definition: mises_huber_yield_surface.hpp:63
BaseTypePointer Clone() const override
Clone.
Definition: mises_huber_yield_surface.hpp:86
double & CalculateYieldCondition(const PlasticDataType &rVariables, double &rYieldCondition) override
Definition: mises_huber_yield_surface.hpp:108
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mises_huber_yield_surface.hpp:249
~MisesHuberYieldSurface() override
Destructor.
Definition: mises_huber_yield_surface.hpp:92
YieldSurface< THardeningRule > BaseType
Definition: mises_huber_yield_surface.hpp:61
double & CalculateImplexDeltaPlasticDissipation(const PlasticDataType &rVariables, double &rDeltaPlasticDissipation) override
Definition: mises_huber_yield_surface.hpp:216
MisesHuberYieldSurface()
Default constructor.
Definition: mises_huber_yield_surface.hpp:73
double & CalculatePlasticDissipation(const PlasticDataType &rVariables, double &rPlasticDissipation) override
Definition: mises_huber_yield_surface.hpp:175
MisesHuberYieldSurface & operator=(MisesHuberYieldSurface const &rOther)
Assignment operator.
Definition: mises_huber_yield_surface.hpp:79
MisesHuberYieldSurface(MisesHuberYieldSurface const &rOther)
Copy constructor.
Definition: mises_huber_yield_surface.hpp:76
ConstitutiveModelData::VectorType VectorType
Definition: mises_huber_yield_surface.hpp:56
ConstitutiveModelData::MaterialData MaterialDataType
Definition: mises_huber_yield_surface.hpp:58
std::string Info() const override
Turn back information as a string.
Definition: mises_huber_yield_surface.hpp:241
KRATOS_CLASS_POINTER_DEFINITION(MisesHuberYieldSurface)
Pointer definition of MisesHuberYieldSurface.
BaseType::Pointer BaseTypePointer
Definition: mises_huber_yield_surface.hpp:62
double & CalculateImplexPlasticDissipation(const PlasticDataType &rVariables, double &rPlasticDissipation) override
Definition: mises_huber_yield_surface.hpp:202
ConstitutiveModelData::ModelData ModelDataType
Definition: mises_huber_yield_surface.hpp:57
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mises_huber_yield_surface.hpp:255
ConstitutiveModelData::MatrixType MatrixType
Definition: mises_huber_yield_surface.hpp:55
double & CalculateDeltaPlasticDissipation(const PlasticDataType &rVariables, double &rDeltaPlasticDissipation) override
Definition: mises_huber_yield_surface.hpp:189
double & CalculateStateFunction(const PlasticDataType &rVariables, double &rStateFunction) override
Definition: mises_huber_yield_surface.hpp:129
double & CalculateDeltaStateFunction(const PlasticDataType &rVariables, double &rDeltaStateFunction) override
Definition: mises_huber_yield_surface.hpp:154
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Short class definition.
Definition: yield_surface.hpp:50
THardeningRule::PlasticDataType PlasticDataType
Definition: yield_surface.hpp:62
HardeningRuleType mHardeningRule
Definition: yield_surface.hpp:295
YieldSurface & operator=(YieldSurface const &rOther)
Assignment operator.
Definition: yield_surface.hpp:79
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_model_data.hpp:92
Definition: constitutive_model_data.hpp:383