For computational efficiency, the 3-D computational volume is subdivided into a cubic array of bins (e.g., 30x30x30). The number of bins in each direction is specified by the global parameter NBIN in concrete.c. The use of bins greatly speeds up execution of the program, as we can limit particle overlap checks to a subset of the overall system. With this in mind, our data structures have been established to provide convenient answers to the following two questions: 1) In which bins is particle i? and 2) Which particles are in bin j? Using linked list data structures in the C programming language, we have created a bin list for each particle, and for each bin, a corresponding particle list, as illustrated in Fig. 2. Our basic data structure for a particle (list element) in a bin then consists of the following: particle ID