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::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster > Class Template Reference

This class defines the Tresca frictional laws. More...

#include <tresca_frictional_law.h>

Inheritance diagram for Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >:
Collaboration diagram for Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >:

Public Member Functions

Life Cycle
 TrescaFrictionalLaw ()
 Default constructor. More...
 
 TrescaFrictionalLaw (const TrescaFrictionalLaw &rhs)
 Copy constructor (not really required) More...
 
 ~TrescaFrictionalLaw ()
 Destructor. More...
 
Operations
double GetThresholdValue (const Node &rNode, const PairedCondition &rCondition, const ProcessInfo &rCurrentProcessInfo) override
 This method computes the threshold value considered for computing friction. More...
 
double GetDerivativeThresholdValue (const Node &rNode, const PairedCondition &rCondition, const ProcessInfo &rCurrentProcessInfo, const DerivativeDataType &rDerivativeData, const MortarConditionMatrices &rMortarConditionMatrices, const IndexType IndexDerivative, const IndexType IndexNode) override
 This method computes the threshold derivative value considered for computing friction. More...
 
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::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >
 FrictionalLawWithDerivative ()
 Default constructor. More...
 
 FrictionalLawWithDerivative (const FrictionalLawWithDerivative &rhs)
 Copy constructor (not really required) More...
 
 ~FrictionalLawWithDerivative ()
 Destructor. More...
 
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...
 
 KRATOS_CLASS_POINTER_DEFINITION (FrictionalLawWithDerivative)
 Counted pointer of FrictionalLawWithDerivative. More...
 
- Public Member Functions inherited from Kratos::FrictionalLaw
 FrictionalLaw ()
 Default constructor. More...
 
 FrictionalLaw (const FrictionalLaw &rhs)
 Copy constructor (not really required) More...
 
virtual ~FrictionalLaw ()
 Destructor. More...
 
virtual double GetFrictionCoefficient (const Node &rNode, const PairedCondition &rCondition, const ProcessInfo &rCurrentProcessInfo)
 This method returns the friction coefficient. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (FrictionalLaw)
 Counted pointer of FrictionalLaw. More...
 

Type Definitions

using BaseType = FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >
 Base class definition. More...
 
using DerivativeDataType = typename BaseType::DerivativeDataType
 Definition of the derivative data. More...
 
using MortarConditionMatrices = typename BaseType::MortarConditionMatrices
 The definition of the mortar operators. More...
 
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 (TrescaFrictionalLaw)
 Counted pointer of TrescaFrictionalLaw. More...
 

Serialization

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >
using BaseType = FrictionalLaw
 Define the base class. More...
 
using IndexType = std::size_t
 Index type definition. More...
 
using SizeType = std::size_t
 Size type definition. More...
 
using DerivativeDataType = DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >
 Definition of the derivative data. More...
 
using MortarConditionMatrices = MortarOperatorWithDerivatives< TDim, TNumNodes, true, TNumNodesMaster >
 The definition of the mortar operators. More...
 
- Public Types inherited from Kratos::FrictionalLaw
using IndexType = std::size_t
 Index type definition. More...
 
using SizeType = std::size_t
 Size type definition. More...
 
- Static Public Attributes inherited from Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >
static constexpr double ZeroTolerance
 Zero tolerance. More...
 
- Static Public Attributes inherited from Kratos::FrictionalLaw
static constexpr double ZeroTolerance = std::numeric_limits<double>::epsilon()
 Zero tolerance. More...
 

Detailed Description

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
class Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >

This class defines the Tresca frictional laws.

This class defines the most basic friction model

Author
Vicente Mataix Ferrandiz
Template Parameters
TDimThe dimension of work
TNumNodesThe number of nodes of the slave
TFrictionalIf we are solving a frictional or frictionless problem
TNormalVariationIf we are consider normal variation
TNumNodesMasterThe number of nodes of the master

Member Typedef Documentation

◆ BaseType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::BaseType = FrictionalLawWithDerivative<TDim,TNumNodes,TNormalVariation, TNumNodesMaster>

Base class definition.

◆ DerivativeDataType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::DerivativeDataType = typename BaseType::DerivativeDataType

Definition of the derivative data.

◆ IndexType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::IndexType = std::size_t

Index type definition.

◆ MortarConditionMatrices

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::MortarConditionMatrices = typename BaseType::MortarConditionMatrices

The definition of the mortar operators.

◆ SizeType

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
using Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::SizeType = std::size_t

Size type definition.

Constructor & Destructor Documentation

◆ TrescaFrictionalLaw() [1/2]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::TrescaFrictionalLaw ( )
inline

Default constructor.

◆ TrescaFrictionalLaw() [2/2]

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::TrescaFrictionalLaw ( const TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster > &  rhs)
inline

Copy constructor (not really required)

◆ ~TrescaFrictionalLaw()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::~TrescaFrictionalLaw ( )
inline

Destructor.

Member Function Documentation

◆ GetDerivativeThresholdValue()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
double Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GetDerivativeThresholdValue ( const Node rNode,
const PairedCondition rCondition,
const ProcessInfo rCurrentProcessInfo,
const DerivativeDataType rDerivativeData,
const MortarConditionMatrices rMortarConditionMatrices,
const IndexType  IndexDerivative,
const IndexType  IndexNode 
)
overridevirtual

This method computes the threshold derivative value considered for computing friction.

Parameters
rNodeThe node where the threshold derivative value is obtained
rConditionThe condition where the friction is computed
rCurrentProcessInfoThe current instance of the process info
rDerivativeDataThe reference to the derivative database
rMortarConditionMatricesThe container of the mortar operators
IndexDerivativeThe derivative index
IndexNodeThe corresponding node index on the condition geometry

Reimplemented from Kratos::FrictionalLawWithDerivative< TDim, TNumNodes, TNormalVariation, TNumNodes >.

◆ GetThresholdValue()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster>
double Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::GetThresholdValue ( const Node rNode,
const PairedCondition rCondition,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

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 from Kratos::FrictionalLaw.

◆ Info()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
std::string Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::FrictionalLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::KRATOS_CLASS_POINTER_DEFINITION ( TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >  )

Counted pointer of TrescaFrictionalLaw.

◆ PrintData()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
void Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::FrictionalLaw.

◆ PrintInfo()

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
void Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::FrictionalLaw.

Friends And Related Function Documentation

◆ Serializer

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
friend class Serializer
friend

Member Data Documentation

◆ ZeroTolerance

template<std::size_t TDim, std::size_t TNumNodes, bool TNormalVariation, std::size_t TNumNodesMaster = TNumNodes>
constexpr double Kratos::TrescaFrictionalLaw< TDim, TNumNodes, TNormalVariation, TNumNodesMaster >::ZeroTolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Zero tolerance.


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