3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
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.
NumEqVector sourceAtPos (const GlobalPosition &globalPos) const
 Returns the sources within the domain.

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.
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.
PrimaryVariables dirichlet (const Element &element, const SubControlVolumeFace &scvf) const
 Evaluate the boundary conditions for a dirichlet values at the boundary.
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.
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.
PrimaryVariables initialAtPos (const GlobalPosition &globalPos) const
 Evaluate the initial value for a control volume.
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: