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.
|
Short class definition. More...
#include <friction_law.hpp>
Classes | |
struct | FrictionLawVariables |
Public Member Functions | |
Life Cycle | |
FrictionLaw () | |
Default constructor. More... | |
FrictionLaw (FrictionLaw const &rOther) | |
Copy constructor. More... | |
virtual | ~FrictionLaw () |
Destructor. More... | |
virtual FrictionLaw::Pointer | Clone () const |
FrictionLaw () | |
Default constructor. More... | |
virtual | ~FrictionLaw () |
Destructor. More... | |
Operations | |
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... | |
Input and output | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Protected Member Functions | |
Protected Operations | |
virtual double | EvaluateHardening (const double &rNormalStress, const double &rPlasticSlip, FrictionLawVariables &rTangentVariables) |
virtual double | EvaluateContactYield (const double &rTangentStress, const double &rNormalStress, const double &rPlasticSlip, FrictionLawVariables &rTangentVariables) |
virtual void | EvaluateYieldDerivativeRespectStress (double &rdF_dt, double &rdF_dp, const double &rTangentStress, const double &rNormalStress, const double &Gamma, FrictionLawVariables &rTangentVariables) |
Type Definitions | |
typedef Node | NodeType |
typedef Geometry< NodeType > | GeometryType |
KRATOS_CLASS_POINTER_DEFINITION (FrictionLaw) | |
Pointer definition of FrictionLaw. More... | |
KRATOS_CLASS_POINTER_DEFINITION (FrictionLaw) | |
Serialization | |
class | Serializer |
Short class definition.
The base class for the bottom and surface friction laws.
Base class of friction laws.
This class does nothing, define derived friction laws in order to make use of it
typedef Node Kratos::FrictionLaw::NodeType |
|
inline |
Default constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
|
inlinevirtual |
Calculate the LHS coefficient for the given data.
rInnerLayer | The current layer velocity |
Reimplemented in Kratos::WindWaterFriction.
|
inlinevirtual |
Calculate the LHS coefficient for the given data.
rHeight | The layer depth |
rVector | The layer velocity |
Reimplemented in Kratos::ManningLaw, and Kratos::ChezyLaw.
|
inlinevirtual |
Calculate the RHS coefficient for the given data.
rInnerLayer | The current layer velocity |
Reimplemented in Kratos::WindWaterFriction.
|
inlinevirtual |
Calculate the RHS coefficient for the given data.
rHeight | The layer depth |
rVector | The layer velocity |
Reimplemented in Kratos::ManningLaw, and Kratos::ChezyLaw.
|
inlinevirtual |
Check on the completeness of the input.
|
inlinevirtual |
Clone function (has to be implemented by any derived class)
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
void Kratos::FrictionLaw::EvaluateConstitutiveComponents | ( | double & | rNormalModulus, |
double & | rTangentModulus, | ||
const double & | rTangentForce, | ||
const double & | rNormalForce, | ||
FrictionLawVariables & | rTangentVariables | ||
) |
Methods
|
inlineprotectedvirtual |
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
bool Kratos::FrictionLaw::EvaluateFrictionLaw | ( | double & | rTangentForce, |
const double & | rNormalForce, | ||
FrictionLawVariables & | rTangentVariables | ||
) |
Methods
|
inlineprotectedvirtual |
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
inlineprotectedvirtual |
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
void Kratos::FrictionLaw::FinalizeSolutionStep | ( | ) |
|
inline |
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::WindWaterFriction, Kratos::NodalManningLaw, Kratos::ManningLaw, Kratos::ChezyLaw, Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::WindWaterFriction, Kratos::NodalManningLaw, Kratos::ManningLaw, Kratos::ChezyLaw, Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
inlinevirtual |
Initialize the friction law variables.
Reimplemented in Kratos::WindWaterFriction, Kratos::NodalManningLaw, Kratos::ManningLaw, and Kratos::ChezyLaw.
void Kratos::FrictionLaw::InitializeSolutionStep | ( | ) |
Kratos::FrictionLaw::KRATOS_CLASS_POINTER_DEFINITION | ( | FrictionLaw | ) |
Pointer definition of FrictionLaw.
Kratos::FrictionLaw::KRATOS_CLASS_POINTER_DEFINITION | ( | FrictionLaw | ) |
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::HardeningCoulombFrictionLaw, and Kratos::CoulombAdhesionFrictionLaw.
|
friend |