Forward Advection


#1

Hi Folks Just curious to know , How about using the Forward advection with High detail solve on.I was going through the Docs and found this.

Sir Duncan pls shed some lights and help us , Since i faced some static fluids issue in my fluids work , just afraid of that statement, that “Using of Forward advection with High detail solve can be flicker in result”.

So why not we can use it, or if we are using then what to do to avoid the instability.

Looking to hear from you Mr.Duncan.


#2

Forward advection with highDetail solve should work fine.

The solver advects (or pushes stuff through the fluid) the various grid values like density and temperature using the velocity values. It also pushes the velocity value through the grid, but forward advection is never used on the velocity part. So if you have both forward advection and highDetail solve on it advects the velocity grid with highDetail but uses forward advection for all the other grids.

The default advection uses a back propagation trick discovered by Jos Stam(“stable fluids”- one of the most widely sited papers in computer graphics), and it has the nice property in that is stable for any time step. A downside of this backprop trick is that one gets diffusion for large time steps and mass is not conserved. The basic method is simple… set a voxels value to the grid value at voxel position-velocity. This also threads really easily.

The forward advection method instead takes a voxel then projects it in a forward fashion based on the velocity. It then dumps its contents into all the voxels that overlap the projected voxel. This preserves the mass, which is sometimes useful, especially when the velocity is not fully incompressible.

Jos Stam’s method has a great deal of mass loss when the simulation allows compression( convergent or divergent velocities). The high detail solve is a variation on the backprop method where second forward step is used to compute an correction factor. This has the opposite effect of the back prop in that mass tends not to be lost but be added. It can be also be unstable in some situations(as velocity can be added), but there is special code we added to insure stability in most situations. Before this code was added there was a stablity problem with high detail solve( not related to forward advection, but could cause popping when combined with it ). If one does still get popping then there are probably a lot of extreme forces being applied to the simulation.

Note that it might be nice if we had a forward advection method that also applied to the advection of the velocity grid, but this would likely require small time steps to be stable and would also be quite slow to compute.

Duncan


#3

Thanks a lot Sir Duncan.

That means we can use Forward Advection with High Detail Solve. :applause:


#4

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.