ParticleTracer segmentation fault any time paraview is run in parallel

I am running a parallel paraview server on a large cluster. I am trying to use the ParticleTracer to visualize a flow field with a plane as a source. This works completely fine for serial runs of paraview, whether that be locally or through pvserver. However, anytime I run in parallel, I immediately get a seg fault error when applying the particle trace filter. I have attached the error to this post. It seems the problem is in the ParticleTracerBase class when trying to call getCacheDataTime. I have tried to turn on “Ignore Time” in the pipeline browser, but that also does not work.

I have tried this both with ParaView 5.10.1 and 5.11 on two completely different clusters. I am wondering if this is a known issue and if there might be some way to fix it. Unfortunately, I am short of time as I have a deadline soon and have very little time to debug over the next few days. This is also the reason I am not able to provide much in the way of helping you all reproduce my error.

Sorry about that and thanks a lot.

pv-error.txt (39.0 KB)

Hi @moonlightcockroch

Please share your data,

Best,

Thanks for getting back. I attached a few time-steps of my data. I get the error right when applying the ParticleTracer filter on every dataset that I have tried. Again, this only happens for parallel runs.

flow0000.vtk (2.2 MB)
flow0001.vtk (2.2 MB)
flow0002.vtk (2.2 MB)
flow0003.vtk (2.2 MB)
flow0004.vtk (2.2 MB)

Also, the time-step size of these is 0.01. So, I make a calculator filter and divide by 100, and then apply the particles tracer to that.

You need to distribute your dataset before the particle tracer, using “RedistributeDataSet” filter.

I’ve opened an issue for the segfault:

https://gitlab.kitware.com/paraview/paraview/-/issues/21637

I appreciate the help with this. I found that this helps in preventing immediate crashing; however, I have found the particle tracer to be generally unstable no matter what if a significant number of particles are used. Unfortunately, this makes it pretty much unusable for me.

I am trying to create a smoke tracer effect to visualize my flow field, so I obviously need a lot of particles for this. I am assuming that the particle tracer wasn’t designed for this use though, so I can’t really complain.

I haven’t been able to find another of way doing this in Paraview, unfortunately. Is there perhaps a way to compute an Eulerian advection (as opposed to the Lagrangian approach of the ParticleTracer filter) of some species inside of Paraview given the time-dependent velocity field that I compute from my CFD code? I obviously could do this myself with my own advection-diffusion solver, but it would be extremely convenient to be able to do in Paraview.

Any ideas?

Please isolate and open any issues you may have.

I am trying to create a smoke tracer effect to visualize my flow field, so I obviously need a lot of particles for this. I am assuming that the particle tracer wasn’t designed for this use though, so I can’t really complain.

The StreamTracer was not designed to produce an effect but to simply simulate particles behavior in a vector field.

The Lagrangian particle tracker let you implement your own model if that helps you.