version 3.9-dev
Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization > Class Template Reference

Base class for all standard pore-local pc-Sw curves.

#include <dumux/material/fluidmatrixinteractions/porenetwork/pore/2p/singleshapelocalrules.hh>

Inheritance diagram for Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >:

Public Types

using Scalar = ScalarType
 
using BasicParams = typename BaseLaw::template Params< Scalar >
 
using RegularizationParams = typename Regularization::template Params< Scalar >
 

Public Member Functions

template<class SpatialParams , class Element , class SubControlVolume , class ElemSol >
void updateParams (const SpatialParams &spatialParams, const Element &element, const SubControlVolume &scv, const ElemSol &elemSol)
 
 SingleShapeTwoPLocalRules (const BasicParams &baseParams={}, const RegularizationParams &regParams={}, const std::string &paramGroup="")
 Construct from parameter structs. More...
 
template<bool enableRegularization = isRegularized()>
Scalar pc (const Scalar sw) const
 The capillary pressure-saturation curve. More...
 
template<bool enableRegularization = isRegularized()>
Scalar dpc_dsw (const Scalar sw) const
 The partial derivative of the capillary pressure w.r.t. the saturation. More...
 
template<bool enableRegularization = isRegularized()>
Scalar sw (const Scalar pc) const
 The saturation-capillary-pressure curve. More...
 
template<bool enableRegularization = isRegularized()>
Scalar dsw_dpc (const Scalar pc) const
 The partial derivative of the saturation to the capillary pressure. More...
 
template<bool enableRegularization = isRegularized()>
Scalar krw (const Scalar sw) const
 The relative permeability for the wetting phase. More...
 
template<bool enableRegularization = isRegularized()>
Scalar dkrw_dsw (const Scalar sw) const
 The derivative of the relative permeability for the wetting phase w.r.t. saturation. More...
 
template<bool enableRegularization = isRegularized()>
Scalar krn (const Scalar sw) const
 The relative permeability for the non-wetting phase. More...
 
template<bool enableRegularization = isRegularized()>
Scalar dkrn_dsw (const Scalar sw) const
 The derivative of the relative permeability for the non-wetting phase w.r.t. saturation. More...
 
bool operator== (const SingleShapeTwoPLocalRules &o) const
 Equality comparison with another instance. More...
 
const BasicParamsbasicParams () const
 Return the base law's parameters. More...
 

Static Public Member Functions

static constexpr bool supportsMultipleGeometries ()
 
static constexpr int numFluidPhases ()
 Return the number of fluid phases. More...
 
static constexpr bool isRegularized ()
 Return whether this law is regularized. More...
 

Member Typedef Documentation

◆ BasicParams

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
using Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::BasicParams = typename BaseLaw::template Params<Scalar>

◆ RegularizationParams

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
using Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::RegularizationParams = typename Regularization::template Params<Scalar>

◆ Scalar

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
using Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::Scalar = ScalarType

Constructor & Destructor Documentation

◆ SingleShapeTwoPLocalRules()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::SingleShapeTwoPLocalRules ( const BasicParams baseParams = {},
const RegularizationParams regParams = {},
const std::string &  paramGroup = "" 
)
inline
Note
More efficient constructor but you need to ensure all parameters are initialized

Member Function Documentation

◆ basicParams()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
const BasicParams & Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::basicParams ( ) const
inline

◆ dkrn_dsw()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::dkrn_dsw ( const Scalar  sw) const
inline
Note
This is only for compatibility. Will not be used.

◆ dkrw_dsw()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::dkrw_dsw ( const Scalar  sw) const
inline
Note
This is only for compatibility. Will not be used.

◆ dpc_dsw()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::dpc_dsw ( const Scalar  sw) const
inline

◆ dsw_dpc()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::dsw_dpc ( const Scalar  pc) const
inline

◆ isRegularized()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
static constexpr bool Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::isRegularized ( )
inlinestaticconstexpr

◆ krn()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::krn ( const Scalar  sw) const
inline
Note
This is only for compatibility. Will not be used.

◆ krw()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::krw ( const Scalar  sw) const
inline
Note
This is only for compatibility. Will not be used.

◆ numFluidPhases()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
static constexpr int Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::numFluidPhases ( )
inlinestaticconstexpr

◆ operator==()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
bool Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::operator== ( const SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization > &  o) const
inline

◆ pc()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::pc ( const Scalar  sw) const
inline

◆ supportsMultipleGeometries()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
static constexpr bool Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::supportsMultipleGeometries ( )
inlinestaticconstexpr

◆ sw()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<bool enableRegularization = isRegularized()>
Scalar Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::sw ( const Scalar  pc) const
inline

◆ updateParams()

template<class ScalarType , class BaseLaw , class Regularization = Dumux::FluidMatrix::NoRegularization>
template<class SpatialParams , class Element , class SubControlVolume , class ElemSol >
void Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization >::updateParams ( const SpatialParams spatialParams,
const Element &  element,
const SubControlVolume &  scv,
const ElemSol &  elemSol 
)
inline

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