version 3.11-dev
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Fluid-matrix interactions

Constitutive models for interaction of fluids and solids. More...

Description

This module includes constitutive relations such as pc-Sw relations, kr-Sw relations, effective diffusion coefficients, friction laws. The relations depend on both the fluid state as well as material parameters of the solid matrix. For example, in porous media theory, the effective heat conductivity depends on the solid heat conductivity, the fluid heat conductivity, as well as the porosity of the solid and the fluid saturation.

Modules

 Effective diffusivity in porous media
 Laws for calculating effective diffusion coefficients.
 
 Effective heat conductivity in porous media
 Laws for calculating effective heat conductivity coefficients.
 
 Friction Laws
 Friction Laws for calculating bottom shear stress.
 
 Dispersion Tensors
 Dispersion tensor models characterising mechanical dispersion in porous media.
 
 Pore Network
 Constitutive Relations for pore networks models.
 

Files

file  fluidsolidinterfacialareashiwang.hh
 Description of a interfacial area between solid and fluid phase.
 
file  brookscorey.hh
 Implementation of the capillary pressure and relative permeability <-> saturation relations according to Brooks and Corey.
 
file  datasplinemateriallaw.hh
 Pc- and Kr-sw curves based on monotone splines through given data points.
 
file  efftoabsdefaultpolicy.hh
 This is a policy for 2p material laws how to convert absolute to relative saturations and vice versa.
 
file  heatpipelaw.hh
 Implementation of the capillary pressure <-> saturation relation for the heatpipe problem.
 
file  exponential.hh
 Specification of a function relating volume specific interfacial area to capillary pressure and saturation. This function is exponential.
 
file  exponentialcubic.hh
 Specification of a function relating volume specific interfacial area to capillary pressure and saturation. This function is of third order in pc.
 
file  interfacialarea.hh
 Implementation helper for capillary-pressure-saturation-interfacial-area relations.
 
file  pcmax.hh
 Specification of a function relating volume specific interfacial area to capillary pressure and saturation. This parametrization uses a maximum value of capillary pressure.
 
file  polynomial2ndorder.hh
 Specification of a function relating volume specific interfacial area to capillary pressure and saturation. This parametrization is a second order polynomial.
 
file  polynomialedgezero2ndorder.hh
 Specification of a function relating volume specific interfacial area to capillary pressure and saturation. This parametrization is a second order polynomial which is zero for saturations of zero and one.
 
file  linearmaterial.hh
 Linear capillary pressure and relative permeability <-> saturation relations.
 
file  materiallaw.hh
 Implementation helper for capillary pressure and relative permeability <-> saturation relations for two-phase models.
 
file  noregularization.hh
 A tag to turn off regularization and it's overhead.
 
file  smoothedlinearlaw.hh
 Implementation of the capillary pressure / relPerm <-> saturation relation using a linear relation smoothed at the upper and lower bounds for kr.
 
file  splinemateriallaw.hh
 A spline approximation wrapper for 2p material laws.
 
file  vangenuchten.hh
 Implementation of the capillary pressure and relative permeability <-> saturation relations according to van Genuchten.
 
file  napladsorption.hh
 Implementation of a NAPL adsorption model.
 
file  parkervangenuchten.hh
 Implementation of van Genuchten's capillary pressure-saturation relation for three phases.
 
file  fluidmatrixinteraction.hh
 Wrapper type to combine an arbitrary number of different laws for fluid-matrix interaction (e.g., pc-Sw-curves).
 
file  mpadapter.hh
 Makes the capillary pressure-saturation relations available under the M-phase API for material laws.
 
file  mplinearmaterial.hh
 Implements a linear saturation-capillary pressure relation.
 
file  permeabilitykozenycarman.hh
 The Kozeny-Carman relationship for the calculation of a porosity-dependent permeability.
 
file  porositydeformation.hh
 A relationship for the porosity of a porous medium under mechanical deformation.
 
file  porosityprecipitation.hh
 Class for the evaluation of the porosity subject to precipitation.
 

Classes

