I must say that at this point I am confused too ![]()
I understand your point @dokken: if you wrote the mesh alongside the function, just read it from there. However if I look at adios_mesh.py there is a call to
adios4dolfinx.write_mesh(mesh, path, engine='BP4')
If I look at adios_write.py there is instead a call to
adios4dolfinx.write_mesh(mesh, path_out, engine="BP4")
adios4dolfinx.write_function(kappa, path_out, engine="BP4")
i.e., writing again the same mesh, and in addition also writing the function. Does that mean that write_function has side effects that change the mesh that was written in the previous call?
To make it fair, I am running a slightly different sequence than @Ekrem_Ekici : run adios_mesh and adios_write in parallel (so that the two calls to adios4dolfinx.write_mesh are actually done in the same setting, 2 processors each), and read back in adios_read in serial
rm -rf adios_dir/ && mpirun -n 2 python3 adios_mesh.py && mpirun -n 2 python3 adios_write.py && python3 adios_read.py