import numpy as np import dolfin as df from dolfinh5tools import openh5 mesh = df.UnitSquareMesh(10, 10) filename = 'file_mpi' functionspace = df.VectorFunctionSpace(mesh, 'CG', 1, 3) f = df.Function(functionspace) t_array = np.linspace(0, 1, 5) # Save data. sd = openh5(filename, functionspace, mode='w') sd.save_mesh() for t in t_array: f.assign(df.Constant((1 + t, 2, 3))) sd.write(f, 'f', t) sd.close()
import matplotlib.pyplot as plt from dolfinh5tools import openh5 hFile = openh5("array_integrator_parallel", mode="r") plt.plot(hFile.read(t=0, field_name="T").vector().array()) plt.plot(hFile.read(t=1, field_name="T").vector().array()) plt.show()
import numpy as np import dolfin as df from dolfinh5tools import openh5 mesh = df.UnitSquareMesh(10, 10) filename = 'file_mpi' functionspace = df.VectorFunctionSpace(mesh, 'CG', 1, 3) f = df.Function(functionspace) t_array = np.linspace(0, 1, 5) # Load data. ld = openh5(filename, mode='r') for t in t_array: f.assign(df.Constant((1 + t, 2, 3))) f_loaded = ld.read(t, 'f') print "%1.50f" % df.assemble(f[0]*df.dx) print "%1.50f" % df.assemble(f_loaded[0]*df.dx) print "%1.50f" % (df.assemble(f[0]*df.dx) - df.assemble(f_loaded[0]*df.dx)) assert np.abs(df.assemble(f[0]*df.dx) - df.assemble(f_loaded[0]*df.dx)) < 1e-14 print '------------' ld.close()