glel = np.arange(1, nelt + 1) po = [] to = [] nxyz = nx1 * ny1 * nz1 coords = np.empty((nelt, ndims, nxyz)) for i in range(nelt): for j in range(nxyz): k = i * nxyz + j l = vid[k] coords[i][0][j] = x[l] coords[i][1][j] = y[l] coords[i][2][j] = z[l] po.append(power[k]) to.append(flux[k]) p = np.array(po).reshape((nelt, nxyz)) t = np.array(to).reshape((nelt, nxyz)) data = FldData.fromvalues(nx1=nx1, ny1=ny1, nz1=nz1, nelgt=nelt, nelt=nelt, glel=glel, coords=coords, p=p, t=t) data.tofile('proteus0.f00001')
from fld_data import FldData data = FldData.fromfile('data/three3d0.f00001') print(data)
from fld_data import FldData d1 = FldData.fromfile('data/test0.f00001') d1.tofile('fftf0.f00001') print(d1) print('*' * 60) d2 = FldData.fromfile('fftf0.f00001') print(d2)
from fld_data import FldData import numpy as np d = FldData.fromfile('data/test0.f00001') d.p = np.full(d.nelt * d.nx1 * d.ny1 * d.nz1, fill_value=99) print(d)
from fld_data import FldData from fld_data_memmap import FldDataMemmap import tracemalloc tracemalloc.start() d1 = FldData.fromfile('data/test0.f00001') d1.tofile('fld_data0.f00001') d2 = FldData.fromfile('fld_data0.f00001') snapshot1 = tracemalloc.take_snapshot() top_stats_1 = snapshot1.statistics('lineno') print("[ Top 10 in FldData]") for stat in top_stats_1[:10]: print(stat) tracemalloc.stop() tracemalloc.start() d3 = FldDataMemmap.fromfile('data/test0.f00001', mode="r") d3.tofile('fld_data_memmap0.f00001') d4 = FldDataMemmap.fromfile('fld_data_memmap0.f00001') snapshot2 = tracemalloc.take_snapshot() top_stats_2 = snapshot2.statistics('lineno') print("[ Top 10 in FldDataMemmap]") for stat in top_stats_2[:10]: print(stat)
fld_objs = [FldDataMemmap.fromfile(f) for f in fld_files] nelgt = sum(f.nelgt for f in fld_objs) nx1 = fld_objs[0].nx1 ny1 = nx1 nz1 = nx1 nelt = sum(f.nelt for f in fld_objs) glel = np.arange(start=1, stop=nelgt + 1) merged_coords = np.concatenate( [f.coords + s for f, s in zip(fld_objs, shifts)]) merged_u = np.concatenate([f.u for f in fld_objs]) merged_p = np.concatenate([f.p for f in fld_objs]) merged_t = np.concatenate([f.t for f in fld_objs]) merged_fld = FldData.fromvalues(nelgt=nelgt, nelt=nelt, nx1=nx1, ny1=ny1, nz1=nz1, glel=glel, coords=merged_coords, u=merged_u, p=merged_p, t=merged_t) merged_fld.tofile('merged0.f00001') endtime = time.time() print('time used: {} s'.format(endtime - starttime))