version 3.9-dev
Dumux::NavierStokesMomentumBoundaryFlux< DiscretizationMethods::FCStaggered, SlipVelocityPolicy > Struct Template Reference

Class to compute the boundary flux for the momentum balance of the Navier-Stokes model This helper class is typically used in the Neumann function of the momentum problem. More...

#include <dumux/freeflow/navierstokes/momentum/fluxhelper.hh>

Description

template<class SlipVelocityPolicy>
struct Dumux::NavierStokesMomentumBoundaryFlux< DiscretizationMethods::FCStaggered, SlipVelocityPolicy >
Template Parameters
SlipVelocityPolicyThe policy to compute the slip velocity at the boundary

The slip velocity policy is a class with a static member function velocity that computes the slip velocity at the boundary.

Static Public Member Functions

template<class Problem , class FVElementGeometry , class ElementVolumeVariables , class ElementFluxVariablesCache , class Scalar >
static auto fixedPressureMomentumFlux (const Problem &problem, const FVElementGeometry &fvGeometry, const typename FVElementGeometry::SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const Scalar pressure, const bool zeroNormalVelocityGradient=true)
 Returns the momentum flux a fixed-pressure boundary. More...
 
template<class Problem , class FVElementGeometry , class ElementVolumeVariables , class ElementFluxVariablesCache , class TangentialVelocityGradient = double>
static auto slipVelocityMomentumFlux (const Problem &problem, const FVElementGeometry &fvGeometry, const typename FVElementGeometry::SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const TangentialVelocityGradient &tangentialVelocityGradient=TangentialVelocityGradient(0.0))
 Returns the momentum flux for a boundary with a slip condition. More...
 

Member Function Documentation

◆ fixedPressureMomentumFlux()

template<class SlipVelocityPolicy >
template<class Problem , class FVElementGeometry , class ElementVolumeVariables , class ElementFluxVariablesCache , class Scalar >
static auto Dumux::NavierStokesMomentumBoundaryFlux< DiscretizationMethods::FCStaggered, SlipVelocityPolicy >::fixedPressureMomentumFlux ( const Problem &  problem,
const FVElementGeometry &  fvGeometry,
const typename FVElementGeometry::SubControlVolumeFace &  scvf,
const ElementVolumeVariables &  elemVolVars,
const ElementFluxVariablesCache &  elemFluxVarsCache,
const Scalar  pressure,
const bool  zeroNormalVelocityGradient = true 
)
inlinestatic
Parameters
problemThe problem
fvGeometryThe finite-volume geometry
scvfThe sub control volume face
elemVolVarsThe volume variables for the element
elemFluxVarsCacheThe flux variables cache for the element
pressureThe pressure given at the boundary
zeroNormalVelocityGradientIf set to false, this yields a "natural" outflow condition where the flow tends to diverge at the boundary. If set to true (default), this yields a "do-nothing" outflow condition where \(\mathbf{v} \cdot \mathbf{n} = 0\) is satisfied and the general flow field is preserved in many cases. See, e.g., https://www.math.uni-magdeburg.de/~richter/WS17/numns/fem.pdf for details.

◆ slipVelocityMomentumFlux()

template<class SlipVelocityPolicy >
template<class Problem , class FVElementGeometry , class ElementVolumeVariables , class ElementFluxVariablesCache , class TangentialVelocityGradient = double>
static auto Dumux::NavierStokesMomentumBoundaryFlux< DiscretizationMethods::FCStaggered, SlipVelocityPolicy >::slipVelocityMomentumFlux ( const Problem &  problem,
const FVElementGeometry &  fvGeometry,
const typename FVElementGeometry::SubControlVolumeFace &  scvf,
const ElementVolumeVariables &  elemVolVars,
const ElementFluxVariablesCache &  elemFluxVarsCache,
const TangentialVelocityGradient &  tangentialVelocityGradient = TangentialVelocityGradient(0.0) 
)
inlinestatic
Parameters
problemThe problem
fvGeometryThe finite-volume geometry
scvfThe sub control volume face
elemVolVarsThe volume variables for the element
elemFluxVarsCacheThe flux variables cache for the element
tangentialVelocityGradientA user-specified velocity gradient in tangential direction of the boundary. Only used for certain situations where this gradient cannot be determined automatically (e.g., at lateral Neumann boundaries).

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