10 #if !defined(KRATOS_FRICTION_LAW_H_INCLUDED)
11 #define KRATOS_FRICTION_LAW_H_INCLUDED
74 void Initialize(
const double & rTangentPenalty,
double PS,
double & rArea,
bool rImplex =
false )
79 TangentPenalty = rTangentPenalty / Area;
96 mPlasticSlipNew = 0.0;
97 mDeltaPlasticSlip = 0.0;
102 :mPlasticSlip(rOther.mPlasticSlip)
103 ,mPlasticSlipNew(rOther.mPlasticSlipNew)
104 ,mDeltaPlasticSlip(rOther.mDeltaPlasticSlip)
114 virtual FrictionLaw::Pointer
Clone()
const
116 return Kratos::make_shared<FrictionLaw>(*
this);
132 void FinalizeSolutionStep();
135 bool EvaluateFrictionLaw(
double& rTangentForce,
const double& rNormalForce, FrictionLawVariables& rTangentVariables);
137 void EvaluateConstitutiveComponents(
double& rNormalModulus,
double & rTangentModulus,
const double& rTangentForce,
const double& rEffectiveNormalForce, FrictionLawVariables& rTangentVariables);
156 virtual std::string
Info()
const
158 std::stringstream buffer;
159 buffer <<
"FrictionLaw";
166 rOStream <<
"FrictionLaw";
172 rOStream <<
"FrictionLaw Data";
238 double mPlasticSlipNew;
239 double mDeltaPlasticSlip;
256 virtual void save(
Serializer& rSerializer )
const
258 rSerializer.
save(
"mPlasticSlip",mPlasticSlip);
259 rSerializer.
save(
"mPlasticSlipNew",mPlasticSlipNew);
260 rSerializer.
save(
"mDeltaPlasticSlip",mDeltaPlasticSlip);
265 rSerializer.
load(
"mPlasticSlip",mPlasticSlip);
266 rSerializer.
load(
"mPlasticSlipNew",mPlasticSlipNew);
267 rSerializer.
load(
"mDeltaPlasticSlip",mDeltaPlasticSlip);
318 return rOStream << rThis.
Info();
#define DECLARE_ADD_THIS_TYPE_TO_PROPERTIES
Definition: properties_extensions.hpp:14
#define DECLARE_GET_THIS_TYPE_FROM_PROPERTIES
Definition: properties_extensions.hpp:29
Short class definition.
Definition: friction_law.hpp:52
virtual void EvaluateYieldDerivativeRespectStress(double &rdF_dt, double &rdF_dp, const double &rTangentStress, const double &rNormalStress, const double &Gamma, FrictionLawVariables &rTangentVariables)
Definition: friction_law.hpp:208
virtual FrictionLaw::Pointer Clone() const
Definition: friction_law.hpp:114
FrictionLaw()
Default constructor.
Definition: friction_law.hpp:93
virtual double EvaluateContactYield(const double &rTangentStress, const double &rNormalStress, const double &rPlasticSlip, FrictionLawVariables &rTangentVariables)
Definition: friction_law.hpp:205
virtual std::string Info() const
Turn back information as a string.
Definition: friction_law.hpp:156
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: friction_law.hpp:170
double GetPlasticSlip()
Definition: friction_law.hpp:139
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: friction_law.hpp:164
KRATOS_CLASS_POINTER_DEFINITION(FrictionLaw)
Pointer definition of FrictionLaw.
virtual double EvaluateHardening(const double &rNormalStress, const double &rPlasticSlip, FrictionLawVariables &rTangentVariables)
Definition: friction_law.hpp:202
FrictionLaw(FrictionLaw const &rOther)
Copy constructor.
Definition: friction_law.hpp:101
virtual ~FrictionLaw()
Destructor.
Definition: friction_law.hpp:108
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
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def load(f)
Definition: ode_solve.py:307
def Gamma(n, j)
Definition: quadrature.py:146
Definition: friction_law.hpp:58
FrictionLawVariables()
Definition: friction_law.hpp:72
double PlasticSlipOld
Definition: friction_law.hpp:66
double Adhesion
Definition: friction_law.hpp:68
double PlasticSlip
Definition: friction_law.hpp:67
double Alpha
Definition: friction_law.hpp:61
double TangentPenalty
Definition: friction_law.hpp:64
double FrictionCoefficient
Definition: friction_law.hpp:60
void Initialize(const double &rTangentPenalty, double PS, double &rArea, bool rImplex=false)
Definition: friction_law.hpp:74
double Area
Definition: friction_law.hpp:62
bool Implex
Definition: friction_law.hpp:70