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.
simulacion-permeabilidad/utilities/collect1R.py

89 lines
2.3 KiB
Python

import numpy as np
import matplotlib.pyplot as plt
from tools.generation.config import DotheLoop, get_config
import os
def get_conScales(ddir, scales, Cind):
ns = len(scales)
res = np.zeros((ns))
for i in range(ns):
y = np.load(ddir + str(scales[i]) + ".npy").item()[Cind]
res[i] = np.mean(y)
plt.figure(1)
if 0 in res:
plt.semilogx(scales, res, marker="x")
else:
res = np.log(res)
plt.semilogx(scales, res, marker="o")
plt.grid()
plt.xlabel("L")
plt.ylabel(Cind)
plt.savefig(ddir + Cind + ".png")
plt.close()
return
def compGlobal(ddir, ddirG, scales, Cind):
ns = len(scales)
res = np.zeros((ns))
for i in range(ns):
y = np.load(ddir + str(scales[i]) + ".npy").item()[Cind]
yG = np.load(ddirG + str(scales[i]) + ".npy").item()[Cind]
res[i] = np.nanmean(y / yG)
plt.figure(1)
if 0 in res or Cind == "npx":
plt.semilogx(scales, res, marker="x")
else:
res = np.log(res)
plt.semilogx(scales, res, marker="o")
plt.grid()
plt.xlabel("L")
plt.ylabel(Cind)
plt.savefig(ddirG + Cind + "_CGvsC.png")
plt.close()
return
def get_conScalesScatter(ddir, scales, Cind):
ns = len(scales)
res = np.array([])
x = np.array([])
for i in range(ns):
y = np.load(ddir + str(scales[i]) + ".npy").item()[Cind]
res = np.append(res, y.reshape(-1))
x = np.append(x, np.ones((y.size)) * scales[i])
plt.figure(1)
if 0 in res or Cind == "npx":
plt.semilogx(x, res, marker="x", linestyle="")
else:
res = np.log(res)
plt.semilogx(x, res, marker="o", linestyle="")
plt.grid()
plt.xlabel("L")
plt.ylabel(Cind)
plt.savefig(ddir + Cind + "_scatter.png")
plt.close()
return
scales = 2 ** np.arange(7, 13)
scales = [32, 64, 128, 256, 512]
Cinds = ["P", "S", "npx", "Plen", "PX", "SX", "PlenX"]
for job in range(5):
ddir = "./testConx/" + str(job) + "/ConnectivityMetrics/"
ddirG = "./testConx/" + str(job) + "/GlobalConnectivityMetrics/"
for Cind in Cinds:
get_conScales(ddir, scales, Cind)
get_conScales(ddirG, scales, Cind)
compGlobal(ddir, ddirG, scales, Cind)
# get_conScalesScatter(ddir,scales,Cind)