14 #if !defined(KRATOS_MC_PLASTIC_FLOW_RULE_H_INCLUDED )
15 #define KRATOS_MC_PLASTIC_FLOW_RULE_H_INCLUDED
90 KRATOS_INFO(
"ParticleFlowRule.MaterialParameters") <<
"Cohesion = " << Cohesion << std::endl;
91 KRATOS_INFO(
"ParticleFlowRule.MaterialParameters") <<
"FrictionAngle = " << FrictionAngle << std::endl;
92 KRATOS_INFO(
"ParticleFlowRule.MaterialParameters") <<
"DilatancyAngle = " << DilatancyAngle << std::endl;
102 rSerializer.
save(
"Cohesion",Cohesion);
103 rSerializer.
save(
"FrictionAngle",FrictionAngle);
104 rSerializer.
save(
"DilatancyAngle",DilatancyAngle);
109 rSerializer.
load(
"Cohesion",Cohesion);
110 rSerializer.
load(
"FrictionAngle",FrictionAngle);
111 rSerializer.
load(
"DilatancyAngle",DilatancyAngle);
124 MCPlasticFlowRule(YieldCriterionPointer pYieldCriterion);
127 MCPlasticFlowRule(MCPlasticFlowRule
const& rOther);
130 MCPlasticFlowRule&
operator=(MCPlasticFlowRule
const& rOther);
133 ParticleFlowRule::Pointer Clone()
const override;
136 ~MCPlasticFlowRule()
override;
138 bool CalculateReturnMapping( RadialReturnVariables& rReturnMappingVariables,
const Matrix& rIncrementalDeformationGradient,
Matrix& rStressMatrix,
Matrix& rNewElasticLeftCauchyGreen,
const Properties& rProp)
override;
140 bool UpdateInternalVariables( RadialReturnVariables& rReturnMappingVariables,
const Properties& rProp )
override;
142 Matrix GetElasticLeftCauchyGreen(RadialReturnVariables& rReturnMappingVariables)
override;
144 unsigned int GetPlasticRegion()
override;
146 void ComputeElastoPlasticTangentMatrix(
const RadialReturnVariables& rReturnMappingVariables,
const Matrix& rNewElasticLeftCauchyGreen,
const double& alfa,
Matrix& rConsistMatrix,
const Properties& rProp)
override;
148 void CalculatePrincipalStressTrial(
const RadialReturnVariables& rReturnMappingVariables,
const Matrix& rNewElasticLeftCauchyGreen,
Matrix& rStressMatrix,
const Properties& rProp)
override;
222 void InitializeMaterialParameters(
const Properties& rProp);
224 virtual void ComputePlasticHardeningParameter(
const BoundedVector<double,3>& rHenckyStrainVector,
const double& rAlpha,
double& rH);
296 void save(
Serializer& rSerializer)
const override;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: amatrix_interface.h:41
Short class definition.
Definition: mc_plastic_flow_rule.hpp:69
BoundedVector< double, 3 > mPlasticPrincipalStrain
Definition: mc_plastic_flow_rule.hpp:193
bool mLargeStrainBool
Definition: mc_plastic_flow_rule.hpp:198
BoundedVector< double, 3 > mElasticPrincipalStrain
Definition: mc_plastic_flow_rule.hpp:192
unsigned int mRegion
Definition: mc_plastic_flow_rule.hpp:197
double mEquivalentPlasticStrain
Definition: mc_plastic_flow_rule.hpp:199
KRATOS_CLASS_POINTER_DEFINITION(MCPlasticFlowRule)
Pointer definition of NonLinearAssociativePlasticFlowRule.
BoundedVector< double, 3 > mPrincipalStressUpdated
Definition: mc_plastic_flow_rule.hpp:196
MaterialParameters mMaterialParameters
Definition: mc_plastic_flow_rule.hpp:201
BoundedVector< double, 3 > mPrincipalStressTrial
Definition: mc_plastic_flow_rule.hpp:195
BoundedVector< double, 3 > mElasticPreviousPrincipalStrain
Definition: mc_plastic_flow_rule.hpp:194
Short class definition.
Definition: particle_flow_rule.hpp:61
ParticleYieldCriterion::Pointer YieldCriterionPointer
Definition: particle_flow_rule.hpp:66
ParticleHardeningLaw::Pointer HardeningLawPointer
Definition: particle_flow_rule.hpp:68
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_INFO(label)
Definition: logger.h:250
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
def load(f)
Definition: ode_solve.py:307
Definition: mc_plastic_flow_rule.hpp:82
double FrictionAngle
Definition: mc_plastic_flow_rule.hpp:84
double DilatancyAngle
Definition: mc_plastic_flow_rule.hpp:85
void PrintInfo()
Definition: mc_plastic_flow_rule.hpp:88
double Cohesion
Definition: mc_plastic_flow_rule.hpp:83
Definition: particle_flow_rule.hpp:130