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.
Classes | List of all members
Kratos::NavierSlipWallLaw< TDim, TNumNodes > Class Template Reference

Navier-slip law LHS and RHS contribution implementation This class implements the LHS and RHS contributions of the Navier-slip wall model This class should be used in combination with an incompressible Navier-Stokes (or Stokes) condition implementing the remaining terms (see @NavierStokesWallCondition). More information about can be found in https://onlinelibrary.wiley.com/doi/abs/10.1002/fld.663. More...

#include <navier_slip_wall_law.h>

Collaboration diagram for Kratos::NavierSlipWallLaw< TDim, TNumNodes >:

Public Member Functions

Life Cycle
 NavierSlipWallLaw ()=delete
 Default constructor. More...
 
 NavierSlipWallLaw (NavierSlipWallLaw const &rOther)=delete
 Copy constructor. More...
 
 ~NavierSlipWallLaw ()=default
 Destructor. More...
 
Input and output
std::string Info () const
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Static Public Member Functions

Operations
static void AddWallModelLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const Condition *pCondition, const ProcessInfo &rCurrentProcessInfo)
 Add the LHS and RHS Navier-slip contributions This method adds the Navier-slip LHS and RHS contributions to the provided matrices. More...
 
static void AddWallModelLeftHandSide (MatrixType &rLeftHandSideMatrix, const Condition *pCondition, const ProcessInfo &rCurrentProcessInfo)
 Add the LHS Navier-slip contribution This method adds the Navier-slip LHS contribution to the provided matrix. More...
 
static void AddWallModelRightHandSide (VectorType &rRightHandSideVector, const Condition *pCondition, const ProcessInfo &rCurrentProcessInfo)
 Add the RHS Navier-slip contribution This method adds the Navier-slip RHS contribution to the provided vector. More...
 
static int Check (const Condition *pCondition, const ProcessInfo &rCurrentProcessInfo)
 Check function This function checks the current wall law input parameters. More...
 

Type Definitions

using SizeType = Condition::SizeType
 
using IndexType = Condition::IndexType
 
using VectorType = Condition::VectorType
 
using MatrixType = Condition::MatrixType
 
static constexpr std::size_t BlockSize = TDim+1
 
static constexpr std::size_t LocalSize = TNumNodes*BlockSize
 
 KRATOS_CLASS_POINTER_DEFINITION (NavierSlipWallLaw)
 Pointer definition of NavierSlipWallLaw. More...
 

Detailed Description

template<std::size_t TDim, std::size_t TNumNodes>
class Kratos::NavierSlipWallLaw< TDim, TNumNodes >

Navier-slip law LHS and RHS contribution implementation This class implements the LHS and RHS contributions of the Navier-slip wall model This class should be used in combination with an incompressible Navier-Stokes (or Stokes) condition implementing the remaining terms (see @NavierStokesWallCondition). More information about can be found in https://onlinelibrary.wiley.com/doi/abs/10.1002/fld.663.

Template Parameters
TDimNumber of dimensions
TNumNodesNumber of nodes

Member Typedef Documentation

◆ IndexType

template<std::size_t TDim, std::size_t TNumNodes>
using Kratos::NavierSlipWallLaw< TDim, TNumNodes >::IndexType = Condition::IndexType

◆ MatrixType

template<std::size_t TDim, std::size_t TNumNodes>
using Kratos::NavierSlipWallLaw< TDim, TNumNodes >::MatrixType = Condition::MatrixType

◆ SizeType

template<std::size_t TDim, std::size_t TNumNodes>
using Kratos::NavierSlipWallLaw< TDim, TNumNodes >::SizeType = Condition::SizeType

◆ VectorType

template<std::size_t TDim, std::size_t TNumNodes>
using Kratos::NavierSlipWallLaw< TDim, TNumNodes >::VectorType = Condition::VectorType

Constructor & Destructor Documentation

◆ NavierSlipWallLaw() [1/2]

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::NavierSlipWallLaw< TDim, TNumNodes >::NavierSlipWallLaw ( )
delete

Default constructor.

◆ NavierSlipWallLaw() [2/2]

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::NavierSlipWallLaw< TDim, TNumNodes >::NavierSlipWallLaw ( NavierSlipWallLaw< TDim, TNumNodes > const &  rOther)
delete

