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.
|
This class defines the base class for frictional laws. More...
#include <frictional_law.h>
Public Member Functions | |
Life Cycle | |
FrictionalLaw () | |
Default constructor. More... | |
FrictionalLaw (const FrictionalLaw &rhs) | |
Copy constructor (not really required) More... | |
virtual | ~FrictionalLaw () |
Destructor. More... | |
Operations | |
virtual double | GetFrictionCoefficient (const Node &rNode, const PairedCondition &rCondition, const ProcessInfo &rCurrentProcessInfo) |
This method returns the friction coefficient. More... | |
virtual double | GetThresholdValue (const Node &rNode, const PairedCondition &rCondition, const ProcessInfo &rCurrentProcessInfo) |
This method computes the threshold value considered for computing friction. 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... | |
Type Definitions | |
using | IndexType = std::size_t |
Index type definition. More... | |
using | SizeType = std::size_t |
Size type definition. More... | |
static constexpr double | ZeroTolerance = std::numeric_limits<double>::epsilon() |
Zero tolerance. More... | |
KRATOS_CLASS_POINTER_DEFINITION (FrictionalLaw) | |
Counted pointer of FrictionalLaw. More... | |
Serialization | |
class | Serializer |
This class defines the base class for frictional laws.
This class does nothing, define derived frictional laws in order to make use of it
using Kratos::FrictionalLaw::IndexType = std::size_t |
Index type definition.
using Kratos::FrictionalLaw::SizeType = std::size_t |
Size type definition.
|
inline |
Default constructor.
|
inline |
Copy constructor (not really required)
|
inlinevirtual |
Destructor.
|
virtual |
This method returns the friction coefficient.
rNode | The node where the friction coefficient is obtained |
rCondition | The condition where the friction is computed |
rCurrentProcessInfo | The current instance of the process info |
|
virtual |
This method computes the threshold value considered for computing friction.
rNode | The node where the threshold value is obtained |
rCondition | The condition where the friction is computed |
rCurrentProcessInfo | The current instance of the process info |
Reimplemented in Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, and Kratos::CoulombFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >.
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >, and Kratos::CoulombFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >.
Kratos::FrictionalLaw::KRATOS_CLASS_POINTER_DEFINITION | ( | FrictionalLaw | ) |
Counted pointer of FrictionalLaw.
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >, and Kratos::CoulombFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >, and Kratos::CoulombFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >.
|
friend |
|
staticconstexpr |
Zero tolerance.