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

This material law takes a material law (interfacial area surface) defined for effective saturations and converts it to a material (interfacial area surface) law defined on absolute saturations. More...

#include <dumux/material/fluidmatrixinteractions/2pia/efftoabslawia.hh>

Description

template<class EffLawIAT, class MaterialAbsParamsT, class InterfacialAreaAbsParamsT = typename EffLawIAT::Params>
class Dumux::EffToAbsLawIA< EffLawIAT, MaterialAbsParamsT, InterfacialAreaAbsParamsT >

This material law takes a material law (interfacial area surface) defined for effective saturations and converts it to a material (interfacial area surface) law defined on absolute saturations.

The idea: "material laws" (like VanGenuchten or BrooksCorey) are defined for effective saturations. The numeric calculations however are performed with absolute saturations. The EffToAbsLaw class gets the "material laws" actually used as well as the corresponding parameter container as template arguments.

Subsequently, the desired function (pc, sw... ) of the actually used "material laws" are called but with the saturations already converted from absolute to effective.

This approach makes sure that in the "material laws" only effective saturations are considered, which makes sense, as these laws only deal with effective saturations. This also allows for changing the calculation of the effective saturations easily, as this is subject of discussion may be problem specific.

Additionally, handing over effective saturations to the "material laws" in stead of them calculating effective saturations prevents accidently "converting twice".

This boils down to:

Public Types

using Params = InterfacialAreaAbsParamsT
 
using Scalar = typename MaterialParams::Scalar
 

Static Public Member Functions

static Scalar interfacialArea (const Params &iaParams, const MaterialParams &params, const Scalar sw, const Scalar pc)
 The interfacial area relation. More...
 

Static Protected Member Functions

static Scalar swToSwe (const MaterialParams &params, Scalar sw)
 Convert an absolute wetting saturation to an effective one. More...
 

Member Typedef Documentation

◆ Params

template<class EffLawIAT , class MaterialAbsParamsT , class InterfacialAreaAbsParamsT = typename EffLawIAT::Params>
using Dumux::EffToAbsLawIA< EffLawIAT, MaterialAbsParamsT, InterfacialAreaAbsParamsT >::Params = InterfacialAreaAbsParamsT

◆ Scalar

template<class EffLawIAT , class MaterialAbsParamsT , class InterfacialAreaAbsParamsT = typename EffLawIAT::Params>
using Dumux::EffToAbsLawIA< EffLawIAT, MaterialAbsParamsT, InterfacialAreaAbsParamsT >::Scalar = typename MaterialParams::Scalar

Member Function Documentation

◆ interfacialArea()

template<class EffLawIAT , class MaterialAbsParamsT , class InterfacialAreaAbsParamsT = typename EffLawIAT::Params>
static Scalar Dumux::EffToAbsLawIA< EffLawIAT, MaterialAbsParamsT, InterfacialAreaAbsParamsT >::interfacialArea ( const Params iaParams,
const MaterialParams &  params,
const Scalar  sw,
const Scalar  pc 
)
inlinestatic

The interfacial area relation.

Parameters
swAbsolute saturation of the wetting phase \(\mathrm{{S}_w}\).
iaParamsparameter container for the interfacial area
pcCapillary pressure in \(\mathrm{[Pa]}\)
paramsparameter container for the saturation/materials

◆ swToSwe()

template<class EffLawIAT , class MaterialAbsParamsT , class InterfacialAreaAbsParamsT = typename EffLawIAT::Params>
static Scalar Dumux::EffToAbsLawIA< EffLawIAT, MaterialAbsParamsT, InterfacialAreaAbsParamsT >::swToSwe ( const MaterialParams &  params,
Scalar  sw 
)
inlinestaticprotected

Convert an absolute wetting saturation to an effective one.

Parameters
swAbsolute saturation of the wetting phase \(\mathrm{{S}_w}\).
paramsA container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too.
Returns
Effective saturation of the wetting phase.

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