Atomic Scale Simulation : Introduction
This course is concerned with the theory and practice of computer simulation of many-body systems.
Why is computer simulation important?
Many-body problems are ubiquitous in physics, chemistry, biology, and materials science. Simulations provide a very powerful way of solving these problems, enabling one to go directly from a microscopic Hamiltonian to macroscopic properties measured in experiment, essentially without approximation. We hope to convince you of this! Some of the reasons why simulations have become so important are:
- Other general methods for many-body problems involve approximations. In the continuum, a two body problem can be solved analytically. There is no exact solution for more than two bodies.
- Uncontrolled approximations always breakdown somewhere. One needs a method to test out or benchmark, approximate methods to find their range of validity. This implies that the exactness of simulation is very important, otherwise we're wasting computer and human time.
- What is the role of theory today? Why not just measure properties in the lab? Simulation can give reliable predictions when experiments are not possible or very difficult. Some examples: What is the equation of state of hydrogen at 10MBars? How do polymers move?
- It is often interesting to study artificial models to gain insight into the limitations of theory. For example: how do phase transitions change in going from 2 to 3 to 4 dimensions?
- Simulations are easy to do, even for very complex systems; their complexity is no worse than the complexity of the physical description. In contrast, purely theoretical approaches typically are applicable only to very simplified models. Simulations are good for learning about a system and to get a good idea of what is going on. Also they are a good black box for non-experts since one does not have to master a particular theory to understand the input and output of a simulation.
- Simulations scale up with the increase of computer power. The earliest simulations involved 32 particles; now one can do millions of particles (or more!).
The above reasons have lead to a rapid development of simulations, both applications and methodology. Originating at the dawn of the computer age in condensed matter and chemical physics (1950) direct simulations of atoms and molecules have now spread to most areas of pure and applied science. Computational physics has been said to constitute a third way of doing physics, comparable to theory and experiment. We will see that simulations do have both theoretical and experimental aspects. Simulations have become so important that all scientists should learn its fundamentals.
There are many applied applications even outside of physical science, for example, simulated annealing for optimization, and simulations of finiancial models. The literature on simulation is quickly expanding but comprehensive textbooks are non-existent. I think many interesting techniques have not yet been invented or tried. The rapid pace of hardware developments mean that alot of problems can be solved with brute force techniques so there has been less development of clever methods. There are plenty of opportunities for students to make important advancements.
Philosophy of Class
Two approaches to simulation are often presented:
- Assume the Hamiltonian is given from experiment (for example the non-relativistic Schroedinger equation with coulomb interactions). Most of the basic equations in condensed matter physics are all well-known. It is just a question of working out the details. What properties of a many-body system can we calculate without making any uncontrolled approximations? In this view a simulation expert is essentially an applied mathematician. In fact, at the forefront problems, this is not the case. It takes a great deal of physics knowledge and intuition to figure out which simulations to do, which properties to measure etc., just like an experimentalist needs to do more than read the output of the apparatus.
- The other view is that of a modeller: we are allowed to invent new equations and algorithms to describe some physical system. Let us invent a fictitious model with some dynamics that is easy to do on a computer and do systematic studies of the properties of the model. Later on we might investigate whether some physical system is described by the model. Clearly this approach is warranted in such fields as economics, ecology, biology ... since the "correct" underlying description has not always been worked out.
We will concentrate on the first type of problem. The second problem is quite different and success is not so well defined, but occasionally it is extremely successful (chaos, cellular automata...)
Some of the things we will be concerned with in this course are:
- The theoretical (mathematical) underpinnings of simulation.
- We must understand all the approximations and errors since we want to control all of the errors.
- The generic problems with simulations. The fundamental problem is that computer time is limited which implies that the number of particles and total length of the simulation are much smaller and shorter than the real world. Also all simulation results have statistical errors just like experiments do. We have to be able to control the effects of these limitations.
- What is the optimal algorithm for a given problem? How do we measure the performance of an algorithm? Important problems take a great deal of computer resources so optimization is important. In the past, the efficiency of simulations has increased more because of better algorithms than computer hardware.
- Analysis of results. All simulations produce are numbers. Usual theory produces equations. How do we go from numbers to "understanding" or at least to characterize the results.
- Debugging techniques. How do we gain confidence that the computer code is correct: it is doing what we think it should be doing?
- Research aspects. We will not treat a code as a black box. We will attempt to explain the logic behind why things are done in a particular way. In the class project you will be writing pieces of code. This is the way to understand how it all works and how to do research in the field.
- What are the outstanding challenges? Which properties can't we simulate? Classical simulations of simple properties are in relatively good shape unless you have a system which requires many particles or long time scales. (for example the propagation of a crack, the movements of proteins etc.) But these are precisely the system we want to understand. Quantum systems (which is the correct theory for microscopic phenomena) are much harder.
- Applications are important to keep in mind. Some applications that we will focus on in the class are:
- Classical simple liquids. There is no simple theoretical description (as compared to solids and gases) and computer simulation was essential in making progress.
- Ising model: the fruit fly of the theory of phase transitions.
- Polymers, and molecular systems since they are very important in chemistry and biology and show the importance of constraints.
- Phase transitions such as between liquid and solid.
The course outline shows in more detail what subjects that will be covered. We plan time to cover specialized topics at the end of the year.
Further reading. "Microscopic Simulations in Physics" by D. Ceperley, Rev. Mod. Phys. 71, S438, 1999.
Aug. 1998 by D. Johnson and D. Ceperley .
Updated Jan 2010 by D. Johnson .