The Pebble Game
The 2D Pebble Game software can be run interactively using a Java applet and web service. Alternatively, you may download the following software versions as full Fortran code distributions: the 2D Pebble Game for central forces, the 3D Pebble Game with central forces and angular constraints, and the 3D pebble game without angular constraints. Instructions and examples can be found inside the compressed files, enjoy!
Background
The Pebble Game [1] is based on the theorem of Laman [2]. The implementation of Laman's theorem using the Pebble Game gives a complete and exact solution in 2D. The input is a set of distance constraints - the precise lengths are irrelevant, although they are fixed for convenience. This is a topological theorem, and the actual geometry is irrelevant, although useful in making plots to visualize the results etc. In 2D, two pebbles are associated with each site to represent the 2 degrees of freedom of a point, and then the Pebble Game moves these pebbles around, following Laman's theorem, to do a local count correctly as free pebbles (not associated with a constraint) are placed upon the line that represents the constraint, to show that it is an independent constraint. A constraint is independent if two free pebbles can be found at the ends of that constraint after an exhaustive search, otherwise it is dependent and the constraint is referred to as redundant. An interactive applet demonstration is available to demonstrate how the pebbles are moved. The user can input sites and then add constraints one at a time. It is recommended working through such an example with about 8 sites to better understand the procedure. The rigid regions are colored in red, and redundant bonds are not covered by pebbles. The number of floppy modes of the network is given by the number of free pebbles minus the 3 macroscopic modes. The interactive version of the 2D pebble game has multiple input options for the data files and multiple outputs that can be displayed as required for the particular project. This is an exact algorithm. The rigid region decomposition, the stressed and unstressed regions and the flexible joints between then are unique. A stressed region contains one or more redundant constraints, whose position is completely arbitrary within the region. Further details can be found in references [3-5].