14 #if !defined(KRATOS_BORJA_CAM_CLAY_PLASTIC_FLOW_RULE_H_INCLUDED )
15 #define KRATOS_BORJA_CAM_CLAY_PLASTIC_FLOW_RULE_H_INCLUDED
89 KRATOS_INFO(
"ParticleFlowRule.MaterialParameters") <<
"PreconsolidationPressure = " << PreconsolidationPressure << std::endl;
90 KRATOS_INFO(
"ParticleFlowRule.MaterialParameters") <<
"PlasticHardeningModulus = " << PlasticHardeningModulus << std::endl;
91 KRATOS_INFO(
"ParticleFlowRule.MaterialParameters") <<
"ConsistencyParameter = " << ConsistencyParameter << std::endl;
101 rSerializer.
save(
"PreconsolidationPressure",PreconsolidationPressure);
102 rSerializer.
save(
"PlasticHardeningModulus",PlasticHardeningModulus);
103 rSerializer.
save(
"ConsistencyParameter",ConsistencyParameter);
108 rSerializer.
load(
"PreconsolidationPressure",PreconsolidationPressure);
109 rSerializer.
load(
"PlasticHardeningModulus",PlasticHardeningModulus);
110 rSerializer.
load(
"ConsistencyParameter",ConsistencyParameter);
120 BorjaCamClayPlasticFlowRule();
123 BorjaCamClayPlasticFlowRule(YieldCriterionPointer pYieldCriterion);
126 BorjaCamClayPlasticFlowRule(BorjaCamClayPlasticFlowRule
const& rOther);
129 BorjaCamClayPlasticFlowRule&
operator=(BorjaCamClayPlasticFlowRule
const& rOther);
132 ParticleFlowRule::Pointer Clone()
const override;
135 ~BorjaCamClayPlasticFlowRule()
override;
137 bool CalculateReturnMapping( RadialReturnVariables& rReturnMappingVariables,
const Matrix& rIncrementalDeformationGradient,
Matrix& rStressMatrix,
Matrix& rNewElasticLeftCauchyGreen,
const Properties& rProp)
override;
139 bool UpdateInternalVariables( RadialReturnVariables& rReturnMappingVariables,
const Properties& rProp )
override;
141 Matrix GetElasticLeftCauchyGreen(RadialReturnVariables& rReturnMappingVariables)
override;
143 unsigned int GetPlasticRegion()
override;
145 void ComputeElastoPlasticTangentMatrix(
const RadialReturnVariables& rReturnMappingVariables,
const Matrix& rNewElasticLeftCauchyGreen,
const double& alfa,
Matrix& rConsistMatrix,
const Properties& rProp)
override;
147 void CalculatePrincipalStressTrial(
const RadialReturnVariables& rReturnMappingVariables,
const Matrix& rNewElasticLeftCauchyGreen,
Matrix& rStressMatrix,
const Properties& rProp)
override;
226 void InitializeMaterialParameters(
const Properties& rProp);
230 void CalculateMeanStress(
const double& rVolumetricStrain,
const double& rDeviatoricStrain,
double& rMeanStress,
const Properties& rProp);
246 void ComputePlasticMatrix_2X2(
const BoundedVector<double,3>& rPrincipalStressVector,
const double& rVolumetricStrain,
const double& rDeviatoricStrain,
const BoundedMatrix<double,2,2>& rElasticMatrix,
BoundedMatrix<double,2,2>& rPlasticMatrix,
const Properties& rProp);
252 void UpdateStateVariables(
const BoundedVector<double,3> rPrincipalStress,
const Properties& rProp,
const double rAlpha = 0.0,
const double rConsistencyParameter = 0.0);
303 void save(
Serializer& rSerializer)
const override;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: borja_cam_clay_plastic_flow_rule.hpp:69
BoundedVector< double, 3 > mElasticPrincipalStrain
Definition: borja_cam_clay_plastic_flow_rule.hpp:191
MaterialParameters mMaterialParameters
Definition: borja_cam_clay_plastic_flow_rule.hpp:199
bool mLargeStrainBool
Definition: borja_cam_clay_plastic_flow_rule.hpp:197
double mInitialVolumetricStrain
Definition: borja_cam_clay_plastic_flow_rule.hpp:201
double mStateFunction
Definition: borja_cam_clay_plastic_flow_rule.hpp:203
unsigned int mRegion
Definition: borja_cam_clay_plastic_flow_rule.hpp:196
BoundedVector< double, 3 > mPrincipalStressUpdated
Definition: borja_cam_clay_plastic_flow_rule.hpp:194
Vector mStateFunctionFirstDerivative
Definition: borja_cam_clay_plastic_flow_rule.hpp:204
KRATOS_CLASS_POINTER_DEFINITION(BorjaCamClayPlasticFlowRule)
Pointer definition of NonLinearAssociativePlasticFlowRule.
Vector mStateFunctionSecondDerivative
Definition: borja_cam_clay_plastic_flow_rule.hpp:205
BoundedVector< double, 3 > mPlasticPrincipalStrain
Definition: borja_cam_clay_plastic_flow_rule.hpp:192
Definition: amatrix_interface.h:41
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: borja_cam_clay_plastic_flow_rule.hpp:81
double PreconsolidationPressure
Definition: borja_cam_clay_plastic_flow_rule.hpp:82
double ConsistencyParameter
Definition: borja_cam_clay_plastic_flow_rule.hpp:84
void PrintInfo()
Definition: borja_cam_clay_plastic_flow_rule.hpp:87
double PlasticHardeningModulus
Definition: borja_cam_clay_plastic_flow_rule.hpp:83
Definition: particle_flow_rule.hpp:130