|
My choice of simulation uses something akin to point vortices (called "vortons") that interact with their nearest neighbors.
The algorithm incidentally includes a new dynamic nearest neighbor tracking algorithm that runs in linear time.
This simulation drastically simplifies far-field interactions and puts them under artist control. Effects authors can control such flows readily with flow field primitives such as commonly occur in visual effects packages, like wind and vortex (not to be confused with the vortons in this simulation).
Vortex stretching and tilting plays an important role in the cascade from laminar to turbulent flow but for video games we can inject pseudo-turbulence a priori . Still, we include vortex stretching and tilting, but we find the results without those terms remains visually pleasing and games may elect to omit those terms.
To handle stratified fluids and multiple fluids with different densities the simulation must handle baroclinic generation of vorticity which in principle requires knowing both density and pressure gradients, which we approximate by comparing per-particle mass with that of its neighbors and computing the influence of gravity per particle, balanced by an approximate buoyancy.
Grid-free methods such as the one this simulation employs fortunately only need to have particles in regions where the flow behaves "interestingly" i.e. at vortices. Vortices represent the most interesting regions of fluid motion. They also represent a (potentially very high resolution) velocity gradient which implies that a grid-based solution would require twice or more the resolution in each direction so e.g. to simulate the same flow in a grid-based simulation would require 2x2x2=8 times as many grid points -- and that assumes vortices densely populate the entire grid, which is unlikely. Furthermore, grid-free methods can conform to any shape without expensive regridding techniques. |