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::FrictionalLaw Class Reference

This class defines the base class for frictional laws. More...

#include <frictional_law.h>

Inheritance diagram for Kratos::FrictionalLaw:
Collaboration diagram for Kratos::FrictionalLaw:

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
 

Detailed Description

This class defines the base class for frictional laws.

This class does nothing, define derived frictional laws in order to make use of it

Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ IndexType

using Kratos::FrictionalLaw::IndexType = std::size_t

Index type definition.

◆ SizeType

using Kratos::FrictionalLaw::SizeType = std::size_t

Size type definition.

Constructor & Destructor Documentation

◆ FrictionalLaw() [1/2]

Kratos::FrictionalLaw::FrictionalLaw ( )
inline

Default constructor.

◆ FrictionalLaw() [2/2]

Kratos::FrictionalLaw::FrictionalLaw ( const FrictionalLaw rhs)
inline

Copy constructor (not really required)

◆ ~FrictionalLaw()

virtual Kratos::FrictionalLaw::~FrictionalLaw ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ GetFrictionCoefficient()

double Kratos::FrictionalLaw::GetFrictionCoefficient ( const Node rNode,
const PairedCondition rCondition,
const ProcessInfo rCurrentProcessInfo 
)
virtual

This method returns the friction coefficient.

Parameters
rNodeThe node where the friction coefficient is obtained
rConditionThe condition where the friction is computed
rCurrentProcessInfoThe current instance of the process info

◆ GetThresholdValue()

double Kratos::FrictionalLaw::GetThresholdValue ( const Node rNode,
const PairedCondition rCondition,
const ProcessInfo rCurrentProcessInfo 
)
virtual

This method computes the threshold value considered for computing friction.

Parameters
rNodeThe node where the threshold value is obtained
rConditionThe condition where the friction is computed
rCurrentProcessInfoThe current instance of the process info

Reimplemented in Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >, and Kratos::CoulombFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >.

◆ Info()

virtual std::string Kratos::FrictionalLaw::Info ( ) const
inlinevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::FrictionalLaw::KRATOS_CLASS_POINTER_DEFINITION ( FrictionalLaw  )

Counted pointer of FrictionalLaw.

◆ PrintData()

virtual void Kratos::FrictionalLaw::PrintData ( std::ostream &  rOStream) const
inlinevirtual

◆ PrintInfo()

virtual void Kratos::FrictionalLaw::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ ZeroTolerance

constexpr double Kratos::FrictionalLaw::ZeroTolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Zero tolerance.


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