Introduction

According to Brian Mirtich, the primary developer of the serial version of the rigid body dynamic simulator named Impulse:

"Impulse-based simulation is a new paradigm for the simulation of physical systems, especially those which are hard to simulate efficiently with traditional constraint-based methods. The key idea is that all contact interactions between objects are affected through collisions; even a block apparently at rest on a table actually experiences many tiny, rapid collisions with the surface."

The serial version of Impulse consists of over 27,000 lines of C code written by Brian Mirtich. For its parallel implementation the code was converted to Split-C by Eric Paulos. There were various modifications and additions made to Impulse in Split-C for parallel execution. Many of these changes are discussed in the parallel section of this writeup. The parallel version of Impulse has been compiled and executed on both the CM5 and the SP1 architectures.

A classically difficult simulation example is that of a pool break. Brian Mirtich describes how Impulse handles this system correctly.



[ Home ]


Eric Paulos / paulos@robotics.eecs.berkeley.edu / 10 May 1995