Graphics Reference
In-Depth Information
Oops! The flow comes to a standstill, never to move again. If we had taken
a smaller time step it would have just been slowed down, but only in the
limit Δ t
0 does it approach the vorticity it should be preserving. (If we
had taken a larger time step, the fluid might even have reversed direction
and rotated the other way!)
In fact, at least when density is constant, since the curl of a gradient
is automatically zero the pressure projection stage can't affect the fluid's
vorticity: the damage is already done when we advect velocities. With a
little more effort, it's not hard to verify that starting with a rigid rotation of
vorticity ω , one time step of perfect advection will change that to vorticity
ω cos( ω Δ t/ 2). If Δ t is small enough, this is approximately
1
ω n .
ω n Δ t 2
8
ω n +1
Thus our next step is to look at a way of adding back some of the missing
vorticity.
9.2 Vorticity Confinement
The vorticity confinement technique developed by Steinhoff and Under-
hill [Steinhoff and Underhill 94] is a modification of the Navier-Stokes
equations by a term that tries to preserve vorticity. Fedkiw et al. [Fed-
kiw et al. 01] introduced it to graphics, introducing a Δ x factor so that
in the limit (as the grid is refined) the term disappears and we get back
the true fluid solution. The underlying idea is to detect where vortices are
located and add a body force to boost the rotational motion around each
vortex.
In this context, a vortex is loosely speaking a peak in the vorticity field,
a place that's spinning faster than all the fluid nearby. We can construct
unit vectors N that point to these maximum points simply by normalizing
the gradient of
ω
:
N =
ω
.
ω
Now N points towards the center of rotation of a vortex, and ω itself
points along the axis of rotation, so to get a force vector that increases the
rotation, we just take a cross-product:
f conf = Δ x ( N
×
ω ) .
Search WWH ::




Custom Search