||This is a 'how-to-do-it' book for people who want to use computers to simulate the behaviour of atomic and molecular liquids. We hope that it will be useful to first-year graduate students, research workers in industry and academia, and to teachers and lecturers who want to use the computer to illustrate the way liquids behave.
Getting started is the main barrier to writing a simulation program. Few people begin their research into liquids by sitting down and composing a program from scratch. Yet these programs are not inherently complicated: there are just a few pitfalls to be avoided. In the past, many simulation programs have been handed down from one research group to another and from one generation of students to the next. Indeed, with a trained eye, it is possible to trace many programs back to one of the handful of groups working in the field 20 years ago. Technical details such as methods for improving the speed of the program or for avoiding common mistakes are often buried in the appendices of publications or passed on by word of mouth. In the first six chapters of this book, we have tried to gather together these details and to present a clear account of the techniques, namely Monte Carlo and molecular dynamics. The hope is that a graduate student could use these chapters to write his own program.
The field of computer simulation has enjoyed rapid advances in the last five years. Smart Monte Carlo sampling techniques have been introduced and tested, and the molecular dynamics method has been extended to simulate various ensembles. The techniques have been merged into a new field of stochastic simulations and extended to cover quantum-mechanical as well as classical systems. A book on simulation would be incomplete without some mention of these advances and we have tackled them in Chapters 7 to 10. Chapter 11 contains a brief account of some interesting problems to which the methods have been applied. Our choices in this chapter are subjective and our coverage far from exhaustive. The aim is to give the reader a taste rather than a feast. Finally we have included examples of computer code to illustrate points made in the text, and have provided a wide selection of useful routines which are available on-line from two sources. We have not attempted to tackle the important areas of solid state simulation and protein molecular mechanics. The techniques discussed in this book are useful in these fields, but additionally much weight is given to energy minimization rather than the simulation of systems at non-zero temperatures. The vast field of lattice dynamics is discussed in many other texts.
Both of us were fortunate in that we had expert guidance when starting work in the field, and we would like to take this opportunity to thank P. Schofield (Harwell) and W. B. Streett (Cornell), who set us on the right