from matplotlib import pyplot as plt
from anaflow import ext_thiem_3d, ext_grf_steady
from anaflow.tools.coarse_graining import K_CG

rad = np.geomspace(0.05, 4)  # radius from the pumping well in [0, 4]
r_ref = 2.0  # reference radius
var = 0.5  # variance of the log-transmissivity
len_scale = 10.0  # correlation length of the log-transmissivity
KG = 1e-4  # the geometric mean of the transmissivity
anis = 0.7  # aniso ratio
rate = -1e-4  # pumping rate

head1 = ext_thiem_3d(rad, r_ref, KG, var, len_scale, anis, 1, rate)
head2 = ext_grf_steady(rad,
                       r_ref,
                       K_CG,
                       rate=rate,
                       cond_gmean=KG,
                       var=var,
                       len_scale=len_scale,
                       anis=anis)

plt.plot(rad, head1, label="Ext Thiem 3D")
plt.plot(rad, head2, label="grf(K_CG)", linestyle="--")

plt.xlabel("r in [m]")
plt.ylabel("h in [m]")
plt.legend()
plt.tight_layout()
plt.show()
Exemplo n.º 2
0
# -*- coding: utf-8 -*-
import numpy as np
from matplotlib import pyplot as plt
from anaflow import ext_grf, ext_grf_steady, grf

time = 1e4  # time point for steady state
rad = np.geomspace(0.1, 10)  # radius from the pumping well in [0, 4]
r_ref = 10.0  # reference radius
K = 1e-4  # the geometric mean of the transmissivity
rate = -1e-4  # pumping rate
dim = 1.5  # using a fractional dimension

head1 = ext_grf_steady(rad, r_ref, K, dim=dim, rate=rate)
head2 = ext_grf(time, rad, [1e-4], [K], [0, r_ref], dim=dim, rate=rate)
head3 = grf(time, rad, 1e-4, K, dim=dim, rate=rate)
head3 -= head3[-1]  # quasi-steady

plt.plot(rad, head1, label="Ext GRF steady")
plt.plot(rad, head2, label="Ext GRF (t={})".format(time), linestyle="--")
plt.plot(rad,
         head3,
         label="GRF quasi-steady (t={})".format(time),
         linestyle=":")

plt.xlabel("r in [m]")
plt.ylabel("h in [m]")
plt.legend()
plt.tight_layout()
plt.show()
Exemplo n.º 3
0
# calculate a disk-distribution of "trans" by calculating harmonic means
R_part = specialrange_cut(r_well, r_bound, parts, cut_off)
K_part = annular_hmean(cond,
                       R_part,
                       ann_dim=dim,
                       K_far=K_far,
                       K_well=K_well,
                       len_scale=len_scale)
S_part = np.full_like(K_part, S)
# calculate transient and steady heads
head1 = ext_grf(time, rad, S_part, K_part, R_part, dim=dim, rate=rate)
head2 = ext_grf_steady(rad,
                       r_bound,
                       cond,
                       dim=dim,
                       rate=-1e-4,
                       K_far=K_far,
                       K_well=K_well,
                       len_scale=len_scale)

# plotting
gs = gridspec.GridSpec(2, 1, height_ratios=[1, 3])
ax1 = plt.subplot(gs[0])
ax2 = plt.subplot(gs[1], sharex=ax1)
time_ticks = []
for i, step in enumerate(time):
    label = "Transient" if i == 0 else None
    ax2.plot(rad, head1[i], label=label, color="C" + str(i))
    time_ticks.append(head1[i][-1])

ax2.plot(rad, head2, label="Steady", color="k", linestyle=":")
Exemplo n.º 4
0
# -*- coding: utf-8 -*-
import numpy as np
from matplotlib import pyplot as plt
from anaflow import ext_thiem_2d, ext_grf_steady
from anaflow.tools.coarse_graining import T_CG


rad = np.geomspace(0.05, 4)  # radius from the pumping well in [0, 4]
r_ref = 2.0                  # reference radius
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
rate = -1e-4                 # pumping rate

head1 = ext_thiem_2d(rad, r_ref, TG, var, len_scale, rate)
head2 = ext_grf_steady(rad, r_ref, T_CG, rate=rate, trans_gmean=TG, var=var, len_scale=len_scale)

plt.plot(rad, head1, label="Ext Thiem 2D")
plt.plot(rad, head2, label="grf(T_CG)", linestyle="--")

plt.xlabel("r in [m]")
plt.ylabel("h in [m]")
plt.legend()
plt.tight_layout()
plt.show()
Exemplo n.º 5
0
                     sol.trans(rad_lin),
                     linewidth=1,
                     color="w",
                     alpha=0.6)
 axis[i][0].set_ylim([K_well - 0.15 * K_diff, K_far + 0.15 * K_diff])
 axis[i][0].set_title(sol.label)
 # timesteps
 head1 = ext_grf(time,
                 rad,
                 sol.s_part,
                 sol.t_part,
                 sol.r_part,
                 K_well=sol.t_w,
                 dim=dim,
                 rate=rate)
 head2 = ext_grf_steady(rad, r_bound, sol.trans, dim=dim, rate=rate)
 for k, step in enumerate(time):
     axis[i][1].plot(rad,
                     head1[k],
                     dashes=dashes(i=k + 1, max_n=9),
                     alpha=1.,
                     label=time_labels[k],
                     linewidth=3,
                     color="k")
 axis[i][1].plot(rad,
                 head2,
                 label="steady state",
                 linewidth=2.5,
                 color="C1",
                 alpha=1,
                 zorder=-10)