Dear all,
Currently I am trying to implement lagrangian particle tracking in an incompressible Navier stokes solver in FEniCS. To this end, I installed LEoPart, a library that adds Lagrangian particle functionality to FEniCS.
My code follows the incompressible navier stokes demo from fenics. I use LEoPart to create particles inside the velocity field and to advect them every timestep.
To get a visual insight into the functioning of the code, I would like to save the particle locations to an XDMF file for post-processing in Paraview.
The section for introducing particles, advection and post-processing looks as follows:
# Initialize particles
xp = RandomSphere(Point(0.0,-0.016,0.0),0.001).generate([100, 100, 100])
part = particles(xp, [], mesh)
ap = advect_particles(part, V, u_,"closed")
xp0 = part.positions()
ap.do_step(dt)
xpE = part.positions()
points_list = list(Point(*pp) for pp in part.positions())
XDMFFile(os.path.join("/home/tkonings/fe1/LPTresult/", str(t)+"particles.xdmf")) \
.write(points_list)
However, I get the following error:
HDF5-DIAG: Error detected in HDF5 (1.10.4) MPI-process 0:
#000: H5Dio.c line 336 in H5Dwrite(): can't write data
major: Dataset
minor: Write failed
#001: H5Dio.c line 828 in H5D__write(): can't write data
major: Dataset
minor: Write failed
#002: H5Dmpio.c line 671 in H5D__contig_collective_write(): couldn't finish shared collective MPI-IO
major: Low-level I/O
minor: Write failed
What could be the reason for this error?
Is there a better way to output and visualize particle locations in 3D when using LEoPart in parallel?
Thank you in advance for your attention to this matter.