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

The base class for the bottom and surface friction laws. More...

#include <manning_law.h>

Inheritance diagram for Kratos::ManningLaw:
Collaboration diagram for Kratos::ManningLaw:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (ManningLaw)
 
Life Cycle
 ManningLaw ()
 Default Constructor. More...
 
 ManningLaw (const GeometryType &rGeometry, const Properties &rProperty, const ProcessInfo &rProcessInfo)
 Constructor with data. More...
 
virtual ~ManningLaw ()
 Initialize the friction law variables. More...
 
Operations
void Initialize (const GeometryType &rGeometry, const Properties &rProperty, const ProcessInfo &rProcessInfo) override
 Initialize the friction law variables. More...
 
double CalculateLHS (const double &rHeight, const array_1d< double, 3 > &rVelocity) override
 Calculate the LHS coefficient for the given data. More...
 
array_1d< double, 3 > CalculateRHS (const double &rHeight, const array_1d< double, 3 > &rVelocity) override
 Calculate the RHS coefficient for the given data. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
- Public Member Functions inherited from Kratos::FrictionLaw
 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...
 
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 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...
 
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 void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (FrictionLaw)
 Pointer definition of FrictionLaw. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (FrictionLaw)
 

Protected Attributes

Member variables
double mManning2
 
double mEpsilon
 

Additional Inherited Members

- Public Types inherited from Kratos::FrictionLaw
typedef Node NodeType
 
typedef Geometry< NodeTypeGeometryType
 
- Protected Member Functions inherited from Kratos::FrictionLaw
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)
 

Detailed Description

The base class for the bottom and surface friction laws.

This class computes the bottom friction according to the Manning law

Author
Miguel Maso Sotomayor

Constructor & Destructor Documentation

◆ ManningLaw() [1/2]

Kratos::ManningLaw::ManningLaw ( )
inline

Default Constructor.

◆ ManningLaw() [2/2]

Kratos::ManningLaw::ManningLaw ( const GeometryType rGeometry,
const Properties rProperty,
const ProcessInfo rProcessInfo 
)

Constructor with data.

◆ ~ManningLaw()

virtual Kratos::ManningLaw::~ManningLaw ( )
inlinevirtual

Initialize the friction law variables.

Member Function Documentation

◆ CalculateLHS()

double Kratos::ManningLaw::CalculateLHS ( const double rHeight,
const array_1d< double, 3 > &  rVelocity 
)
overridevirtual

Calculate the LHS coefficient for the given data.

Parameters
rHeightThe layer depth
rVectorThe layer velocity or momentum
Returns
The LHS coefficient

Reimplemented from Kratos::FrictionLaw.

◆ CalculateRHS()

array_1d< double, 3 > Kratos::ManningLaw::CalculateRHS ( const double rHeight,
const array_1d< double, 3 > &  rVelocity 
)
overridevirtual

Calculate the RHS coefficient for the given data.

Parameters
rHeightThe layer depth
rVectorThe layer velocity or momentum
Returns
The components of the RHS coefficients

Reimplemented from Kratos::FrictionLaw.

◆ Info()

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

Turn back information as a string.

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::NodalManningLaw.

◆ Initialize()

void Kratos::ManningLaw::Initialize ( const GeometryType rGeometry,
const Properties rProperty,
const ProcessInfo rProcessInfo 
)
overridevirtual

Initialize the friction law variables.

Reimplemented from Kratos::FrictionLaw.

Reimplemented in Kratos::NodalManningLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::ManningLaw::KRATOS_CLASS_POINTER_DEFINITION ( ManningLaw  )

Member Data Documentation

◆ mEpsilon

double Kratos::ManningLaw::mEpsilon
protected

◆ mManning2

double Kratos::ManningLaw::mManning2
protected

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