.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/02_call_ext_theis2d.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_02_call_ext_theis2d.py: The extended Theis solution in 2D ================================= We provide an extended theis solution, that incorporates the effectes of a heterogeneous transmissivity field on a pumping test. In the following this extended solution is compared to the standard theis solution for well flow. You can nicely see, that the extended solution represents a transition between the theis solutions for the geometric- and harmonic-mean transmissivity. Reference: `Zech et. al. 2016 `__ .. GENERATED FROM PYTHON SOURCE LINES 15-21 .. code-block:: Python import numpy as np from matplotlib import pyplot as plt from anaflow import ext_theis_2d, theis .. GENERATED FROM PYTHON SOURCE LINES 22-23 We use three time steps: 10s, 10min, 10h .. GENERATED FROM PYTHON SOURCE LINES 23-27 .. code-block:: Python time_labels = ["10 s", "10 min", "10 h"] time = [10, 600, 36000] # 10s, 10min, 10h .. GENERATED FROM PYTHON SOURCE LINES 28-29 Radius from the pumping well should be in [0, 4]. .. GENERATED FROM PYTHON SOURCE LINES 29-32 .. code-block:: Python rad = np.geomspace(0.05, 4) .. GENERATED FROM PYTHON SOURCE LINES 33-34 Parameters of heterogeneity, storage and pumping rate. .. GENERATED FROM PYTHON SOURCE LINES 34-43 .. code-block:: Python var = 0.5 # variance of the log-transmissivity len_scale = 10.0 # correlation length of the log-transmissivity TG = 1e-4 # the geometric mean of the transmissivity TH = TG * np.exp(-var / 2.0) # the harmonic mean of the transmissivity S = 1e-4 # storativity rate = -1e-4 # pumping rate .. GENERATED FROM PYTHON SOURCE LINES 44-46 Now let's compare the extended Theis solution to the classical solutions for the near and far field values of transmissivity. .. GENERATED FROM PYTHON SOURCE LINES 46-71 .. code-block:: Python head_TG = theis(time, rad, S, TG, rate) head_TH = theis(time, rad, S, TH, rate) head_ef = ext_theis_2d(time, rad, S, TG, var, len_scale, rate) time_ticks = [] for i, step in enumerate(time): label_TG = "Theis($T_G$)" if i == 0 else None label_TH = "Theis($T_H$)" if i == 0 else None label_ef = "extended Theis" if i == 0 else None plt.plot(rad, head_TG[i], label=label_TG, color="C" + str(i), linestyle="--") plt.plot(rad, head_TH[i], label=label_TH, color="C" + str(i), linestyle=":") plt.plot(rad, head_ef[i], label=label_ef, color="C" + str(i)) time_ticks.append(head_ef[i][-1]) plt.xlabel("r in [m]") plt.ylabel("h in [m]") plt.legend() ylim = plt.gca().get_ylim() plt.gca().set_xlim([0, rad[-1]]) ax2 = plt.gca().twinx() ax2.set_yticks(time_ticks) ax2.set_yticklabels(time_labels) ax2.set_ylim(ylim) plt.tight_layout() plt.show() .. image-sg:: /examples/images/sphx_glr_02_call_ext_theis2d_001.png :alt: 02 call ext theis2d :srcset: /examples/images/sphx_glr_02_call_ext_theis2d_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.608 seconds) .. _sphx_glr_download_examples_02_call_ext_theis2d.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: 02_call_ext_theis2d.ipynb <02_call_ext_theis2d.ipynb>` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: 02_call_ext_theis2d.py <02_call_ext_theis2d.py>` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: 02_call_ext_theis2d.zip <02_call_ext_theis2d.zip>` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_