01 / Reading Guide
Reading Guide
Citation
Thijssen, J. (2007). Computational Physics (2nd ed.). Cambridge University Press.
Chapter Summary
The second edition has sixteen chapters and two appendices and runs to over 600 pages. Every chapter ends with references, and all except Chapter 16 also have exercises. The author's prefaces describe a book on computational methods in theoretical physics with an emphasis on condensed matter, concerned with how methods work, why they work and what approximations they involve, and with step-by-step implementation of the algorithms.
Chapter 1: Introduction
A survey of fields of physics and the computational methods suited to each, written as a bird's-eye view. It starts from Newton's equation and examples such as the Duffing oscillator and its sensitivity to initial conditions, then goes on to many-body problems and molecular dynamics, stochastic simulation and Monte Carlo (with diffusion-limited aggregation as an example), partial differential equations, quantum mechanics, the link between quantum mechanics and classical statistical physics, quantum molecular dynamics and quantum field theory. The author notes that this order differs from the order of the later chapters.
Chapters 2–3: Quantum Scattering with a Spherically Symmetric Potential; The Variational Method for the Schrödinger Equation
Chapter 2 treats scattering from a spherically symmetric potential as a problem reduced to ordinary differential equations, with a program for calculating cross sections. Chapter 3 introduces variational calculus, worked examples, the generalised eigenvalue problem and the relation between perturbation theory and the variational method.
Chapters 4–5: The Hartree–Fock Method; Density Functional Theory
Chapter 4 builds the independent-particle picture from the Born–Oppenheimer approximation, through the helium atom, many-electron systems and the Slater determinant, to Hartree–Fock theory, basis functions, the structure of a Hartree–Fock program and integrals over Gaussian functions. Chapter 5 presents density functional theory with the local density approximation, a closer look at exchange and correlation, excitations beyond DFT and a density functional program for helium.
Chapter 6: Solving the Schrödinger Equation in Periodic Solids
Band structure theory with Bloch's theorem and the main band-structure methods: augmented plane waves, the linearised APW method and the pseudopotential method (the longest section), along with extracting information from the results.
Chapters 7–9: Classical Equilibrium Statistical Mechanics; Molecular Dynamics Simulations; Quantum Molecular Dynamics
Chapter 7 gives the statistical-mechanics background, models and phase transitions. Chapter 8 develops molecular dynamics from constant-energy simulation and an argon program through symplectic integrators, other ensembles, molecular systems, long-range interactions, Langevin dynamics and nonequilibrium methods. Chapter 9 is the quantum version, working through an example for the hydrogen molecule, orthonormalisation and conjugate-gradient techniques, and the Car–Parrinello technique for pseudopotential density functional theory.
Chapters 10–12: The Monte Carlo Method; Transfer Matrix and Diagonalisation of Spin Chains; Quantum Monte Carlo Methods
Chapter 10 covers Monte Carlo integration, importance sampling through Markov chains, other ensembles, free-energy estimation and the temperature of a finite system. Chapter 11 treats the transfer matrix for the Ising model and other spin models, exact diagonalisation of quantum chains, real-space renormalisation and the density matrix renormalisation group. Chapter 12 covers variational, diffusion, path-integral and lattice quantum Monte Carlo, and the Monte Carlo transfer matrix method.
Chapters 13–14: The Finite Element Method for Partial Differential Equations; The Lattice Boltzmann Method for Fluid Dynamics
The two chapters new to the second edition. Chapter 13 applies finite elements to the Poisson equation and linear elasticity, with error estimators, local refinement, dynamics and coupling to molecular dynamics. Chapter 14 derives the Navier–Stokes equations and the lattice Boltzmann model, and shows how the former follow from the latter.
Chapters 15–16: Computational Methods for Lattice Field Theories; High Performance Computing and Parallelism
Chapter 15, the longest, covers quantum field theory and renormalisation, algorithms for lattice field theories, critical slowing down and gauge theories. Chapter 16 treats pipelining, parallelism and parallel algorithms for molecular dynamics.
Appendices A–B: Numerical Methods; Random Number Generators
Appendix A collects numerical methods: special functions, root-finding, optimisation, discretisation, quadrature, differential equations, linear algebra and the fast Fourier transform. Appendix B covers pseudo-random number generators and nonuniform random numbers.
Key Concepts
Electronic Structure (Chapters 2–6)
- Variational principle: approximating a ground state by minimising an energy functional.
- Hartree–Fock and density functional theory: two ways of reducing the many-electron problem to effective single-particle equations.
- Band structure methods: APW, LAPW and pseudopotentials for electrons in crystals.
Classical Simulation (Chapters 7–10)
- Molecular dynamics: following particles by integrating their equations of motion, with symplectic integrators and different ensembles.
- Monte Carlo and Markov chains: sampling configurations with importance sampling.
- Phase transitions: the physical phenomenon that many of the models and simulations address.
Quantum Many-Body Methods (Chapters 9, 11–12)
- Car–Parrinello dynamics: combining molecular dynamics with an electronic-structure calculation.
- Density matrix renormalisation group: a method for one-dimensional quantum chains.
- Quantum Monte Carlo: variational, diffusion, path-integral and lattice forms.
Fields, Fluids and Computing (Chapters 13–16)
- Finite elements and lattice Boltzmann: methods for partial differential equations and fluid flow.
- Lattice field theory: discretised quantum field theory with its algorithms and critical slowing down.
- Parallelism: the use of pipelining and parallel machines in simulation.
Critical Analysis
Strengths
- Method over results. The first-edition preface, retained in this edition, says the emphasis is on deriving and implementing algorithms, and on what approximations are made, not on catalogues of results.
- Links between fields. The publisher says the book emphasizes the relations between methods used in different areas of physics, and the structure shows it: molecular dynamics (Chapter 8) leads to quantum molecular dynamics (Chapter 9), Monte Carlo (Chapter 10) to quantum Monte Carlo (Chapter 12), and the Ising model of the statistical-mechanics chapter returns in the transfer-matrix chapter.
- Help for the reader who programs. The preface describes implementations discussed step by step with suggestions for checking a program, computer exercises marked [C] and downloadable programs. Sections of advanced material and long derivations are marked with an asterisk and can be skipped at first reading.
- Updated in the second edition. The new chapters on finite elements and lattice Boltzmann, and new sections on density functional theory, quantum molecular dynamics, Monte Carlo and the diagonalisation of one-dimensional quantum systems, widen the range.
Limitations
- Demanding prerequisites. The publisher says the book requires elementary programming, numerical analysis and field theory, as well as undergraduate condensed matter theory and statistical physics.
- Selective by design. The author says the topics are not treated comprehensively and that many important topics are omitted, reflecting his own expertise and interests; the weight falls on condensed matter physics and physical chemistry.
- Not a programming tutorial. The first-edition preface expects the reader to have a background in computing, and Appendix A treats numerical methods in compact form, so beginners in numerical computing will need a separate text.
- Length and breadth. Sixteen chapters ranging from scattering to lattice gauge theory cannot fit in one course.
Where It Fits in the Course
This is the research-oriented text in the computational physics course. Newman's Computational Physics and Landau, Páez and Bordeianu's Computational Physics: Problem Solving with Python are the broad first courses, teaching numerical methods through worked physics problems in Python; Kinder and Nelson's A Student's Guide to Python for Physical Modeling is the short practical starting point for programming itself. Press and colleagues' Numerical Recipes is a reference for the numerical algorithms behind many routines and complements Thijssen's Appendix A. Taylor's An Introduction to Error Analysis concerns laboratory measurement uncertainty and is a separate subject. Thijssen takes up where the first-course books stop, with electronic structure, many-body simulation and field theory, and it presupposes the skills they teach.
How to Use This Book
Take this book after courses in quantum mechanics, statistical physics and condensed matter, and after some programming and numerical analysis. Chapter 1 is a good first read for anyone: it maps the whole book and shows how the methods relate.
A practical plan:
- For molecular dynamics and Monte Carlo: Chapters 7, 8 and 10, with Appendix B on random numbers, form a coherent path through classical simulation.
- For electronic structure: Chapters 3–6 and 9, taken in order, lead from the variational method to Hartree–Fock, density functional theory, band structure and Car–Parrinello dynamics.
- For quantum many-body methods: Chapters 11 and 12, together with Chapter 10 as background.
- Optional modules: Chapters 13–16 can be chosen according to interest (finite elements, lattice Boltzmann, lattice field theory, parallel computing).
Skip the asterisked sections at first reading, write the programs the text describes, and use the stated checks before trusting results. The exercises include non-computer ones, so do a mix.
