úÎ+Ö*;     byorgey@cis.upenn.eduAA particle has a current position, current velocity, and current  force acting on it. An Ensemble/ is a physical configuration of particles. It @ consists of a mapping from particle IDs (unique integers) to C particles, and a list of forces that are operative. Each force D has a list of edges to which it applies, and is represented by a 5 function giving the force between any two points.  +An edge is a pair of particle identifiers. %Used to uniquely identify particles. =Create an initial particle at rest at a particular location. &Options for customizing a simulation. Damping factor to be  applied at each step.  Should be between 0 and 1. Kinetic energy below which  simulation should stop. If  Nothing, pay no attention  to kinetic energy. Maximum number of  simulation steps. If  Nothing, pay no attention  to the number of steps. >Simulate one time step for an entire ensemble, with the given  damping factor. ASimulate one time step for a particle (assuming the force acting D on it has already been computed), with the given damping factor. >Recalculate all the forces acting in the next time step of an  ensemble. 1Compute the total kinetic energy of an ensemble. =Simulate a starting ensemble according to the given options, D producing a list of all the intermediate ensembles. Useful for,  e.g.;, making an animation. Note that the resulting list could  be infinite, if a ! is not specified and either the C kinetic energy never falls below the specified threshold, or no " energy threshold is specified. ?Run a simluation from a starting ensemble, yielding either the 3 first ensemble to have kinetic energy below the  (if @ given), or the ensemble that results after a number of steps  equal to the $ (if given), whichever comes first.  Otherwise  forceLayout will not terminate. distForce f p1 p2, computes the force between two points as a 5 multiple of the unit vector in the direction from p1 to p2,  given a function f which computes the force's magnitude as a 0 function of the distance between the points. hookeForce k l p1 p2 computes the force on p1, assuming that  p1 and p23 are connected by a spring with equilibrium length l  and spring constant k. coulombForce k, computes the electrostatic repulsive force C between two charged particles, with constant of proportionality  k.          force-layout-0.1.0.0Physics.ForceLayoutParticle_pos_vel_forceEnsemble_forces _particlesEdgePIDforceposvel initParticleForceLayoutOptsFLOptsdamping energyLimit stepLimitforces particles ensembleStep particleStep recalcForces kineticEnergysimulate forceLayout distForce hookeForce coulombForce