class  Dumux::FluidSolidInterfacialAreaShiWang< Scalar >
 Description of a interfacial area between solid and fluid phase. More...
 
class  Dumux::FluidMatrix::BrooksCorey
 Implementation of the Brooks-Corey capillary pressure <-> saturation relation. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa. More...
 
class  Dumux::FluidMatrix::BrooksCoreyRegularization< Scalar >
 A regularization for the BrooksCorey material law. More...
 
class  Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >
 Pc- and Kr-sw curves based on monotone splines through given data points. More...
 
class  Dumux::FluidMatrix::TwoPEffToAbsDefaultPolicy
 This is a policy for 2p material laws how to convert absolute to relative saturations and vice versa. More...
 
class  Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >
 Implementation of the capillary pressure <-> saturation relation for the heatpipe problem. More...
 
class  Dumux::FluidMatrix::InterfacialAreaExponential
 Implementation of the exponential function relating specific interfacial area to wetting phase saturation and capillary pressure as suggested by Nuske(2009) (Diploma thesis) [62] . More...
 
class  Dumux::FluidMatrix::InterfacialAreaExponentialCubic
 Implementation of a exponential function relating specific interfacial area to wetting phase saturation and capillary pressure. More...
 
class  Dumux::FluidMatrix::InterfacialArea< ScalarType, BaseLaw, InterfaceType, Regularization, EffToAbsPolicy >
 Wrapper class to implement regularized laws (pc-sw-a) with a conversion policy between absolution and effective saturations. More...
 
class  Dumux::FluidMatrix::InterfacialAreaPcMax
 Implementation of the polynomial of second order relating specific interfacial area to wetting phase saturation and capillary pressure. More...
 
class  Dumux::FluidMatrix::InterfacialAreaPolynomialSecondOrder
 Implementation of the polynomial of second order relating specific interfacial area to wetting phase saturation and capillary pressure as suggested by Joekar-Niasar(2008) [46] . More...
 
class  Dumux::FluidMatrix::InterfacialAreaolynomialEdgeZero2ndOrder
 Implementation of the polynomial of second order relating specific interfacial area to wetting phase saturation and capillary pressure. More...
 
class  Dumux::FluidMatrix::LinearMaterial
 Linear capillary pressure and relative permeability <-> saturation relations. More...
 
class  Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >
 Wrapper class to implement regularized material laws (pc-sw, kr-sw) with a conversion policy between absolution and effective saturations. More...
 
struct  Dumux::FluidMatrix::NoRegularization
 A tag to turn off regularization and it's overhead. More...
 
class  Dumux::FluidMatrix::SmoothedLinearLaw< ScalarType, EffToAbsPolicy >
 Implements a linear saturation-capillary pressure relation. More...
 
class  Dumux::FluidMatrix::SplineTwoPMaterialLaw< TwoPMaterialLaw, approximatePcSwInverse >
 A spline approximation wrapper for 2p material laws. More...
 
class  Dumux::FluidMatrix::VanGenuchten
 Implementation of the van Genuchten capillary pressure <-> saturation relation, and relative permeability. More...
 
class  Dumux::FluidMatrix::VanGenuchtenRegularization< Scalar >
 A regularization for the VanGenuchten material law. More...
 
class  Dumux::FluidMatrix::ThreePNAPLAdsorption< Scalar >
 Implementation of a NAPL adsorption model. More...
 
class  Dumux::FluidMatrix::ParkerVanGenuchten3P
 Implementation of Parker/vanGenuchten's capillary pressure <-> saturation relation for three phases. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vince versa. More...
 
class  Dumux::FluidMatrix::ParkerVanGenuchten3PRegularization< Scalar >
 A regularization for the ParkerVanGenuchten3PRegularization material law. More...
 
class  Dumux::FluidMatrix::ParkerVanGenuchtenMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >
 Parker van Genuchten material law. More...
 
struct  Dumux::FluidMatrixInteraction< Laws >
 Wrapper type to combine an arbitrary number of different laws for fluid-matrix interaction (e.g., pc-Sw-curves). More...
 
