Graphics Reference
In-Depth Information
The boundary conditions for advection can vary. As we saw earlier,
these arise in the semi-Lagrangian method in terms of which values should
be used when interpolating from non-fluid grid cells or when tracing outside
the bounds of the grid. For insulated solids it makes sense to extrapolate
T -values from the nearest point in the fluid; for solids that should conduct
their heat to the flow, the solid's own temperature can be used. Unless a
solid is a source of smoke, like a fire, and can supply a sensible s -value, it
should be extrapolated from the fluid. At open boundaries, both T and
s should be taken to be “ambient” values—typically T on the order of
273 K and s =0.
To make things interesting, we generally add volume sources to the
domain: regions where, at each time step, we add heat and smoke. In the
PDE form this could be represented as
DT
Dt
= r T ( x )( T target ( x )
T ) ,
Ds
Dt
= r s ( x ) ,
where r T and r s are functions that control the rate at which we add heat
and smoke—which should be zero outside of sources—and T target gives the
target temperature at a source. This can be implemented at each grid point
inside a source as an update after advection:
T new
ijk
e −r T Δ t )( T target
= T ijk +(1
T ijk ) ,
s new
ijk
= s ijk + r s Δ t.
For additional detail, all of these source values might be modulated by an
animated volume texture. To help avoid excesses due to poor choices of
parameters, the smoke concentration might also be capped at a maximum
concentration of 1.
Another useful animation control is to allow for decay of one or both
fields: multiplying all values in a field by e −d Δ t foradecayrate d .This
isn't particularly grounded in real physics, but it is a simple way to mimic
effects such as heat loss due to radiation.
Heat and smoke concentration both can diffuse as well, where very
small-scale phenomena such as conduction or Brownian motion, together
with slightly larger-scale processes such as turbulent mixing, serve to
smooth out steep gradients. This can be modeled with a Laplacian term
Search WWH ::




Custom Search