62 using FluidSystem =
typename VolumeVariables::FluidSystem;
63 static_assert(FluidSystem::numPhases == 2,
"ThermalConductivitySomertonTwoP only works for two-phase fluid systems!");
64 static_assert((FluidSystem::isGas(0) && !FluidSystem::isGas(1)) || (!FluidSystem::isGas(0) && FluidSystem::isGas(1)),
65 "ThermalConductivitySomertonTwoP only works if one phase is gaseous and one is liquid!");
67 constexpr int liquidPhaseIdx = FluidSystem::isGas(0) ? 1 : 0;
68 constexpr int gasPhaseIdx = FluidSystem::isGas(0) ? 0 : 1;
70 const Scalar satLiquid = volVars.saturation(liquidPhaseIdx);
71 const Scalar lambdaLiquid = volVars.fluidThermalConductivity(liquidPhaseIdx);
72 const Scalar lambdaGas = volVars.fluidThermalConductivity(gasPhaseIdx);
73 const Scalar lambdaSolid = volVars.solidThermalConductivity();
74 const Scalar porosity = volVars.porosity();
76 return effectiveThermalConductivity_(satLiquid, lambdaLiquid, lambdaGas, lambdaSolid, porosity);