Problem with using separate collide & stream instead of collideAndStream


For some reasons I should call collide and stream functions separatelly in my code instead of using original “collideAndStream” function:

// Execute a time iteration.
// lattice.collideAndStream();


But the result is unstable. I tried to make this modification for some of “showCases” and I realized that this problem shows up only for the 3D cases (conclusion is based on the few tests that I have done). For example I did this modification for “cavity2D” and it did NOT effect the result however there was problem with “cavity3D”. Does anyone tried this before? Is there any other parts that should be fixed in 3D cases?

I would be really thankful if anybody share his/her experiences with me about this problem.


There is a typo in line 216 of file blockLattice3D.hh

216 boundaryStream(domain, Box3D(domain.x1-vicinity-1,domain.x1,
217 domain.y0,domain.y1,
218 domain.z0,domain.z1) );

The correct it

boundaryStream(domain, Box3D(domain.x1-vicinity+1,domain.x1,

Thank you very much for this bug report. The error will be corrected in the next Palabos release.