Note
Click here to download the full example code
FLOW: Vadose: van GenuchtenΒΆ
Shows the water retention curve and the hydraulic conductivity function for a number of soil types.
For more information about the parameters used see:
The RETC code for quantifying the hydraulic functions of unsaturated soils, Van Genuchten, M Th, Leij, F J, Yates, S R
Out:
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:29: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
theta_fun.plot(ax=plt.subplot(121))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:30: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
k_fun.plot(ax=plt.subplot(122))
/Users/josephcapriotti/codes/simpeg/examples/20-published/plot_vadose_vangenuchten.py:37: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
plt.show()
import matplotlib.pyplot as plt
import discretize
from SimPEG.flow import richards
def run(plotIt=True):
mesh = discretize.TensorMesh([10])
VGparams = richards.empirical.VanGenuchtenParams()
leg = []
for p in dir(VGparams):
if p[0] == "_":
continue
leg += [p]
params = getattr(VGparams, p)
k_fun, theta_fun = richards.empirical.van_genuchten(mesh, **params)
theta_fun.plot(ax=plt.subplot(121))
k_fun.plot(ax=plt.subplot(122))
plt.legend(leg, loc=3)
if __name__ == "__main__":
run()
plt.show()
Total running time of the script: ( 0 minutes 0.446 seconds)