24#ifndef DUMUX_MATERIAL_THERMALCONDUCTIVITY_SOMERTON_HH
25#define DUMUX_MATERIAL_THERMALCONDUCTIVITY_SOMERTON_HH
65 template<
class VolumeVariables,
class SpatialParams,
class Element,
class FVGeometry>
66 [[deprecated(
"Signature deprecated. Use signature with volume variables only!")]]
68 const SpatialParams& spatialParams,
69 const Element& element,
70 const FVGeometry& fvGeometry,
71 const typename FVGeometry::SubControlVolume& scv)
88 template<
class VolumeVariables>
91 using FluidSystem =
typename VolumeVariables::FluidSystem;
92 static_assert(FluidSystem::numPhases == 2,
"ThermalConductivitySomerton only works for two-phase fluid systems!");
93 static_assert((FluidSystem::isGas(0) && !FluidSystem::isGas(1)) || (!FluidSystem::isGas(0) && FluidSystem::isGas(1)),
94 "ThermalConductivitySomerton only works if one phase is gaseous and one is liquid!");
96 constexpr int liquidPhaseIdx = FluidSystem::isGas(0) ? 1 : 0;
97 constexpr int gasPhaseIdx = FluidSystem::isGas(0) ? 0 : 1;
99 const Scalar satLiquid = volVars.saturation(liquidPhaseIdx);
100 const Scalar lambdaLiquid = volVars.fluidThermalConductivity(liquidPhaseIdx);
101 const Scalar lambdaGas = volVars.fluidThermalConductivity(gasPhaseIdx);
102 const Scalar lambdaSolid = volVars.solidThermalConductivity();
103 const Scalar
porosity = volVars.porosity();
121 const Scalar lambdaLiquid,
122 const Scalar lambdaGas,
123 const Scalar lambdaSolid,
125 const Scalar rhoSolid = 0.0 )
130 const Scalar satLiquidPhysical = max<Scalar>(0.0, satLiquid);
132 const Scalar lSat = lambdaSolid * pow(lambdaLiquid / lambdaSolid,
porosity);
133 const Scalar lDry = lambdaSolid * pow(lambdaGas / lambdaSolid,
porosity);
135 return lDry + sqrt(satLiquidPhysical) * (lSat - lDry);
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
std::string porosity() noexcept
I/O name of porosity.
Definition: name.hh:139
Relation for the saturation-dependent effective thermal conductivity.
Definition: thermalconductivitysomerton.hh:60
static Scalar effectiveThermalConductivity(const VolumeVariables &volVars)
effective thermal conductivity after Somerton (1974)
Definition: thermalconductivitysomerton.hh:89
static Scalar effectiveThermalConductivity(const VolumeVariables &volVars, const SpatialParams &spatialParams, const Element &element, const FVGeometry &fvGeometry, const typename FVGeometry::SubControlVolume &scv)
effective thermal conductivity after Somerton (1974)
Definition: thermalconductivitysomerton.hh:67
static Scalar effectiveThermalConductivity(const Scalar satLiquid, const Scalar lambdaLiquid, const Scalar lambdaGas, const Scalar lambdaSolid, const Scalar porosity, const Scalar rhoSolid=0.0)
effective thermal conductivity after Somerton (1974)
Definition: thermalconductivitysomerton.hh:120