3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | List of all members
Dumux::PipeLauferProblem< TypeTag > Class Template Reference

Test problem for the one-phase (Navier-) Stokes problem in a channel. More...

#include <test/freeflow/rans/problem.hh>

Inheritance diagram for Dumux::PipeLauferProblem< TypeTag >:
Inheritance graph

Description

template<class TypeTag>
class Dumux::PipeLauferProblem< TypeTag >

Test problem for the one-phase (Navier-) Stokes problem in a channel.

This test simulates is based on pipe flow experiments by John Laufers experiments in 1954 [40].

Public Member Functions

 PipeLauferProblem (std::shared_ptr< const GridGeometry > gridGeometry)
 
Problem parameters
bool isOnWallAtPos (const GlobalPosition &globalPos) const
 
Scalar sandGrainRoughnessAtPos (const GlobalPosition &globalPos) const
 
bool shouldWriteRestartFile () const
 
Scalar temperature () const
 Returns the temperature [K] within the domain for the isothermal model. More...
 
NumEqVector sourceAtPos (const GlobalPosition &globalPos) const
 Returns the sources within the domain. More...
 

Boundary conditions

BoundaryTypes boundaryTypesAtPos (const GlobalPosition &globalPos) const
 Specifies which kind of boundary condition should be used for which equation on a given boundary control volume. More...
 
template<class Element , class FVElementGeometry , class SubControlVolume >
bool isDirichletCell (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolume &scv, int pvIdx) const
 Returns whether a fixed Dirichlet value shall be used at a given cell. More...
 
PrimaryVariables dirichlet (const Element &element, const SubControlVolumeFace &scvf) const
 Evaluate the boundary conditions for a dirichlet values at the boundary. More...
 
template<bool enable = (ModelTraits::turbulenceModel() == TurbulenceModel::komega || ModelTraits::turbulenceModel() == TurbulenceModel::kepsilon), std::enable_if_t<!enable, int > = 0>
PrimaryVariables dirichlet (const Element &element, const SubControlVolume &scv) const
 Evaluate the boundary conditions for fixed values at cell centers. More...
 
template<bool enable = (ModelTraits::turbulenceModel() == TurbulenceModel::komega || ModelTraits::turbulenceModel() == TurbulenceModel::kepsilon), std::enable_if_t< enable, int > = 0>
PrimaryVariables dirichlet (const Element &element, const SubControlVolume &scv) const
 Evaluate the boundary conditions for fixed values at cell centers. More...
 
PrimaryVariables initialAtPos (const GlobalPosition &globalPos) const
 Evaluate the initial value for a control volume. More...
 
void setTimeLoop (TimeLoopPtr timeLoop)
 
Scalar time () const
 

Constructor & Destructor Documentation

◆ PipeLauferProblem()

template<class TypeTag >
Dumux::PipeLauferProblem< TypeTag >::PipeLauferProblem ( std::shared_ptr< const GridGeometry >  gridGeometry)
inline

Member Function Documentation

◆ boundaryTypesAtPos()

template<class TypeTag >
BoundaryTypes Dumux::PipeLauferProblem< TypeTag >::boundaryTypesAtPos ( const GlobalPosition &  globalPos) const
inline

Specifies which kind of boundary condition should be used for which equation on a given boundary control volume.

Parameters
globalPosThe position of the center of the finite volume

◆ dirichlet() [1/3]

template<class TypeTag >
template<bool enable = (ModelTraits::turbulenceModel() == TurbulenceModel::komega || ModelTraits::turbulenceModel() == TurbulenceModel::kepsilon), std::enable_if_t<!enable, int > = 0>
PrimaryVariables Dumux::PipeLauferProblem< TypeTag >::dirichlet ( const Element &  element,
const SubControlVolume &  scv 
) const
inline

Evaluate the boundary conditions for fixed values at cell centers.

Parameters
elementThe finite element
scvthe sub control volume
Note
used for cell-centered discretization schemes

◆ dirichlet() [2/3]

template<class TypeTag >
template<bool enable = (ModelTraits::turbulenceModel() == TurbulenceModel::komega || ModelTraits::turbulenceModel() == TurbulenceModel::kepsilon), std::enable_if_t< enable, int > = 0>
PrimaryVariables Dumux::PipeLauferProblem< TypeTag >::dirichlet ( const Element &  element,
const SubControlVolume &  scv 
) const
inline

Evaluate the boundary conditions for fixed values at cell centers.

Parameters
elementThe finite element
scvthe sub control volume
Note
used for cell-centered discretization schemes

◆ dirichlet() [3/3]

template<class TypeTag >
PrimaryVariables Dumux::PipeLauferProblem< TypeTag >::dirichlet ( const Element &  element,
const SubControlVolumeFace &  scvf 
) const
inline

Evaluate the boundary conditions for a dirichlet values at the boundary.

Parameters
elementThe finite element
scvfthe sub control volume face
Note
used for cell-centered discretization schemes

◆ initialAtPos()

template<class TypeTag >
PrimaryVariables Dumux::PipeLauferProblem< TypeTag >::initialAtPos ( const GlobalPosition &  globalPos) const
inline

Evaluate the initial value for a control volume.

Parameters
globalPosThe global position

◆ isDirichletCell()

template<class TypeTag >
template<class Element , class FVElementGeometry , class SubControlVolume >
bool Dumux::PipeLauferProblem< TypeTag >::isDirichletCell ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolume &  scv,
int  pvIdx 
) const
inline

Returns whether a fixed Dirichlet value shall be used at a given cell.

Parameters
elementThe finite element
fvGeometryThe finite-volume geometry
scvThe sub control volume
pvIdxThe primary variable index in the solution vector

◆ isOnWallAtPos()

template<class TypeTag >
bool Dumux::PipeLauferProblem< TypeTag >::isOnWallAtPos ( const GlobalPosition &  globalPos) const
inline

◆ sandGrainRoughnessAtPos()

template<class TypeTag >
Scalar Dumux::PipeLauferProblem< TypeTag >::sandGrainRoughnessAtPos ( const GlobalPosition &  globalPos) const
inline

◆ setTimeLoop()

template<class TypeTag >
void Dumux::PipeLauferProblem< TypeTag >::setTimeLoop ( TimeLoopPtr  timeLoop)
inline

◆ shouldWriteRestartFile()

template<class TypeTag >
bool Dumux::PipeLauferProblem< TypeTag >::shouldWriteRestartFile ( ) const
inline

◆ sourceAtPos()

template<class TypeTag >
NumEqVector Dumux::PipeLauferProblem< TypeTag >::sourceAtPos ( const GlobalPosition &  globalPos) const
inline

Returns the sources within the domain.

Parameters
globalPosThe global position

◆ temperature()

template<class TypeTag >
Scalar Dumux::PipeLauferProblem< TypeTag >::temperature ( ) const
inline

Returns the temperature [K] within the domain for the isothermal model.

◆ time()

template<class TypeTag >
Scalar Dumux::PipeLauferProblem< TypeTag >::time ( ) const
inline

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