3. Relative permeability and capillarity models¶
3.1. Relative permeability¶
3.1.1. Linear¶
-
class
toughio.relative_permeability.
Linear
(slmin, sgmin, slmax, sgmax)[source]¶ Linear function.
Parameters: - slmin (scalar) – Lower liquid saturation threshold (CP(1)).
- sgmin (scalar) – Lower gas saturation threshold (CP(2)).
- slmax (scalar) – Upper liquid saturation threshold (CP(3)).
- sgmax (scalar) – Upper gas saturation threshold (CP(4)).
-
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
3.1.2. Pickens¶
-
class
toughio.relative_permeability.
Pickens
(x)[source]¶ Gas perfect mobile function.
Parameters: x (scalar) – RP(1). -
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
-
3.1.3. Corey¶
-
class
toughio.relative_permeability.
Corey
(slr, sgr)[source]¶ Corey’s curve.
After Corey (1954).
Parameters: - slr (scalar) – Irreducible liquid saturation (RP(1)).
- sgr (scalar) – Irreducible gas saturation (RP(2)).
-
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
3.1.4. Grant¶
-
class
toughio.relative_permeability.
Grant
(slr, sgr)[source]¶ Grant’s curve.
After Grant (1977).
Parameters: - slr (scalar) – Irreducible liquid saturation (RP(1)).
- sgr (scalar) – Irreducible gas saturation (RP(2)).
-
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
3.1.5. Fatt-Klikoff¶
-
class
toughio.relative_permeability.
FattKlikoff
(slr)[source]¶ Fatt and Klikoff’s function.
After Fatt and Klikoff (1959).
Parameters: slr (scalar) – Irreducible liquid saturation (RP(1)). -
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
-
3.1.6. van Genuchten-Mualem¶
-
class
toughio.relative_permeability.
vanGenuchtenMualem
(m, slr, sls, sgr)[source]¶ Van Genuchten-Mualem function.
After Mualem (1976) and van Genuchten (1980).
Parameters: - m (scalar) – Related to pore size distribution (RP(1)).
- slr (scalar) – Irreducible liquid saturation (RP(2)).
- sls (scalar) – Maximum liquid saturation (RP(3)).
- sgr (scalar) – Irreducible gas saturation (RP(4)).
-
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
3.1.7. Verma¶
-
class
toughio.relative_permeability.
Verma
(slr=0.2, sls=0.895, a=1.259, b=-1.7615, c=0.5089)[source]¶ 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)).
-
id
¶ Return relative permeability model ID in TOUGH.
-
name
¶ Return relative permeability model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot relative permeability curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.plot()
.
3.2. Capillarity¶
3.2.1. Linear¶
-
class
toughio.capillarity.
Linear
(pmax, smin, smax)[source]¶ Linear function.
Parameters: - pmax (scalar) – Maximum pressure (CP(1)).
- smin (scalar) – Lower liquid saturation threshold (CP(2)).
- smax (scalar) – Upper liquid saturation threshold (CP(3)).
-
id
¶ Return capillarity model ID in TOUGH.
-
name
¶ Return capillarity model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot capillary pressure curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.semilogy()
.
3.2.2. Pickens¶
-
class
toughio.capillarity.
Pickens
(p0, slr, sl0, x)[source]¶ Pickens et al. function.
After Pickens et al. (1979).
Parameters: - p0 (scalar) – Capillary pressure strength (CP(1)).
- slr (scalar) – Irreducible liquid saturation (CP(2)).
- sl0 (scalar) – Initial liquid saturation (CP(3)).
- x (scalar) – CP(4).
-
id
¶ Return capillarity model ID in TOUGH.
-
name
¶ Return capillarity model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot capillary pressure curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.semilogy()
.
3.2.3. TRUST¶
-
class
toughio.capillarity.
TRUST
(p0, slr, eta, pe, pmax)[source]¶ TRUST capillary pressure.
After Narasimhan et al. (1978).
Parameters: - p0 (scalar) – Capillary pressure strength (CP(1)).
- slr (scalar) – Irreducible liquid saturation (CP(2)).
- eta (scalar) – CP(3).
- pe (scalar) – Capillary entry pressure (CP(4)).
- pmax (scalar) – Maximum pressure (CP(5)).
-
id
¶ Return capillarity model ID in TOUGH.
-
name
¶ Return capillarity model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot capillary pressure curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.semilogy()
.
3.2.4. Milly¶
-
class
toughio.capillarity.
Milly
(slr)[source]¶ Milly’s function.
After Milly (1982).
Parameters: slr (scalar) – Irreducible liquid saturation (CP(1)). -
id
¶ Return capillarity model ID in TOUGH.
-
name
¶ Return capillarity model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot capillary pressure curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.semilogy()
.
-
3.2.5. van Genuchten¶
-
class
toughio.capillarity.
vanGenuchten
(m, slr, alpha, pmax, sls)[source]¶ Van Genuchten function.
After van Genuchten (1980).
Parameters: - m (scalar) – Related to pore size distribution (CP(1)).
- slr (scalar) – Irreducible liquid saturation (CP(2)).
- alpha (scalar) – Inverse of capillary pressure strength 1/P0 (CP(3)).
- pmax (scalar) – Maximum pressure (CP(4)).
- sls (scalar) – Maximum liquid saturation (CP(5)).
-
id
¶ Return capillarity model ID in TOUGH.
-
name
¶ Return capillarity model name.
-
parameters
¶ Return model parameters.
-
plot
(n=100, ax=None, figsize=(10, 8), plt_kws=None)¶ Plot capillary pressure curve.
Parameters: - n (int, optional, default 100) – Number of saturation points.
- ax (matplotlib.pyplot.Axes or None, optional, default None) – Matplotlib axes. If None, a new figure and axe is created.
- figsize (array_like or None, optional, default None) – New figure size if ax is None.
- plt_kws (dict or None, optional, default None) – Additional keywords passed to
matplotlib.pyplot.semilogy()
.