Reviewed by Jan Tobochnik


COMPUTERS IN PHYSICS 11, 351-354(1997)


Computer simulation has become an important part of physics research, particularly in the area of condensed matter. In the research context, simulation usually refers to the use of Monte Carlo and molecular-dynamics algorithms. In the educational context, simulation usually refers to software that students use to see Physical phenomena without knowing either how they are being Simulated or what the relationship is between the computer code, the physics, and the output seen on the screen. The researcher and the serious student, however, need to know how physical phenomena are simulated. Daan Frenkel and Berend Smit's book, Understanding Molecular Simulation, provides this information. Each chapter carefully discusses an algorithm, the reasons why the algorithm is needed, the physical and mathematical justification for the algorithm, the computer implementation of the algorithm typical to be avoided, and finally some illustrative results. Understanding Molecular Simulation fills a niche not fully covered by other available books [1-5], four of which have been reviewed on these pages [1-4]. It treats Monte Carlo and Molecular-Dynamics simulations of primarily off-lattice systems with a focus on how to do these simulations in different ensembles. It also describes at length how to do free-energy calculations so that the reader can map out phase diagrams. I know of no other book in which free-energy calculations are treated with this much detail. The Lennard-Jones potential is used as an example for much of the book, and there is good coverage of polymer simulations including lattice models. Frenkel and Smit use Fortran to illustrate computer code, which is listed in small subroutines, allowing the user to see clearly what each piece of code is doing. The authors address a graduate and research audience for whom translating this code into another procedural language should be no problem. The authors also provide useful comments after each piece of code, in addition to in-line comments. The authors cover not only how to do simulations in different ensembles, but also what is behind the various algorithms- The extent of this coverage is a novel feature of the book. Although many readers may lack the patience to follow these derivations, it is convenient to have so many under one cover. Monte Carlo ensembles discussed include the canonical, grand canonical, micro-canonical, Gibbs, isobaric-isothermal, and isotension-isothermal. Except for the Monte Carlo microcanonical ensemble, which is rarely used for off-lattice Monte Carlo simulations, all are treated in detail, and the pitfalls of naive implementations are stressed. Perhaps one of the most interesting ensembles is the Gibbs ensemble, in which a system is divided into two parts that can exchange both particles and volume, such that the total volume and number of particles remain fixed. In this ensemble two phases can coexist without the usual interface. This interface normally makes it difficult to achieve two-phase coexistence in the small system sizes available for simulation. Also discussed are various biased Monte Carlo schemes. In addition, constant-temperature molecular dynamics and the use of constraints are reviewed.

As with any book, choices had to be made on topic coverage. The authors did not cover in any significant detail lattice systems of the Ising variety, non-equilibrium simulations, finite-size scaling, and molecular dynamics of hard spheres. Also, this text focuses on how to do the simulations, not on a discussion of the physics that we have obtained from this form of research. Finally, there are many minor typographical and grammatical errors, which I hope can be removed in later printings. This is most likely not the type of book you would want to take home and read on the sofa (although I actually did that many times). However, the style is friendly and interesting enough that you can learn quite a bit even without sitting down to work on your computer. I suspect that many newcomers to the field and perhaps many active researchers will be enlightened by the variety of ways in which computer simulations can be carried out. In fact, readers may find that some of what they were doing in the past was not quite right. Thus, anyone seriously doing computer simulations should certainly have this book as a reference.

References
1. Harvey Gould and Jan Tobochnik. An Introduction to Computer Simulation Methods, 2nd ed. (Addison-Wesley, Reading, MA, 1996). Reviewed by: Dawn C. Meredith, Comput. Phys. 10, 349 (1996).
2. Richard J. Gaylord and Paul R. Wellin, Computer Simulation with Mathematica: Explorations in Complex Physical and Biological Systems, Springer, New York, 1995). Reviewed by Bill Titus: Comput. Phys. 10, 350 (1996).
3. D. C. Rapaport, The Art of Molecular Dynamics Simulation, Cambridge University Press, New York, 1996). Reviewed by Robin L. Blumberg Selinger, Comput. Phys. 10, 456(1996).
4. J. M. Haile, Molecular Dynamics Simulations: Elementary Methods (John Wiley and Sons. New York, 1992). Reviewed by Ian Johnston: Comput. Phys. 7, 625 (1993).
5. R. W. Hockney and J. W. Eastwood, Computer Simulations using Particles, (Adam Hilger, New York, 1988).