Relative permeability and capillarity models#
Relative permeability#
Linear#
- class toughio.relative_permeability.Linear(slmin, sgmin, slmax, sgmax)[source]#
Linear function.
- Parameters:
slmin (scalar) – Lower liquid saturation threshold (RP(1)).
sgmin (scalar) – Lower gas saturation threshold (RP(2)).
slmax (scalar) – Upper liquid saturation threshold (RP(3)).
sgmax (scalar) – Upper gas saturation threshold (RP(4)).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
Pickens#
- class toughio.relative_permeability.Pickens(x)[source]#
Gas perfect mobile function.
- Parameters:
x (scalar) – RP(1).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
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)).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
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)).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
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)).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
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)).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
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)).
- property id#
Return relative permeability model ID in TOUGH.
- property name#
Return relative permeability model name.
- property 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()
.
Capillarity#
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)).
- property id#
Return capillarity model ID in TOUGH.
- property name#
Return capillarity model name.
- property 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()
.
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).
- property id#
Return capillarity model ID in TOUGH.
- property name#
Return capillarity model name.
- property 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()
.
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)).
- property id#
Return capillarity model ID in TOUGH.
- property name#
Return capillarity model name.
- property 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()
.
Milly#
- class toughio.capillarity.Milly(slr)[source]#
Milly’s function.
After Milly (1982).
- Parameters:
slr (scalar) – Irreducible liquid saturation (CP(1)).
- property id#
Return capillarity model ID in TOUGH.
- property name#
Return capillarity model name.
- property 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()
.
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)).
- property id#
Return capillarity model ID in TOUGH.
- property name#
Return capillarity model name.
- property 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()
.