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

92 lines
1.9 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)