KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::CoulombAdhesionFrictionLaw Class Reference

Short class definition. More...

#include <coulomb_adhesion_friction_law.hpp>

Inheritance diagram for Kratos::CoulombAdhesionFrictionLaw:
Collaboration diagram for Kratos::CoulombAdhesionFrictionLaw:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (CoulombAdhesionFrictionLaw)
 Pointer definition of CoulombAdhesionFrictionLaw. More...
 
Life Cycle
 CoulombAdhesionFrictionLaw ()
 Default constructor. More...
 
 CoulombAdhesionFrictionLaw (CoulombAdhesionFrictionLaw const &rOther)
 Copy constructor. More...
 
 ~CoulombAdhesionFrictionLaw () override
 Destructor. More...
 
FrictionLaw::Pointer Clone () const override
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::FrictionLaw
 FrictionLaw ()
 Default constructor. More...
 
 FrictionLaw (FrictionLaw const &rOther)
 Copy constructor. More...
 
virtual ~FrictionLaw ()
 Destructor. More...
 
 FrictionLaw ()
 Default constructor. More...
 
virtual ~FrictionLaw ()
 Destructor. More...
 
void InitializeSolutionStep ()
 
void FinalizeSolutionStep ()
 
bool EvaluateFrictionLaw (double &rTangentForce, const double &rNormalForce, FrictionLawVariables &rTangentVariables)
 
void EvaluateConstitutiveComponents (double &rNormalModulus, double &rTangentModulus, const double &rTangentForce, const double &rEffectiveNormalForce, FrictionLawVariables &rTangentVariables)
 
double GetPlasticSlip ()
 
virtual int Check ()
 Check on the completeness of the input. More...
 
virtual void Initialize (const GeometryType &rGeometry, const Properties &rProperty, const ProcessInfo &rProcessInfo)
 Initialize the friction law variables. More...
 
virtual double CalculateLHS (const double &rHeight, const array_1d< double, 3 > &rVelocity)
 Calculate the LHS coefficient for the given data. More...
 
virtual array_1d< double, 3 > CalculateRHS (const double &rHeight, const array_1d< double, 3 > &rVelocity)
 Calculate the RHS coefficient for the given data. More...
 
virtual double CalculateLHS (const array_1d< double, 3 > &rInnerLayer)
 Calculate the LHS coefficient for the given data. More...
 
virtual array_1d< double, 3 > CalculateRHS (const array_1d< double, 3 > &rInnerLayer)
 Calculate the RHS coefficient for the given data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (FrictionLaw)
 Pointer definition of FrictionLaw. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (FrictionLaw)
 

Protected Member Functions

Protected Operations
double EvaluateHardening (const double &rNormalStress, const double &rPlasticSlip, FrictionLawVariables &rTangentVariables) override
 
double EvaluateContactYield (const double &rTangentStress, const double &rNormalStress, const double &rPlasticSlip, FrictionLawVariables &rTangentVariables) override
 
void EvaluateYieldDerivativeRespectStress (double &rdF_dt, double &rdF_dp, const double &rTangentStress, const double &rNormalStress, const double &Gamma, FrictionLawVariables &rTangentVariables) override
 
Protected Operations

Serialization

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::FrictionLaw
typedef Node NodeType
 
typedef Geometry< NodeTypeGeometryType
 

Detailed Description

Short class definition.

Coulomb with adhesion friction laws.

Constructor & Destructor Documentation

◆ CoulombAdhesionFrictionLaw() [1/2]

Kratos::CoulombAdhesionFrictionLaw::CoulombAdhesionFrictionLaw ( )
inline

Default constructor.

◆ CoulombAdhesionFrictionLaw() [2/2]

Kratos::CoulombAdhesionFrictionLaw::CoulombAdhesionFrictionLaw ( CoulombAdhesionFrictionLaw const &  rOther)
inline

Copy constructor.

◆ ~CoulombAdhesionFrictionLaw()

Kratos::CoulombAdhesionFrictionLaw::~CoulombAdhesionFrictionLaw ( )
inlineoverride

Destructor.

Member Function Documentation

◆ Clone()

FrictionLaw::Pointer Kratos::CoulombAdhesionFrictionLaw::Clone ( ) const
inlineoverridevirtual

Clone function (has to be implemented by any derived class)

Returns
a pointer to a new instance of this friction law

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

◆ EvaluateContactYield()

double Kratos::CoulombAdhesionFrictionLaw::EvaluateContactYield ( const double rTangentStress,
const double rNormalStress,
const double rPlasticSlip,
FrictionLawVariables rTangentVariables 
)
overrideprotectedvirtual

Methods

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

◆ EvaluateHardening()

double Kratos::CoulombAdhesionFrictionLaw::EvaluateHardening ( const double rNormalStress,
const double rPlasticSlip,
FrictionLawVariables rTangentVariables 
)
overrideprotectedvirtual

Methods

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

◆ EvaluateYieldDerivativeRespectStress()

void Kratos::CoulombAdhesionFrictionLaw::EvaluateYieldDerivativeRespectStress ( double rdF_dt,
double rdF_dp,
const double rTangentStress,
const double rNormalStress,
const double Gamma,
FrictionLawVariables rTangentVariables 
)
overrideprotectedvirtual

Methods

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

◆ Info()

std::string Kratos::CoulombAdhesionFrictionLaw::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::CoulombAdhesionFrictionLaw::KRATOS_CLASS_POINTER_DEFINITION ( CoulombAdhesionFrictionLaw  )

Pointer definition of CoulombAdhesionFrictionLaw.

◆ PrintData()

void Kratos::CoulombAdhesionFrictionLaw::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

◆ PrintInfo()

void Kratos::CoulombAdhesionFrictionLaw::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::HardeningCoulombFrictionLaw.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

The documentation for this class was generated from the following files: