Galilean Invariance
In an unbounded physical domain, simulating a turbulent fluid on an Eulerian grid is rather tricky. Since it is
difficult to predict the motion of the fluid, it is also difficult to guess which computational domain would allow the
simulation of the fluid without crossing the computational boundaries. To address this dilemma, we have developed
a novel adaptive framework where the simulation grid follows the motion of the flow. Our technique is based on
the principle of Galilean Invariance and the culling of simulation cells using a metric derived from continuative
boundary conditions.


Fixed grid 
Moving grid 
The images above illustrate our technique. On the left, using a fixed grid with open boundary conditions,
the fluid gets advected out of the computation domain. On the right, the domain has been translated and rescaled
to take into account the motion of the fluid. Our algorithm tracks the motion of the fluid to define at
each frame an optimal axisaligned computation domain.
Extended Galilean Invariance for Adaptive Fluid Simulation [pdf]
Maurya Shah, Jonathan M. Cohen, Sanjit Patel, Penne Lee, and Frédéric Pighin
Proceedings of ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2004
Disjoint Translating Grids
Fluid dynamics describes the behavior of smoke, steam, water pouring
into a container, ocean waves, fire, clouds, explosions, and
many other phenomena that appear frequently in movies, video
games, and virtual reality simulations. From a computer graphics
perspective, computational fluid dynamics (CFD) techniques can be
categorized as either Lagrangian or Eulerian.
Lagrangian techniques translate the NavierStokes equations into
the material coordinate frame and treat the fluid flow as a particle
system, where pressure is an interparticle force that seeks to preserve
uniform particle density. While these techniques excel at representing
splashy and particulate fluid flows, they require excessive
numbers of particles to simulate smooth water surfaces.
Most computer graphics applications have leaned towards the Eulerian
approach, where the NavierStokes equations are expressed
in a fixed global coordinate frame. Finitedifference methods can
be made unconditionally stable with semiLagrangian methods as
suggested by [Stam 1999], and have been used to simulate gases
and liquids. Eulerian methods excel at representing interfaces via
Levelset methods, and incompressibility can be enforced efficiently
using the projection method. While Eulerian methods can be unconditionally
stable, excessively large time steps introduce severe
numerical viscosity, and hence ruin physical and visual accuracy.
This is why [Enright et al. 2002] recommends limiting the time step
to no more than 5 times the CourantFriedrichLevy (CFL) condition.
For splashy simulations, this can lead to excessively small
time steps.
In general the Lagrangian representation is superior for modeling
freefalling water in terms of speed, accuracy, and simplicity. The
goal of the present research is to exploit this observation to accelerate
simulations of splashy fluids, by mixing a Lagrangian method
for freefalling water with an Eulerian method for contained water.
Our method splits a single simulation into multiple computational
grids, where the motions of the computational grids are treated analytically
whenever possible (e.g. when splashes are in freefall).
During the simulation, these grids are resized, split, or merged depending
on the motion of the fluid to improve computational efficiency and accuracy.
The sequence of frames below illustrates our technique. A sphere of water
crashes into a skeleton hand. The original sphere and the resulting splashes
are all simulated in separate translating grids.
Fluid Simulation Via Disjoint Translating Grids [pdf]
Sanjit Patel, Anson Chu, Joanathan Cohen, and Frédéric Pighin
SIGGRAPH 2005 technical sketches
Flow Editing
Fluid simulations are notoriously difficult to predict and control. As a result, authoring fluid flows often involves
a tedious trial and error process. There is to date no convenient way of editing a fluid after it has been simulated.
In particular, the Eulerian approach to fluid simulation is not suitable for flow editing since it does not provide a
convenient spatiotemporal parameterization of the simulated flows. In this research, we develop a new technique
to learn such parameterization. This technique is based on a new representation, the Advected Radial Basis
Function. It is a timevarying kernel that models the local properties of the fluid.
Our goal is to combine the advantages of the Eulerian and Lagrangian
representations to create a system for interactively manipulating
fluid flows. In this system, the fluid can be manipulated as a
deformable object. Our approach is to convert Eulerian simulations
into Lagrangian representations by advecting particles in the
fluid. These particles are used to reparameterize the fluid. The new
parameterization is based on a set of radial basis functions centered
at each time step around the particles. We call this new fluid
representation the Advected Radial Basis Function (ARBF) model. The
power of the ARBF model is to allow the editing of the fluid by
interacting with the particles. As we change the position of the
particles, we also change the fluid they represent. During the editing
process, spatial and temporal constraints are enforced to maintain the
coherency of the flow.




Simulated fluid 
Advected particles 
Fitted model 
Reconstructed fluid 
The sequence of images below shows a fluid simulation being adapted
to a new environment. Originally the motion of a hot gas was
simulated without obstacle, thanks to our system we can modify the flow
to take into account a solid sphere in its path.
Modeling and Editing Flows Using Advected Radial Basis Functions [pdf]
Frédéric Pighin, Jonathan M. Cohen, and Maurya Shah
Proceedings of ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2004
