Game Development Reference

In-Depth Information

to large inaccuracies when the derivative is high. Furthermore, to obtain [
dρ
j
/dt
]
0

for all neighbors
j
of a particle
i
, [
dρ
j
/dt
]
0
has to be calculated before the up-

date loop at
t
0
because it involves a sum over the neighbors of every particle
j
.

However, during the update loop of
t
−
1
, the velocities [
v
j
]
0
have not yet been

established for all particles, so [
dρ
j
/dt
]
0
cannot be accurately calculated and has

to be estimated itself.

6.6 Stability and Behavior

Within an SPH fluid simulation, many parameters influence the behavior of fluid

particles. The behavioral influence can be so large that, in certain cases, adding

gravity to a system of particles is enough to keep the particles from moving into

a rest state. In other words, the stability of the SPH simulation is easily com-

promised, even in basic situations. This section will identify the parameters that

influence the behavior of an SPH particle system and evaluate the stability and

behavior of a particle system under the influence of gravity for different values of

selected parameters. The evaluation will be performed for both the original SPH

algorithm as discussed in Section 6.3 and the collapsed SPH algorithm optimized

for performance from Section 6.5.

First, we will focus on stability under extreme circumstances; for both algo-

rithms, we will try to find parameters for which the SPH simulation becomes too

unstable to remain usable. The resulting range of usable parameters will estab-

lish whether one algorithm is restricted in the possible selection of parameters

compared to the other algorithm. Afterwards, we will evaluate the visual output

of both the original and the collapsed SPH simulation. We can thereby verify

differences in behavior between both types of algorithms.

To find the range of usable parameters for an SPH fluid simulation, we have

to find the parameters that influence the behavior of the simulation. Therefore, we

look at the forces acting on a particle, as defined by Equation (6.4). Three forces

act on a fluid particle:
f
i

,
f
i

,and
f
ext

i

. In our test scenario, the only external

forces are gravity and collision forces produced by static geometry. We will only

consider gravity and leave collision forces out of the discussion, as these are very

specific to the type of collision response desired. Also, we do not consider viscous

forces. Viscous forces dampen the velocity of particles, reducing the effects of

instability. As we had to constrain the number of parameters influencing the fluid

behavior, we chose to evaluate cases where instability is most prevalent, namely,

the ones with zero viscosity.
1

1
We performed tests to verify that adding viscosity does not affect the collapsed SPH algorithm in

ways different from the original algorithm. Both algorithms turned out to be more stable with added

viscosity—a larger range of parameters could be chosen—but neither one turned out to be more stable

than the other. We therefore chose to omit the results of tests with nonzero viscosity.