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

Water retention curve, Hydraulic conductivity function

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)

Gallery generated by Sphinx-Gallery