Source code for toughio.capillarity._milly

from ._base import BaseCapillarity

__all__ = [
    "Milly",
]


[docs] class Milly(BaseCapillarity): _id = 4 _name = "Milly" def __init__(self, slr): """ Milly's function. After Milly (1982). Parameters ---------- slr : scalar Irreducible liquid saturation (CP(1)). """ if slr < 0.0: raise ValueError() self.parameters = [slr] def _eval(self, sl, *args): (slr,) = args sl = max(sl, 1.001 * slr) fac = ( 1.0 if sl - slr >= 0.371 else 10 ** (2.26 * (0.371 / (sl - slr) - 1.0) ** 0.25 - 2.0) ) return -97.783 * fac @property def parameters(self): """Return model parameters.""" return [self._slr] @parameters.setter def parameters(self, value): if len(value) != 1: raise ValueError() self._slr = value[0]