10 #if !defined(KRATOS_VON_MISES_LINEAR_ELASTIC_PLASTICITY_MODEL_H_INCLUDED )
11 #define KRATOS_VON_MISES_LINEAR_ELASTIC_PLASTICITY_MODEL_H_INCLUDED
90 mPlasticStrainVector.clear();
96 ,mPlasticStrainVector(rOther.mPlasticStrainVector){}
102 mPlasticStrainVector = rOther.mPlasticStrainVector;
107 ConstitutiveModel::Pointer
Clone()
const override
109 return Kratos::make_shared<VonMisesLinearElasticPlasticityModel>(*
this);
135 if(rThisVariable == PLASTIC_STRAIN || rThisVariable == DELTA_PLASTIC_STRAIN )
150 if (rThisVariable==PLASTIC_STRAIN)
152 rValue = this->mInternal.Variables[0];
156 if (rThisVariable==DELTA_PLASTIC_STRAIN)
158 rValue = this->mInternal.Variables[0]-mPreviousInternal.Variables[0];
175 std::string
Info()
const override
177 std::stringstream buffer;
178 buffer <<
"VonMisesLinearElasticPlasticityModel" ;
185 rOStream <<
"VonMisesLinearElasticPlasticityModel";
191 rOStream <<
"VonMisesLinearElasticPlasticityModel Data";
233 StrainVector -= mPlasticStrainVector;
247 double& rEquivalentPlasticStrainOld = mPreviousInternal.Variables[0];
248 double& rEquivalentPlasticStrain = mInternal.Variables[0];
249 double& rDeltaGamma = rVariables.DeltaInternal.Variables[0];
252 rEquivalentPlasticStrainOld = rEquivalentPlasticStrain;
253 rEquivalentPlasticStrain += sqrt(2.0/3.0) * rDeltaGamma;
259 rValues.
StrainMatrix += rDeltaGamma * rStressMatrix / (rVariables.StressNorm - 2.0 * rMaterial.
GetLameMuBar() * rDeltaGamma);
319 void save(
Serializer& rSerializer)
const override
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
static void StrainTensorToVector(const MatrixType &rMatrix, array_1d< double, 6 > &rVector)
Definition: constitutive_model_utilities.hpp:646
static MatrixType & StrainVectorToTensor(const array_1d< double, 6 > &rVector, MatrixType &rMatrix)
Definition: constitutive_model_utilities.hpp:619
Definition: amatrix_interface.h:41
Short class definition.
Definition: linear_elastic_model.hpp:50
Short class definition.
Definition: mises_huber_yield_surface.hpp:50
Short class definition.
Definition: non_linear_associative_plasticity_model.hpp:50
BaseType::SizeType SizeType
Definition: non_linear_associative_plasticity_model.hpp:67
BaseType::PlasticDataType PlasticDataType
Definition: non_linear_associative_plasticity_model.hpp:72
BaseType::InternalVariablesType InternalVariablesType
Definition: non_linear_associative_plasticity_model.hpp:73
BaseType::VoigtIndexType VoigtIndexType
Definition: non_linear_associative_plasticity_model.hpp:68
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: simo_exponential_hardening_rule.hpp:49
Short class definition.
Definition: von_mises_linear_elastic_plasticity_model.hpp:51
ElasticityModelType::Pointer ElasticityModelPointer
Definition: von_mises_linear_elastic_plasticity_model.hpp:59
BaseType::MaterialDataType MaterialDataType
Definition: von_mises_linear_elastic_plasticity_model.hpp:75
MisesHuberYieldSurface< HardeningRuleType > YieldSurfaceType
Definition: von_mises_linear_elastic_plasticity_model.hpp:63
BaseType::PlasticDataType PlasticDataType
Definition: von_mises_linear_elastic_plasticity_model.hpp:76
void InitializeVariables(ModelDataType &rValues, PlasticDataType &rVariables) override
Definition: von_mises_linear_elastic_plasticity_model.hpp:223
KRATOS_CLASS_POINTER_DEFINITION(VonMisesLinearElasticPlasticityModel)
Pointer definition of VonMisesLinearElasticPlasticityModel.
std::string Info() const override
Turn back information as a string.
Definition: von_mises_linear_elastic_plasticity_model.hpp:175
bool Has(const Variable< double > &rThisVariable) override
Definition: von_mises_linear_elastic_plasticity_model.hpp:133
BaseType::SizeType SizeType
Definition: von_mises_linear_elastic_plasticity_model.hpp:71
VonMisesLinearElasticPlasticityModel()
Default constructor.
Definition: von_mises_linear_elastic_plasticity_model.hpp:88
YieldSurfaceType::Pointer YieldSurfacePointer
Definition: von_mises_linear_elastic_plasticity_model.hpp:64
ConstitutiveModel::Pointer Clone() const override
Clone.
Definition: von_mises_linear_elastic_plasticity_model.hpp:107
BaseType::VoigtIndexType VoigtIndexType
Definition: von_mises_linear_elastic_plasticity_model.hpp:72
BaseType::InternalVariablesType InternalVariablesType
Definition: von_mises_linear_elastic_plasticity_model.hpp:77
VonMisesLinearElasticPlasticityModel(VonMisesLinearElasticPlasticityModel const &rOther)
Copy constructor.
Definition: von_mises_linear_elastic_plasticity_model.hpp:94
~VonMisesLinearElasticPlasticityModel() override
Destructor.
Definition: von_mises_linear_elastic_plasticity_model.hpp:113
BaseType::MatrixType MatrixType
Definition: von_mises_linear_elastic_plasticity_model.hpp:73
VonMisesLinearElasticPlasticityModel & operator=(VonMisesLinearElasticPlasticityModel const &rOther)
Assignment operator.
Definition: von_mises_linear_elastic_plasticity_model.hpp:99
LinearElasticModel ElasticityModelType
Definition: von_mises_linear_elastic_plasticity_model.hpp:58
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: von_mises_linear_elastic_plasticity_model.hpp:183
BaseType::ModelDataType ModelDataType
Definition: von_mises_linear_elastic_plasticity_model.hpp:74
void UpdateInternalVariables(ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rStressMatrix) override
Definition: von_mises_linear_elastic_plasticity_model.hpp:243
BaseType::Pointer BaseTypePointer
Definition: von_mises_linear_elastic_plasticity_model.hpp:70
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: von_mises_linear_elastic_plasticity_model.hpp:189
NonLinearAssociativePlasticityModel< ElasticityModelType, YieldSurfaceType > BaseType
Definition: von_mises_linear_elastic_plasticity_model.hpp:67
SimoExponentialHardeningRule HardeningRuleType
Definition: von_mises_linear_elastic_plasticity_model.hpp:62
double & GetValue(const Variable< double > &rThisVariable, double &rValue) override
Definition: von_mises_linear_elastic_plasticity_model.hpp:145
#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
void InitializeVariables(TContainerType &rContainer, const Variable< TDataType > &rOutputVariable, const Variable< TDataType > &rReferenceVariable)
Definition: temporal_method_utilities.h:36
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
const double & GetLameMuBar() const
Definition: constitutive_model_data.hpp:112
Definition: constitutive_model_data.hpp:383
MatrixType StrainMatrix
Definition: constitutive_model_data.hpp:402