Copy constructor.

◆ ~NavierSlipWallLaw()

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::NavierSlipWallLaw< TDim, TNumNodes >::~NavierSlipWallLaw ( )
default

Destructor.

Member Function Documentation

◆ AddWallModelLeftHandSide()

template<std::size_t TDim, std::size_t TNumNodes>
static void Kratos::NavierSlipWallLaw< TDim, TNumNodes >::AddWallModelLeftHandSide ( MatrixType rLeftHandSideMatrix,
const Condition pCondition,
const ProcessInfo rCurrentProcessInfo 
)
inlinestatic

Add the LHS Navier-slip contribution This method adds the Navier-slip LHS contribution to the provided matrix.

Parameters
rLeftHandSideMatrixReference to the output LHS matrix
pConditionPointer to the current condition
rCurrentProcessInfoReference to current ProcessInfo container

◆ AddWallModelLocalSystem()

template<std::size_t TDim, std::size_t TNumNodes>
static void Kratos::NavierSlipWallLaw< TDim, TNumNodes >::AddWallModelLocalSystem ( MatrixType rLeftHandSideMatrix,
VectorType rRightHandSideVector,
const Condition pCondition,
const ProcessInfo rCurrentProcessInfo 
)
inlinestatic

Add the LHS and RHS Navier-slip contributions This method adds the Navier-slip LHS and RHS contributions to the provided matrices.

Parameters
rLeftHandSideMatrixReference to the output LHS matrix
rRightHandSideVectorReference to the output RHS matrix
pConditionPointer to the current condition
rCurrentProcessInfoReference to current ProcessInfo con

◆ AddWallModelRightHandSide()

template<std::size_t TDim, std::size_t TNumNodes>
static void Kratos::NavierSlipWallLaw< TDim, TNumNodes >::AddWallModelRightHandSide ( VectorType rRightHandSideVector,
const Condition pCondition,
const ProcessInfo rCurrentProcessInfo 
)
inlinestatic

Add the RHS Navier-slip contribution This method adds the Navier-slip RHS contribution to the provided vector.

Parameters
rRightHandSideVectorReference to the output RHS vector
pConditionPointer to the current condition
rCurrentProcessInfoReference to current ProcessInfo container

◆ Check()

template<std::size_t TDim, std::size_t TNumNodes>
static int Kratos::NavierSlipWallLaw< TDim, TNumNodes >::Check ( const Condition pCondition,
const ProcessInfo rCurrentProcessInfo 
)
inlinestatic

Check function This function checks the current wall law input parameters.

Parameters
pConditionPointer to the current condition
rCurrentProcessInfoReference to the ProcessInfo data container
Returns
int Check status

◆ Info()

template<std::size_t TDim, std::size_t TNumNodes>
std::string Kratos::NavierSlipWallLaw< TDim, TNumNodes >::Info ( ) const
inline

Turn back information as a string.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::NavierSlipWallLaw< TDim, TNumNodes >::KRATOS_CLASS_POINTER_DEFINITION ( NavierSlipWallLaw< TDim, TNumNodes >  )

Pointer definition of NavierSlipWallLaw.

◆ PrintData()

template<std::size_t TDim, std::size_t TNumNodes>
void Kratos::NavierSlipWallLaw< TDim, TNumNodes >::PrintData ( std::ostream &  rOStream) const
inline

Print object's data.

◆ PrintInfo()

template<std::size_t TDim, std::size_t TNumNodes>
void Kratos::NavierSlipWallLaw< TDim, TNumNodes >::PrintInfo ( std::ostream &  rOStream) const
inline

Print information about this object.

Member Data Documentation

◆ BlockSize

template<std::size_t TDim, std::size_t TNumNodes>
constexpr std::size_t Kratos::NavierSlipWallLaw< TDim, TNumNodes >::BlockSize = TDim+1
staticconstexpr

◆ LocalSize

template<std::size_t TDim, std::size_t TNumNodes>
constexpr std::size_t Kratos::NavierSlipWallLaw< TDim, TNumNodes >::LocalSize = TNumNodes*BlockSize
staticconstexpr

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