Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import h5py
import numpy as np
import tools
def load_data_0D(filename,dname):
with h5py.File(filename, 'r') as file:
# Load time data
time = file['data/var0d/time']
time = time[:]
var0D = file['data/var0d/'+dname]
var0D = var0D[:]
return time, var0D
def load_data_3D_frame(filename,dname,tframe):
with h5py.File(filename, 'r') as file:
# load time
time = file['data/var3d/time']
time = time[:]
# find frame
iframe = tools.closest_index(time,tframe)
tf = time[iframe]
# Load data
if dname == 'Ni00':
data = file[f'data/var3d/Na00/{iframe:06d}']
data = data[:,:,:,0]
else:
data = file[f'data/var3d/{dname}/{iframe:06d}']
data = data[:]
data = data['real']+1j*data['imaginary']
# Load the grids
kxgrid = file[f'data/grid/coordkx']
kygrid = file[f'data/grid/coordky']
zgrid = file[f'data/grid/coordz']
return time,data,tf
def load_grids(filename):
with h5py.File(filename, 'r') as file:
# Load the grids
kxgrid = file[f'data/grid/coordkx']
kygrid = file[f'data/grid/coordky']
zgrid = file[f'data/grid/coordz']
pgrid = file[f'data/grid/coordp']
jgrid = file[f'data/grid/coordj']
Nx = kxgrid.size
Nky = kygrid.size
Ny = 2*(Nky-1)
Lx = 2*np.pi/kxgrid[1]
Ly = 2*np.pi/kygrid[1]
xgrid = np.linspace(-Lx/2,Lx/2,Nx)
ygrid = np.linspace(-Ly/2,Ly/2,Ny)
return xgrid,kxgrid,ygrid,kygrid,zgrid,pgrid,jgrid