Graphics Reference
In-Depth Information
Another case where the finite volume approach is less than satisfactory
is for small objects, on the order of one grid cell. Depending on exactly
where they lie relative to the grid, they may block a face and thus have a big
impact on the pressure solve or may not intersect any face and be entirely
invisible to the pressure solve. This is similar to the aliasing problem that
can occur when using simple point samples to image small objects that
may randomly appear or not in the image depending on where they lie
with respect to the point samples. It is thus desirable to have a more
volumetric approach that can somehow average over the interior of each
grid cell.
4.5.2 The Variational Approach
There is indeed another approach with this and some other particularly
appealing properties which we will take in this topic. This is the variational
form of the pressure projection introduced by Batty et al. [Batty et al. 07].
It too ends up creating a linear system of the same structure, with pressure
unknowns inside the walls but derives slightly different coecients in the
matrix.
One intuition behind this method begins with our fluid-blob mental
picture, which we introduced in Chapter 1. The pressure force, responsible
for making sure blobs don't crowd together and overlap or that vacuums
don't open up between blobs, is essentially a contact force. In the incom-
pressible limit, we have eliminated sound waves, which means this contact
force must be perfectly inelastic: no compression or rebound is permitted.
Going back to the basics of collision processing between regular particles,
you may remember that a perfectly inelastic contact force is one that dissi-
pates as much kinetic energy as possible (whereas a perfectly elastic contact
conserves kinetic energy). Try working it out for yourself! Take two par-
ticles, with masses m 1 and m 2 , pre-contact velocities u ol 1 and u ol 2 ,anda
contact impulse J n between them (acting in the normal direction). The
post-contact velocities are
1
m 1 J n,
u new
1
= u old
1
+
1
m 2 J n.
u new
2
= u old
2
Search WWH ::




Custom Search