mantaflow icon indicating copy to clipboard operation
mantaflow copied to clipboard

Incorrect FLIP

Open zoharl3 opened this issue 2 years ago • 0 comments

A pseudo code of FLIP is given in section 4.2 in

Zhu05, Animating Sand as a Fluid

Consider manta's flip01_simple.py.

flipVelocityUpdate() calculates FLIP correctly and associates the weighted FLIP/PIC velocity with each particle.

However, in pp.advectInGrid(), the Euler step is done with the interpolated new velocity in the grid without the FLIP step while the algorithm suggests to use the weighted velocity in the particle.

The calculated FLIP velocity is used only in mapPartsToMAC().

I assume it was easier to perform the Runge-Kutta this way instead of delta velocity.

Admittedly, this bug works better than the original algorithm and may be considered a feature :) However, consider at least adding a comment about it to the code.

zoharl3 avatar Jul 07 '22 13:07 zoharl3