struct  Dumux::FluidMatrix::Adapter< A, Wrapper >
 Adapter to inherit from, allowing the inheriting class to be wrapped by the makeFluidMatrixInteraction function. More...
 
class  Dumux::FluidMatrix::PcKrSw< T >
 Wrapper type for laws providing pc-Sw and kr-Sw rules. More...
 
class  Dumux::FluidMatrix::MultiPhasePcKrSw< T >
 Wrapper type for multiphase interface laws providing pc-S and kr-S rules. More...
 
struct  Dumux::FluidMatrix::ThreePhasePcKrSw< T >
 Wrapper type for 3p interface laws providing pc-S and kr-S rules. More...
 
class  Dumux::FluidMatrix::WettingNonwettingInterfacialAreaPcSw< T >
 Wrapper type for laws providing rules for the wetting-nonwetting interfacial area. More...
 
class  Dumux::FluidMatrix::WettingSolidInterfacialAreaPcSw< T >
 Wrapper type for laws providing rules for the wetting-solid interfacial area. More...
 
class  Dumux::FluidMatrix::NonwettingSolidInterfacialAreaPcSw< T >
 Wrapper type for laws providing rules for the nonwetting-solid interfacial area. More...
 
class  Dumux::FluidMatrix::Adsorption< T >
 Wrapper type for adsorption laws. More...
 
class  Dumux::FluidMatrix::MPAdapter< MaterialLaw, numFluidPhases >
 An adapter for mpnc to use the capillary pressure-saturation relationships. More...
 
class  Dumux::FluidMatrix::MPLinearMaterial< S, numFluidPhases >
 Implements a linear saturation-capillary pressure relation. More...
 
class  Dumux::PermeabilityKozenyCarman< PermeabilityType >
 The Kozeny-Carman relationship for the calculation of a porosity-dependent permeability. When the porosity is implemented as solution-independent, using this relationship for the permeability leads to unnecessary overhead. More...
 
class  Dumux::PorosityDeformation< Scalar >
 A relationship for the porosity of a porous medium under mechanical deformation. More...
 
class  Dumux::PorosityPrecipitation< Scalar, numComp, numSolidPhases >
 Calculates the porosity depending on the volume fractions of precipitated minerals. More...
 

Typedefs

template<typename Scalar = double>
using Dumux::FluidMatrix::BrooksCoreyDefault = TwoPMaterialLaw< Scalar, BrooksCorey, BrooksCoreyRegularization< Scalar >, TwoPEffToAbsDefaultPolicy >
 A default configuration for using the Brooks Corey material law. More...
 
template<typename Scalar = double>
using Dumux::FluidMatrix::BrooksCoreyNoReg = TwoPMaterialLaw< Scalar, BrooksCorey, NoRegularization, TwoPEffToAbsDefaultPolicy >
 A default configuration without regularization for using the Brooks Corey material law. More...
 
template<typename Scalar = double>
using Dumux::FluidMatrix::VanGenuchtenDefault = TwoPMaterialLaw< Scalar, VanGenuchten, VanGenuchtenRegularization< Scalar >, TwoPEffToAbsDefaultPolicy >
 A default configuration for using the VanGenuchten material law. More...
 
template<typename Scalar = double>
using Dumux::FluidMatrix::VanGenuchtenNoReg = TwoPMaterialLaw< Scalar, VanGenuchten, NoRegularization, TwoPEffToAbsDefaultPolicy >
 A default configuration without regularization for using the VanGenuchten material law. More...
 
template<class Scalar >
using Dumux::FluidMatrix::ParkerVanGenuchten3PNoReg = ParkerVanGenuchtenMaterialLaw< Scalar, ParkerVanGenuchten3P, NoRegularization, ParkerVanGenuchten3PEffToAbsPolicy >
 A configuration for using the ParkerVanGenuchten material law without regularization. More...
 
template<class Scalar >
using Dumux::FluidMatrix::ParkerVanGenuchten3PDefault = ParkerVanGenuchtenMaterialLaw< Scalar, ParkerVanGenuchten3P, ParkerVanGenuchten3PRegularization< Scalar >, ParkerVanGenuchten3PEffToAbsPolicy >
 A default configuration for using the ParkerVanGenuchten material law. More...
 

