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.
86 lines
1.6 KiB
Python
86 lines
1.6 KiB
Python
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
from tools.generation.config import DotheLoop, get_config
|
|
|
|
|
|
def collect_scalar(filename):
|
|
|
|
njobs = DotheLoop(-1)
|
|
rdir='./data/'
|
|
res=np.array([])
|
|
for job in range(njobs):
|
|
res=np.append(res,np.loadtxt(rdir+str(job)+'/'+filename))
|
|
|
|
res=res.reshape(njobs,-1)
|
|
return res
|
|
|
|
def get_stats(res,col,logv):
|
|
|
|
parser, iterables = get_config()
|
|
|
|
seeds=iterables['seeds']
|
|
n_of_seeds=len(seeds)
|
|
ps = iterables['ps']
|
|
n_of_ps=len(ps)
|
|
stats=np.zeros((n_of_ps,3))
|
|
x=res[:,col]
|
|
if logv==True:
|
|
x=np.log(x)
|
|
|
|
for i in range(n_of_ps):
|
|
|
|
stats[i,0]=ps[i]
|
|
stats[i,1]=np.nanmean(x[i*n_of_seeds:(i+1)*n_of_seeds])
|
|
stats[i,2]=np.nanvar(x[i*n_of_seeds:(i+1)*n_of_seeds])
|
|
|
|
|
|
if logv==True:
|
|
stats[:,1]=np.exp(stats[:,1])
|
|
|
|
return stats
|
|
|
|
def plot_keff(stats):
|
|
|
|
ylabel=r'$K_{eff}$'
|
|
xlabel=r'$p$'
|
|
fsize=14
|
|
plt.figure(1)
|
|
plt.semilogy(stats[:,0],stats[:,1])
|
|
plt.xlabel(xlabel,fontsize=fsize)
|
|
plt.ylabel(ylabel,fontsize=fsize)
|
|
plt.grid()
|
|
plt.savefig('Keff_p.png')
|
|
plt.close()
|
|
|
|
plt.figure(2)
|
|
plt.plot(stats[:,0],stats[:,2])
|
|
plt.xlabel(xlabel,fontsize=fsize)
|
|
plt.ylabel(ylabel,fontsize=fsize)
|
|
plt.grid()
|
|
plt.savefig('vKeff_p.png')
|
|
plt.close()
|
|
return
|
|
|
|
def searchError(filename):
|
|
njobs = DotheLoop(-1)
|
|
rdir='./data/'
|
|
for job in range(njobs):
|
|
nclus=np.loadtxt(rdir+str(job)+'/'+filename)[:,4]
|
|
for i in range(1,nclus.shape[0]):
|
|
if nclus[0]!=nclus[i]:
|
|
print(job,nclus[0],nclus[i])
|
|
|
|
return
|
|
|
|
filename='resTestCon.txt'
|
|
searchError(filename)
|
|
|
|
|
|
res=collect_scalar(filename)
|
|
'''
|
|
stats = get_stats(res,0,True)
|
|
plot_keff(stats)
|
|
np.savetxt('Stats.txt',stats)
|
|
'''
|
|
|