I'm interested in ways to model irregular objects and fluid motion, and this is one of the classic approaches to solving these problems with realistic effects that are possible in a realtime environment. I didn't find any software resources available on the web, so this might help someone, too. The theory is quite simple - take a collection of particles, or nodes, and connect them with springs, or a damped spring system. Applying a force varys the compression in the spring. By changing the spring contants in the system, different density effects can be realized.
Objects have a natural surface tension and a higher rigidity, or resistance to applied force.
Fluids have minimal internal cohesion. Right now I haven't mastered the latter case, but if you build on this model please contact me. Many different behaviours can be studied by varing the parameters for the springs and node motion. This class contains the mesh of nodes that comprise the boundaries of the volume represented. Forces are applied to this object, and it is also lit and textured based on the parameters of the program.