version 3.9-dev
Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy > Class Template Reference

Implementation of the capillary pressure <-> saturation relation for the heatpipe problem.

#include <dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh>

Inheritance diagram for Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >:

Classes

struct  Params
 The parameter type. More...
 

Public Types

using Scalar = ScalarType
 
using EffToAbsParams = typename EffToAbsPolicy::template Params< Scalar >
 
using EffToAbs = EffToAbsPolicy
 

Public Member Functions

 HeatPipeLaw ()=delete
 Deleted default constructor (so we are never in an undefined state) More...
 
 HeatPipeLaw (const std::string &paramGroup)
 Construct from a subgroup from the global parameter tree. More...
 
 HeatPipeLaw (const Params &params, const EffToAbsParams &effToAbsParams={})
 Construct from parameter structs. More...
 
Scalar pc (const Scalar sw) const
 The capillary pressure-saturation curve. More...
 
Scalar endPointPc () const
 The capillary pressure at Swe = 1.0 also called end point capillary pressure. More...
 
Scalar dpc_dsw (const Scalar sw) const
 The partial derivative of the capillary pressure w.r.t. the effective saturation. More...
 
Scalar krw (const Scalar sw) const
 The relative permeability for the wetting phase of the medium. More...
 
Scalar krn (const Scalar sw) const
 The relative permeability for the non-wetting phase of the medium. More...
 
bool operator== (const HeatPipeLaw< Scalar, EffToAbs > &o) const
 Equality comparison with another instance. More...
 
const EffToAbsParamseffToAbsParams () const
 

Static Public Member Functions

static constexpr int numFluidPhases ()
 Return the number of fluid phases. More...
 
static constexpr bool isRegularized ()
 Return whether this law is regularized. More...
 
static Params makeParams (const std::string &paramGroup)
 Construct from a subgroup from the global parameter tree. More...
 

Member Typedef Documentation

◆ EffToAbs

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
using Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::EffToAbs = EffToAbsPolicy

◆ EffToAbsParams

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
using Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::EffToAbsParams = typename EffToAbsPolicy::template Params<Scalar>

◆ Scalar

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
using Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::Scalar = ScalarType

Constructor & Destructor Documentation

◆ HeatPipeLaw() [1/3]

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::HeatPipeLaw ( )
delete
Note
store owning pointers to laws instead if you need default-constructible objects

◆ HeatPipeLaw() [2/3]

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::HeatPipeLaw ( const std::string &  paramGroup)
inlineexplicit
Note
This will give you nice error messages if a mandatory parameter is missing

◆ HeatPipeLaw() [3/3]

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::HeatPipeLaw ( const Params params,
const EffToAbsParams effToAbsParams = {} 
)
inline
Note
More efficient constructor but you need to ensure all parameters are initialized

Member Function Documentation

◆ dpc_dsw()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Scalar Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::dpc_dsw ( const Scalar  sw) const
inline
Parameters
swSaturation of the wetting phase \(\mathrm{S_w}\)

◆ effToAbsParams()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
const EffToAbsParams & Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::effToAbsParams ( ) const
inline

◆ endPointPc()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Scalar Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::endPointPc ( ) const
inline

◆ isRegularized()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
static constexpr bool Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::isRegularized ( )
inlinestaticconstexpr

◆ krn()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Scalar Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::krn ( const Scalar  sw) const
inline
Parameters
swSaturation of the wetting phase \(\mathrm{S_w}\)

◆ krw()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Scalar Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::krw ( const Scalar  sw) const
inline
Parameters
swSaturation of the wetting phase \(\mathrm{S_w}\)

◆ makeParams()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
static Params Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::makeParams ( const std::string &  paramGroup)
inlinestatic
Note
This will give you nice error messages if a mandatory parameter is missing

◆ numFluidPhases()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
static constexpr int Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::numFluidPhases ( )
inlinestaticconstexpr

◆ operator==()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
bool Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::operator== ( const HeatPipeLaw< Scalar, EffToAbs > &  o) const
inline

◆ pc()

template<class ScalarType , class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
Scalar Dumux::FluidMatrix::HeatPipeLaw< ScalarType, EffToAbsPolicy >::pc ( const Scalar  sw) const
inline
Parameters
swSaturation of the wetting phase \(\mathrm{S_w}\)

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