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
Kratos Shallow Water Application

Basic set of tools to solve the shallow water equations. The Shallow Water Application implements a basic set of tools to solve shallow water problems. This applications contains a basic FEM implementation of common techniques using eulerian schemes. More...

Collaboration diagram for Kratos Shallow Water Application:

Classes

class  Kratos::BoussinesqCondition< TNumNodes >
 Implementation of a condition for shallow water waves problems. More...
 
class  Kratos::ConservativeCondition< TNumNodes >
 Implementation of a condition for shallow water waves problems. More...
 
class  Kratos::PrimitiveCondition< TNumNodes >
 Implementation of a condition for shallow water waves problems. More...
 
class  Kratos::WaveCondition< TNumNodes >
 Implementation of a condition for shallow water waves problems. More...
 
class  Kratos::BoussinesqElement< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::ConservativeElement< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::ConservativeElementFC< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::ConservativeElementRV< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::CrankNicolsonWaveElement< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::PrimitiveElement< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::WaveElement< TNumNodes >
 Implementation of a linear element for shallow water problems. More...
 
class  Kratos::ChezyLaw
 The base class for the bottom and surface friction laws. More...
 
class  Kratos::FrictionLaw
 Short class definition. More...
 
class  Kratos::ManningLaw
 The base class for the bottom and surface friction laws. More...
 
class  Kratos::ApplyPerturbationFunctionProcess< TVarType >
 This process assigns a default value or a perturbation if the node is close to an influence area. More...
 
class  Kratos::ApplySinusoidalFunctionProcess< TVarType >
 The aim of this process is to generate sinusoidal waves. More...
 
class  Kratos::CalculateDistanceToBoundaryProcess
 Calculate the minimum distance from all the nodes to a boundary condition in 2D. More...
 
class  Kratos::EstimateTimeStepUtility
 Utility to estimate the time step in terms of the courant number. More...
 
class  Kratos::FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType >
 Tools to apply slip conditions @detail A utility to rotate the local contributions of certain nodes to the system matrix, which is required to apply slip conditions in arbitrary directions. More...
 
class  Kratos::FluxLimiter< TLocalVectorType >
 This is a helper class to separate the physics from the flux corrected scheme. More...
 
class  Kratos::MoveShallowMeshUtility
 Tools for lagrangian computations. More...
 
class  Kratos::ShallowWaterUtilities
 This class is a wrapper of useful utilities for shallow water computations. More...
 
class  Kratos::FrictionLawsFactory
 The base class for the bottom and surface friction laws. More...
 
class  Kratos::NodalManningLaw
 This class computes the bottom friction according to the Manning law. More...
 
class  Kratos::WindWaterFriction
 The base class for the bottom and surface friction laws. More...
 
class  Kratos::DepthIntegrationProcess< TDim >
 Calculate the minimum distance from all the nodes to a boundary condition in 2D. More...
 
class  Kratos::WriteFromSwAtInterfaceProcess< TDim >
 Calculate the minimum distance from all the nodes to a boundary condition in 2D. More...
 
class  Kratos::ResidualBasedAdamsMoultonScheme< TSparseSpace, TDenseSpace >
 Predictor-corrector semi imlicit scheme for the Boussinesq element. More...
 
class  Kratos::DerivativesRecoveryUtility< TDim >
 Superconvergent patch recovery for linear meshes using quadratic polynomials. More...
 
class  Kratos::PhaseFunction
 This class is a wrapper of useful utilities for shallow water computations. More...
 

Input and output

std::ostream & Kratos::operator<< (std::ostream &rOStream, const ChezyLaw &rThis)
 output stream function More...
 
std::ostream & Kratos::operator<< (std::ostream &rOStream, const ManningLaw &rThis)
 output stream function More...
 
std::istream & Kratos::operator>> (std::istream &rIStream, CalculateDistanceToBoundaryProcess &rThis)
 input stream function More...
 
std::ostream & Kratos::operator<< (std::ostream &rOStream, const CalculateDistanceToBoundaryProcess &rThis)
 output stream function More...
 
std::istream & Kratos::operator>> (std::istream &rIStream, EstimateTimeStepUtility &rThis)
 input stream function More...
 
std::ostream & Kratos::operator<< (std::ostream &rOStream, const EstimateTimeStepUtility &rThis)
 output stream function More...
 
template<class TLocalMatrixType , class TLocalVectorType , class TValueType >
std::istream & Kratos::operator>> (std::istream &rIStream, FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType > &rThis)
 input stream function More...
 
template<class TLocalMatrixType , class TLocalVectorType , class TValueType >
std::ostream & Kratos::operator<< (std::ostream &rOStream, const FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType > &rThis)
 output stream function More...
 
std::istream & Kratos::operator>> (std::istream &rIStream, MoveShallowMeshUtility &rThis)
 input stream function More...
 
std::ostream & Kratos::operator<< (std::ostream &rOStream, const MoveShallowMeshUtility &rThis)
 output stream function More...
 

Detailed Description

Basic set of tools to solve the shallow water equations. The Shallow Water Application implements a basic set of tools to solve shallow water problems. This applications contains a basic FEM implementation of common techniques using eulerian schemes.

Function Documentation

◆ operator<<() [1/6]

std::ostream& Kratos::operator<< ( std::ostream &  rOStream,
const CalculateDistanceToBoundaryProcess rThis 
)
inline

output stream function

◆ operator<<() [2/6]

std::ostream& Kratos::operator<< ( std::ostream &  rOStream,
const ChezyLaw rThis 
)
inline

output stream function

◆ operator<<() [3/6]

std::ostream& Kratos::operator<< ( std::ostream &  rOStream,
const EstimateTimeStepUtility rThis 
)
inline

output stream function

◆ operator<<() [4/6]

template<class TLocalMatrixType , class TLocalVectorType , class TValueType >
std::ostream& Kratos::operator<< ( std::ostream &  rOStream,
const FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType > &  rThis 
)
inline

output stream function

◆ operator<<() [5/6]

std::ostream& Kratos::operator<< ( std::ostream &  rOStream,
const ManningLaw rThis 
)
inline

output stream function

◆ operator<<() [6/6]

std::ostream& Kratos::operator<< ( std::ostream &  rOStream,
const MoveShallowMeshUtility rThis 
)
inline

output stream function

◆ operator>>() [1/4]

std::istream& Kratos::operator>> ( std::istream &  rIStream,
CalculateDistanceToBoundaryProcess rThis 
)
inline

input stream function

◆ operator>>() [2/4]

std::istream& Kratos::operator>> ( std::istream &  rIStream,
EstimateTimeStepUtility rThis 
)
inline

input stream function

◆ operator>>() [3/4]

template<class TLocalMatrixType , class TLocalVectorType , class TValueType >
std::istream& Kratos::operator>> ( std::istream &  rIStream,
FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType > &  rThis 
)
inline

input stream function

◆ operator>>() [4/4]

std::istream& Kratos::operator>> ( std::istream &  rIStream,
MoveShallowMeshUtility rThis 
)
inline

input stream function