27#ifndef DUMUX_MP_LINEAR_MATERIAL_HH
28#define DUMUX_MP_LINEAR_MATERIAL_HH
45template <
int numPhasesV,
class ScalarT,
class ParamsT = MpLinearMaterialParams<numPhasesV, ScalarT> >
50 using Scalar =
typename Params::Scalar;
66 template <
class ContainerT,
class Flu
idState>
69 const FluidState &state,
72 for (
int phaseIdx = 0; phaseIdx <
numPhases; ++phaseIdx) {
73 Scalar S = state.saturation(phaseIdx);
75 S*params.pcMaxSat(phaseIdx) +
76 (1 - S)*params.pcMinSat(phaseIdx);
87 template <
class ContainerT,
class Flu
idState>
90 const FluidState &state,
95 for (
int phaseIdx = 0; phaseIdx <
numPhases; ++phaseIdx)
96 values[phaseIdx] = max(min(state.saturation(phaseIdx),1.0),0.0);
Reference implementation of parameters for the M-phase linear material material.
Implements a linear saturation-capillary pressure relation.
Definition: mplinearmaterial.hh:47
@ numPhases
Definition: mplinearmaterial.hh:51
typename Params::Scalar Scalar
Definition: mplinearmaterial.hh:50
ParamsT Params
Definition: mplinearmaterial.hh:49
static void capillaryPressures(ContainerT &values, const Params ¶ms, const FluidState &state, int wPhaseIdx=0)
The linear capillary pressure-saturation curve.
Definition: mplinearmaterial.hh:67
static void relativePermeabilities(ContainerT &values, const Params ¶ms, const FluidState &state, int wPhaseIdx=0)
The relative permeability of all phases.
Definition: mplinearmaterial.hh:88