Reversible simulations of elastic collisions

Consider a system of N identical hard spherical particles moving in a d-dimensional box and undergoing elastic, possibly multiparticle, collisions. We develop a new algorithm that recovers the precollision state from the post-collision state of the system, across a series of consecutive collisions, with essentially no memory overhead. The challenge in achieving reversibility for an n-particle collision (where, in general, n ≪ N) arises from the presence of nd - d - 1 degrees of freedom (arbitrary angles) during each collision, as well as from the complex geometrical constraints placed on the colliding particles. To reverse the collisions in a traditional simulation setting, all of the particular realizations of these degrees of freedom (angles) during the forward simulation must be tracked. This requires memory proportional to the number of collisions, which grows very fast with N and d, thereby severely limiting the de facto applicability of the scheme. This limitation is addressed here by first performing a pseudorandomization of angles, which ensures determinism in the reverse path for any values of n and d. To address the more difficult problem of geometrical and dynamic constraints, a new approach is developed which correctly samples the constrained phase space. Upon combining the pseudorandomization with correct phase space sampling, perfect reversibility of collisions is achieved, as illustrated for n ≤ 3, d = 2, and n = 2, d = 3. This result enables, for the first time, reversible simulations of elastic collisions with essentially zero memory accumulation. In principle, the approach presented here could be generalized to larger values of n. The reverse computation methodology presented here uncovers important issues of irreversibility in conventional models, and the difficulties encountered in arriving at a reversible model for one of the most basic and widely used physical system processes, namely, elastic collisions for hard spheres. Insights and solution methodologies, with regard to accurate phase space coverage with reversible random sampling proposed in this context, can help serve as models and/or starting points for other reversible simulations.

[1]  Brian Beckman,et al.  Time warp operating system , 1987, SOSP '87.

[2]  D. Manivannan,et al.  A low-overhead recovery technique using quasi-synchronous checkpointing , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[3]  S PerumallaKalyan,et al.  Reversible simulations of elastic collisions , 2013 .

[4]  Richard M. Fujimoto,et al.  Optimistic approaches to parallel discrete event simulation , 1990 .

[5]  J. E. Glynn,et al.  Numerical Recipes: The Art of Scientific Computing , 1989 .

[6]  James E. Broadwell Irreversibility in a Reversible Lattice Gas , 2001 .

[7]  Jason Sanders,et al.  CUDA by example: an introduction to general purpose GPU programming , 2010 .

[8]  A. Yu,et al.  Discrete particle simulation of particulate systems: Theoretical developments , 2007 .

[9]  Mauricio Marin,et al.  Event-driven hard-particle molecular dynamics using bulk-synchronous parallelism , 1997 .

[10]  Pierre L'Ecuyer,et al.  A random number generator based on the combination of four LCGs , 1997 .

[11]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[12]  Brian J. Ross,et al.  Running programs backwards: The logical inversion of imperative computation , 1997, Formal Aspects of Computing.

[13]  J. Yliruusi,et al.  Particle packing simulations based on Newtonian mechanics , 2007 .

[14]  Kalyan S. Perumalla Scaling time warp-based discrete event execution to 104 processors on a Blue Gene supercomputer , 2007, CF '07.

[15]  Mauricio Marin Billiards and related systems on the bulk-synchronous parallel model , 1997 .

[16]  S. Miller,et al.  Event-driven molecular dynamics in parallel , 2004 .

[17]  Youssef M A Hashash,et al.  Three‐dimensional discrete element simulation for granular materials , 2006 .

[18]  Rajib Mall,et al.  Reverse execution of programs , 1999, SIGP.

[19]  J. M. Haile,et al.  Molecular dynamics simulation : elementary methods / J.M. Haile , 1992 .

[20]  Mauricio Marín Billiards and Related Systems on the Bulk-Synchronous Parallel Model , 1997, Workshop on Parallel and Distributed Simulation.

[21]  Enrique San Millán,et al.  Accelerating secure circuit design with hardware implementation of Diehard Battery of tests of randomness , 2011, 2011 IEEE 17th International On-Line Testing Symposium.

[22]  Boris D. Lubachevsky,et al.  How to Simulate Billiards and Similar Systems , 1991, ArXiv.

[23]  Christopher D. Carothers,et al.  Efficient optimistic parallel simulations using reverse computation , 1999, Workshop on Parallel and Distributed Simulation.

[24]  A. Rex,et al.  Maxwell's demon 2: entropy, classical and quantum information, computing , 2002 .

[25]  G. Marsaglia Choosing a Point from the Surface of a Sphere , 1972 .

[26]  Matt Pharr,et al.  Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation , 2005 .

[27]  Paul W. Cleary,et al.  DEM modelling of industrial granular flows: 3D case studies and the effect of particle shape on hopper discharge , 2002 .

[28]  Aleksandar Donev,et al.  Asynchronous Event-Driven Particle Algorithms , 2007, 21st International Workshop on Principles of Advanced and Distributed Simulation (PADS'07).

[29]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[30]  Alan T. Krantz,et al.  Analysis of an efficient algorithm for the hard-sphere problem , 1993, TOMC.

[31]  William H. Press,et al.  Numerical Recipes 3rd Edition: The Art of Scientific Computing , 2007 .

[32]  Clifford Ambrose Truesdell,et al.  Fundamentals of Maxwell's kinetic theory of a simple monatomic gas , 1980 .