static void relativePermeabilities(Container &values, const Params ¶ms, const FluidState &fs) { typedef Opm::SaturationOverlayFluidState<FluidState> OverlayFluidState; OverlayFluidState overlayFs(fs); for (int phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx) { overlayFs.setSaturation(phaseIdx, effectiveSaturation(params, fs.saturation(phaseIdx), phaseIdx)); } EffLaw::template relativePermeabilities<Container, OverlayFluidState>(values, params, overlayFs); }
static void capillaryPressures(Container& values, const Params& params, const FluidState& fs) { typedef Opm::SaturationOverlayFluidState<FluidState> OverlayFluidState; OverlayFluidState overlayFs(fs); for (unsigned phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx) { overlayFs.setSaturation(phaseIdx, effectiveSaturation(params, fs.saturation(phaseIdx), phaseIdx)); } EffLaw::template capillaryPressures<Container, OverlayFluidState>(values, params, overlayFs); }
static Evaluation krn(const Params ¶ms, const FluidState &fs) { typedef Opm::SaturationOverlayFluidState<FluidState> OverlayFluidState; static_assert(FluidState::numPhases == numPhases, "The fluid state and the material law must exhibit the same " "number of phases!"); OverlayFluidState overlayFs(fs); for (int phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx) { overlayFs.setSaturation(phaseIdx, effectiveSaturation(params, fs.saturation(phaseIdx), phaseIdx)); } return EffLaw::template krn<OverlayFluidState, Evaluation>(params, overlayFs); }
static typename std::enable_if< (Traits::numPhases > 2), Evaluation>::type krg(const Params& params, const FluidState& fs) { typedef Opm::SaturationOverlayFluidState<FluidState> OverlayFluidState; static_assert(FluidState::numPhases == numPhases, "The fluid state and the material law must exhibit the same " "number of phases!"); OverlayFluidState overlayFs(fs); for (unsigned phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx) { overlayFs.setSaturation(phaseIdx, effectiveSaturation(params, fs.saturation(phaseIdx), phaseIdx)); } return EffLaw::template krg<OverlayFluidState, Evaluation>(params, overlayFs); }