template<class ScalarType, class GridGeometry, class
ForchheimerVelocity>
class Dumux::BoxForchheimersLaw< ScalarType, GridGeometry, ForchheimerVelocity >
Forchheimer's law for box scheme.
Specialization of the BoxForchheimersLaw.
- Note
- Forchheimer's law is specialized for network and surface grids (i.e. if grid dim < dimWorld)
- Template Parameters
-
Scalar | the scalar type for scalar physical quantities |
GridGeometry | the grid geometry |
ForchheimerVelocity | class for the calculation of the Forchheimer velocity |
isNetwork | whether we are computing on a network grid embedded in a higher world dimension |
|
template<class Problem , class ElementVolumeVariables , class ElementFluxVarsCache > |
static Scalar | flux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, int phaseIdx, const ElementFluxVarsCache &elemFluxVarsCache) |
| Compute the advective flux of a phase across the given sub-control volume face using the Forchheimer equation. More...
|
|
template<class Problem , class ElementVolumeVariables > |
static Scalar | calculateTransmissibility (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf) |
|
template<class Problem , class ElementVolumeVariables > |
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 , class ElementFluxVarsCache >
static Scalar Dumux::BoxForchheimersLaw< ScalarType, GridGeometry, ForchheimerVelocity >::flux |
( |
const Problem & |
problem, |
|
|
const Element & |
element, |
|
|
const FVElementGeometry & |
fvGeometry, |
|
|
const ElementVolumeVariables & |
elemVolVars, |
|
|
const SubControlVolumeFace & |
scvf, |
|
|
int |
phaseIdx, |
|
|
const ElementFluxVarsCache & |
elemFluxVarsCache |
|
) |
| |
|
inlinestatic |
Compute the advective flux of a phase across the given sub-control volume face using the Forchheimer equation.
The flux is given in N*m, and can be converted into a volume flux (m^3/s) or mass flux (kg/s) by applying an upwind scheme for the mobility or the product of density and mobility, respectively.