Functions

template<class... Laws>
auto Dumux::makeFluidMatrixInteraction (Laws &&... laws)
 Helper function to create an FluidMatrixInteraction object containing an arbitrary number of fluid matrix interaction laws (e.g., pc-Sw curves and interfacial area laws). To be used in the spatial parameters. More...
 
template<typename T >
 Dumux::FluidMatrix::PcKrSw (T &&) -> PcKrSw< T >
 Deduction guide for the PcKrSw class. Makes sure that PcKrSw stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::MultiPhasePcKrSw (T &&) -> MultiPhasePcKrSw< T >
 Deduction guide for the MultiPhasePcKrSw class. Makes sure that MultiPhasePcKrSw stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::ThreePhasePcKrSw (T &&) -> ThreePhasePcKrSw< T >
 Deduction guide for the ThreePhasePcKrSw class. Makes sure that ThreePhasePcKrSw stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::WettingNonwettingInterfacialAreaPcSw (T &&) -> WettingNonwettingInterfacialAreaPcSw< T >
 Deduction guide for the WettingNonwettingInterfacialAreaPcSw class. Makes sure that WettingNonwettingInterfacialAreaPcSw stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::WettingSolidInterfacialAreaPcSw (T &&) -> WettingSolidInterfacialAreaPcSw< T >
 Deduction guide for the WettingSolidInterfacialAreaPcSw class. Makes sure that WettingSolidInterfacialAreaPcSw stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::NonwettingSolidInterfacialAreaPcSw (T &&) -> NonwettingSolidInterfacialAreaPcSw< T >
 Deduction guide for the NonwettingSolidInterfacialAreaPcSw class. Makes sure that NonwettingSolidInterfacialAreaPcSw stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::Adsorption (T &&) -> Adsorption< T >
 Deduction guide for the Adsorption class. Makes sure that Adsorption stores a copy of T if the constructor is called with a temporary object. More...
 
template<typename T >
 Dumux::FluidMatrix::MPAdapter (T &&) -> MPAdapter< T >
 Deduction guide for the MPAdapter class. Makes sure that MPAdapter stores a copy of T if the constructor is called with a temporary object. More...
 

Typedef Documentation

◆ BrooksCoreyDefault

template<typename Scalar = double>
using Dumux::FluidMatrix::BrooksCoreyDefault = typedef TwoPMaterialLaw<Scalar, BrooksCorey, BrooksCoreyRegularization<Scalar>, TwoPEffToAbsDefaultPolicy>

◆ BrooksCoreyNoReg

◆ ParkerVanGenuchten3PDefault

◆ ParkerVanGenuchten3PNoReg

◆ VanGenuchtenDefault

◆ VanGenuchtenNoReg

Function Documentation

◆ Adsorption()

template<typename T >
Dumux::FluidMatrix::Adsorption ( T &&  ) -> Adsorption< T >

◆ makeFluidMatrixInteraction()

template<class... Laws>
auto Dumux::makeFluidMatrixInteraction ( Laws &&...  laws)

◆ MPAdapter()

template<typename T >
Dumux::FluidMatrix::MPAdapter ( T &&  ) -> MPAdapter< T >

◆ MultiPhasePcKrSw()

template<typename T >
Dumux::FluidMatrix::MultiPhasePcKrSw ( T &&  ) -> MultiPhasePcKrSw< T >

◆ NonwettingSolidInterfacialAreaPcSw()

◆ PcKrSw()

template<typename T >
Dumux::FluidMatrix::PcKrSw ( T &&  ) -> PcKrSw< T >

◆ ThreePhasePcKrSw()

template<typename T >
Dumux::FluidMatrix::ThreePhasePcKrSw ( T &&  ) -> ThreePhasePcKrSw< T >

◆ WettingNonwettingInterfacialAreaPcSw()

◆ WettingSolidInterfacialAreaPcSw()