version 3.9.0
Loading...
Searching...
No Matches
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}\).
 
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}}\).
 

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: