force stream lines to go up to end of simulation domain

I have created stream lines from a custom source,
the simulation is a tube with an internal mixer. (with axial direction be Z)
for the source of the stream lines,

  1. load the inlet patch
  2. use extract block
  3. use slice in the extract block in X direction by 10 elements
  4. use slice in the previous created slice in Y direction by 10 elements this creates a homogeneous grid

this works like charm, with the only issue that when I try to ‘show’ the distribution of the stream lines at the end of the tube (at 0.99 zMax), using slice, I am getting a smaller number of points than the ones from the source, some of them are stoped over the tube.
I have played with the limits of the stream line filter and went up to:

MaximumStepLength = 0.05
MaximumSteps = 200000
MaximumStreamlineLength = 1000000.0

when the tube only makes 0.05x0.05x1 in total dimensions.
the number of ‘seeds’ lost is quite small (~14% see photo down the post) but I would like to know if there is any other option/parameter to enable the seeds that are stopped in the walls to continue and exit the reactor.

thanks in advance,

They probably go out of domain, are you using the streamtracer ?

Hello Mathieu,
Sorry for the late response,
I am using stream lines from custom source.
I feel from the images that some of streams ‘stops’ over some walls I can imagine that is the 0 velocity from the wall, but not sure… As even if I increase the parameters that I post it this stream lines do not grow more.

Please share data and a statefile

Hello Mathieu,
I cleaned the case to the bare bones.
here it is:
there is a script “” inside that is the one I am running to get the streamlines&points. hope it helps.
(and as you can see if you check the length of pointsOfPatchData and pointsAtOutletData they are 7660 and 6592 respectively for a tube with one inlet and one outlet so, no particles should ‘go out’ of the system without going thought the outlet( where the pointsAtOutletData is taken))
sorry didnt saw that you asked also for a statefile, the python script will give the exact result i am facing, in any case you prefere here is the statefile
stateFile.pvsm (136.8 KB)
for example here are two streamlines that ‘stop’ at one moment indeferently of the values that I put in the stream line from custom source parameters:

Hello Mathieu,
any solution that you can imagine for this? is this a bug?
I played with every parameter in the filter (stream lines from custom source) that i could find and nothing solved it…
thanks in advance,

I tried your statefile with 5.11 and 5.12 and got segaults everytime. More investigation needed.

In any case, you may want to switch to point locator if not already.

Hello Mathieu,
what do you mean by segaults?
same question to the point locator, you mean the path in the python script? if that, yeah, I changed to:


I’m using the pvsm.

By segfault I mean a crash.

oh, my bad, maybe because not enought RAM? as it is creating a lot of streamlines, here is the same state with way less.
stateWithLessStreamLines.pvsm (236.6 KB) (this but even the previous pvsm file runned correctly for me over tuxedOS (ubuntu based) in paraview 5.12.0)
and even with less number of stream lines (less seed points) it is always the same issue of having lines that stop…

I dont see any streamlines stopping using 5.12.0:

hello Mathieu,
have a look at the inlet and at the outlet you will see different number of streams,
also in the figure pretty sure it can be seen that is being cutted

They go out of domain:

Hello mathieu,
thanks for the insight, but how can I resolve this? as the velocity on the wall (cylindrical surface) is equal to 0 in each direction, and this should not happen as it is not physically accurate. is there any way to stop the stream lines of ‘going out of the domain’?
the same happends over the mixer with one of the stream lines:


The particles has residual velocity so the 0 velocity at the surface means that it will keep going out slowly but surely. You need to have a small invward velocity at the surface to avoid that.

Alternatively, use a streamtracer that support boundary interaction like the LagrandianParticleTracker.

More complex to setup though:

1 Like