You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.5 KiB
Python
93 lines
2.5 KiB
Python
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
from Var_analytical import *
|
|
|
|
|
|
rdir = "./data/"
|
|
|
|
|
|
clabels = [
|
|
r"$K_{perm}$",
|
|
r"$K_{diss}$",
|
|
r"$K_{average}$",
|
|
r"$K_{1/3}$",
|
|
"analitycal Gaussian cov",
|
|
]
|
|
cases = [
|
|
r"$Lognormal \ \sigma^{2}_{\log(k)} = 0.1$",
|
|
r"$Lognormal \ \sigma^{2}_{\log(k)} = 7$",
|
|
r"$Binary p = 0.2; k+/k- = 10^4$",
|
|
]
|
|
|
|
scales = np.array([4, 8, 16, 32, 64, 128])
|
|
variances = [0.1, 7, 13.572859162824695]
|
|
x = scales / 512.0
|
|
lcs = [16, 16, 8]
|
|
va = VarLgauss(16 / 2.45398, scales, 3)
|
|
|
|
for i in range(3):
|
|
|
|
kpost = np.zeros((len(scales), 4))
|
|
for scale in range(len(scales)):
|
|
kpost[scale, 0] = (
|
|
np.nanvar(
|
|
np.log(np.load(rdir + str(i) + "/kperm/" + str(scales[scale]) + ".npy"))
|
|
)
|
|
/ variances[i]
|
|
)
|
|
kpost[scale, 1] = (
|
|
np.nanvar(
|
|
np.log(
|
|
np.load(
|
|
rdir + str(i) + "/KpostProcess/Kd" + str(scales[scale]) + ".npy"
|
|
)
|
|
)
|
|
)
|
|
/ variances[i]
|
|
)
|
|
kpost[scale, 2] = (
|
|
np.nanvar(
|
|
np.log(
|
|
np.load(
|
|
rdir + str(i) + "/KpostProcess/Kv" + str(scales[scale]) + ".npy"
|
|
)
|
|
)
|
|
)
|
|
/ variances[i]
|
|
)
|
|
kpost[scale, 3] = (
|
|
np.nanvar(
|
|
np.log(
|
|
np.load(
|
|
rdir
|
|
+ str(i)
|
|
+ "/KpostProcess/Kpo"
|
|
+ str(scales[scale])
|
|
+ ".npy"
|
|
)
|
|
)
|
|
)
|
|
/ variances[i]
|
|
)
|
|
plt.loglog(x, (x ** 3) * kpost[:, 0], label=clabels[0], marker="x")
|
|
plt.loglog(x, (x ** 3) * kpost[:, 1], label=clabels[1], marker="s")
|
|
plt.loglog(x, (x ** 3) * kpost[:, 2], label=clabels[2], marker="^")
|
|
plt.loglog(x, (x ** 3) * kpost[:, 3], label=clabels[3], marker="o")
|
|
if i == 0 or i == 1:
|
|
plt.loglog(x, (x ** 3) * va, label=clabels[4], marker="", linestyle="--")
|
|
|
|
plt.vlines(
|
|
lcs[i] / 512.0,
|
|
((x ** 3) * kpost[:, 0]).min(),
|
|
((x ** 3) * kpost[:, 0]).max(),
|
|
label=r"$lc = $" + str(lcs[i]),
|
|
)
|
|
plt.xlabel(r"$\lambda / L$")
|
|
plt.ylabel(r"$(\lambda / L)^3 \sigma^{2}_{\log(K_{eff})} / \sigma^{2}_{\log(k)}$")
|
|
plt.legend()
|
|
plt.grid()
|
|
plt.title(cases[i])
|
|
plt.tight_layout()
|
|
plt.savefig(rdir + str(i) + "/Kpost_var.png")
|
|
plt.close()
|