version 3.10-dev
Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables > Class Template Reference

Forchheimer's law For a detailed description see dumux/flow/forchheimerslaw.hh. More...

#include <dumux/flux/forchheimervelocity.hh>

Description

template<class Scalar, class GridGeometry, class FluxVariables>
class Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >

This file contains the calculation of the Forchheimer velocity for a given Darcy velocity

Public Types

using UpwindScheme = typename FluxVariables::UpwindScheme
 
using DimWorldVector = Dune::FieldVector< Scalar, dimWorld >
 
using DimWorldMatrix = Dune::FieldMatrix< Scalar, dimWorld, dimWorld >
 

Static Public Member Functions

template<class ElementVolumeVariables >
static DimWorldVector velocity (const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, const int phaseIdx, const DimWorldMatrix sqrtK, const DimWorldVector darcyVelocity)
 
template<class Problem , class ElementVolumeVariables , bool scalarPerm = std::is_same<typename Problem::SpatialParams::PermeabilityType, Scalar>::value, std::enable_if_t< scalarPerm, int > = 0>
static DimWorldMatrix calculateHarmonicMeanSqrtPermeability (const Problem &problem, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf)
 Returns the harmonic mean of \(\sqrt{K_0}\) and \(\sqrt{K_1}\). More...
 
template<class Problem , class ElementVolumeVariables , bool scalarPerm = std::is_same<typename Problem::SpatialParams::PermeabilityType, Scalar>::value, std::enable_if_t<!scalarPerm, int > = 0>
static DimWorldMatrix calculateHarmonicMeanSqrtPermeability (const Problem &problem, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf)
 Returns the harmonic mean of \(\sqrt{\mathbf{K_0}}\) and \(\sqrt{\mathbf{K_1}}\). More...
 

Member Typedef Documentation

◆ DimWorldMatrix

template<class Scalar , class GridGeometry , class FluxVariables >
using Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >::DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>

◆ DimWorldVector

template<class Scalar , class GridGeometry , class FluxVariables >
using Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >::DimWorldVector = Dune::FieldVector<Scalar, dimWorld>

◆ UpwindScheme

template<class Scalar , class GridGeometry , class FluxVariables >
using Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >::UpwindScheme = typename FluxVariables::UpwindScheme

Member Function Documentation

◆ calculateHarmonicMeanSqrtPermeability() [1/2]

template<class Scalar , class GridGeometry , class FluxVariables >
template<class Problem , class ElementVolumeVariables , bool scalarPerm = std::is_same<typename Problem::SpatialParams::PermeabilityType, Scalar>::value, std::enable_if_t< scalarPerm, int > = 0>
static DimWorldMatrix Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >::calculateHarmonicMeanSqrtPermeability ( const Problem &  problem,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolumeFace &  scvf 
)
inlinestatic

This is a specialization for scalar-valued permeabilities which returns a tensor with identical diagonal entries.

◆ calculateHarmonicMeanSqrtPermeability() [2/2]

template<class Scalar , class GridGeometry , class FluxVariables >
template<class Problem , class ElementVolumeVariables , bool scalarPerm = std::is_same<typename Problem::SpatialParams::PermeabilityType, Scalar>::value, std::enable_if_t<!scalarPerm, int > = 0>
static DimWorldMatrix Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >::calculateHarmonicMeanSqrtPermeability ( const Problem &  problem,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolumeFace &  scvf 
)
inlinestatic

This is a specialization for tensor-valued permeabilities.

◆ velocity()

template<class Scalar , class GridGeometry , class FluxVariables >
template<class ElementVolumeVariables >
static DimWorldVector Dumux::ForchheimerVelocity< Scalar, GridGeometry, FluxVariables >::velocity ( const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolumeFace &  scvf,
const int  phaseIdx,
const DimWorldMatrix  sqrtK,
const DimWorldVector  darcyVelocity 
)
inlinestatic

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