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

Compute the shallow water viscous momentum flux due to (turbulent) viscosity. More...

#include <dumux/flux/shallowwaterviscousflux.hh>

Description

template<class NumEqVector, typename std::enable_if_t< NumEqVector::size()==3, int > = 0>
class Dumux::ShallowWaterViscousFlux< NumEqVector, >

Compute the shallow water viscous momentum flux due to (turbulent) viscosity.

The viscous momentum flux

\[ \int \int_{V} \mathbf{\nabla} \cdot \nu_t h \mathbf{\nabla} \mathbf{u} dV \]

is re-written using Gauss' divergence theorem to:

\[ \int_{S_f} \nu_t h \mathbf{\nabla} \mathbf{u} \cdot \mathbf{n_f} dS \]

The turbulent viscosity \( \nu_t \) is calculated by adding a vertical (Elder-like) and a horizontal (Smagorinsky-like) part.

For now the calculation of the shallow water viscous momentum flux is implemented strictly for 2D depth-averaged models (i.e. 3 equations).

Public Types

using Cache = FluxVariablesCaching::EmptyDiffusionCache
 
using CacheFiller = FluxVariablesCaching::EmptyCacheFiller
 

Static Public Member Functions

template<class Problem , class FVElementGeometry , class ElementVolumeVariables >
static NumEqVector flux (const Problem &problem, const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const typename FVElementGeometry::SubControlVolumeFace &scvf)
 Compute the viscous momentum flux contribution from the interface shear stress. More...
 

Member Typedef Documentation

◆ Cache

template<class NumEqVector , typename std::enable_if_t< NumEqVector::size()==3, int > = 0>
using Dumux::ShallowWaterViscousFlux< NumEqVector, >::Cache = FluxVariablesCaching::EmptyDiffusionCache

◆ CacheFiller

template<class NumEqVector , typename std::enable_if_t< NumEqVector::size()==3, int > = 0>
using Dumux::ShallowWaterViscousFlux< NumEqVector, >::CacheFiller = FluxVariablesCaching::EmptyCacheFiller

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