In [2]:
import sys
import h5py
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
import gc

In [3]:
def normalize(a,xmax,nx):
    c=0
    dx=xmax/float(nx)
    
    for i in range(0,int(xmax),nx):
        c=c+a[i]**2*dx
    print(c)
    return a/np.sqrt(c)

In [27]:
#/usr/bin/python
# -*- coding: utf-8 -*-
f = h5py.File("../../build/sim1.h5")
dset1 = f.get("/numres")
dset2 = f.get("/params")
dset3=f.get("/levels")
p = np.array(dset2)
a = np.array(dset1)
print(a.shape)
ind=np.array(dset3)
f.close()
dset1=0;
dset2=0;
dset3=0
nx=100000
ne = 1e8
fig=plt.figure()
ax=fig.add_subplot(111)
x=np.linspace(-30,30,nx-1)
dx=100000/nx


for i in range(5,6):
   # a[int(ind[i])*nx:int(ind[i])*nx+nx] = normalize(a[int(ind[i])*nx:int(ind[i])*nx+nx],p[0],nx)
    print(a[int(i)*nx+1:int(i)*nx+nx:].shape)
    print(x.shape)
    ax.plot(x,a[int(i)*nx+1:int(i)*nx+nx:],label="$E_{"+str(i)+"}$")
    plt.draw()

ax.set_xlabel("$x$ $(a_0)$",size=20)
ax.set_ylabel("$\Psi_n$ (not normalized)",size=20)
plt.legend()
plt.show()
plt.close()
a=0
p=0
fig.clf()
gc.collect()


(800000,)
(99999,)
(99999,)
Out[27]:
11256

In [ ]: