Source code for toughio.relative_permeability._verma

from ._base import BaseRelativePermeability

__all__ = [
    "Verma",
]


[docs]class Verma(BaseRelativePermeability): _id = 8 _name = "Verma" def __init__(self, slr=0.2, sls=0.895, a=1.259, b=-1.7615, c=0.5089): """ Verma's function. After Verma et al. (1985). Parameters ---------- slr : scalar Irreducible liquid saturation (RP(1)). sls : scalar Maximum liquid saturation (RP(2)). a : scalar A (RP(3)). b : scalar B (RP(4)). c : scalar C (RP(5)). """ self.parameters = [slr, sls, a, b, c] def _eval(self, sl, *args): """Verma's function.""" slr, sls, a, b, c = args Shat = (sl - slr) / (sls - slr) Shat = max(Shat, 0.0) Shat = min(Shat, 1.0) kl = Shat ** 3 kg = a + b * Shat + c * Shat ** 2 kg = max(kg, 0.0) kg = min(kg, 1.0) return kl, kg @property def parameters(self): """Return model parameters.""" return [self._slr, self._sls, self._a, self._b, self._c] @parameters.setter def parameters(self, value): if len(value) != 5: raise ValueError() self._slr = value[0] self._sls = value[1] self._a = value[2] self._b = value[3] self._c = value[4]