3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dumux::PoreNetwork::FluidMatrix::SingleShapeTwoPLocalRules< ScalarType, BaseLaw, Regularization > Class Template Reference

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

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

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

Description

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

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

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

Construct from parameter structs.

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

Return the base law's parameters.

◆ 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

The derivative of the relative permeability for the non-wetting phase w.r.t. saturation.

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

The derivative of the relative permeability for the wetting phase w.r.t. saturation.

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

The partial derivative of the capillary pressure w.r.t. the saturation.

◆ 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

The partial derivative of the saturation to the capillary pressure.

◆ isRegularized()

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

Return whether this law is regularized.

◆ 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

The relative permeability for the non-wetting phase.

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

The relative permeability for the wetting phase.

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

Return the number of fluid phases.

◆ 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

Equality comparison with another instance.

◆ 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

The capillary pressure-saturation curve.

◆ 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

The saturation-capillary-pressure curve.

◆ 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: