You are previewing Computational Physics, Second edition.
O'Reilly logo
Computational Physics, Second edition

Book Description

This second edition describes the computational methods used in theoretical physics, and has been fully updated. New sections have been added to cover finite element methods and lattice Boltzmann simulation, density functional theory, quantum molecular dynamics, Monte Carlo simulation, and diagonalisation of one-dimensional quantum systems. It covers many different areas of physics research and different computational methodologies, including computational methods such as Monte Carlo and molecular dynamics, various electronic structure methodologies, methods for solving partial differential equations, and lattice gauge theory. Throughout the book the relations between the methods used in different fields of physics are emphasised. Several new programs are described and can be downloaded from www.cambridge.org/9780521833462. The book requires a background in elementary programming, numerical analysis, and field theory, as well as undergraduate knowledge on condensed matter theory and statistical physics. It will be of interest to graduate students and researchers in theoretical, computational and experimental physics.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Contents
  5. Preface to the first edition
  6. Preface to the second edition
  7. 1. Introduction
    1. 1.1 Physics and computational physics
    2. 1.2 Classical mechanics and statistical mechanics
    3. 1.3 Stochastic simulations
    4. 1.4 Electrodynamics and hydrodynamics
    5. 1.5 Quantum mechanics
    6. 1.6 Relations between quantum mechanics and classical statistical physics
    7. 1.7 Quantum molecular dynamics
    8. 1.8 Quantum field theory
    9. 1.9 About this book
    10. Exercises
    11. References
  8. 2. Quantum scattering with a spherically symmetric potential
    1. 2.1 Introduction
    2. 2.2 A program for calculating cross sections
    3. 2.3 Calculation of scattering cross sections
    4. Exercises
    5. References
  9. 3. The variational method for the Schrödinger equation
    1. 3.1 Variational calculus
    2. 3.2 Examples of variational calculations
    3. 3.3 Solution of the generalised eigenvalue problem
    4. 3.4 Perturbation theory and variational calculus
    5. Exercises
    6. References
  10. 4. The Hartree–Fock method
    1. 4.1 Introduction
    2. 4.2 The Born–Oppenheimer approximation and the independent-particle method
    3. 4.3 The helium atom
    4. 4.4 Many-electron systems and the Slater determinant
    5. 4.5 Self-consistency and exchange: Hartree–Fock theory
    6. 4.6 Basis functions
    7. 4.7 The structure of a Hartree–Fock computer program
    8. 4.8 Integrals involving Gaussian functions
    9. 4.9 Applications and results
    10. 4.10 Improving upon the Hartree–Fock approximation
    11. Exercises
    12. References
  11. 5. Density functional theory
    1. 5.1 Introduction
    2. 5.2 The local density approximation
    3. 5.3 Exchange and correlation: a closer look
    4. 5.4 Beyond DFT: one- and two-particle excitations
    5. 5.5 A density functional program for the helium atom
    6. 5.6 Applications and results
    7. Exercises
    8. References
  12. 6. Solving the Schrödinger equation in periodic solids
    1. 6.1 Introduction: definitions
    2. 6.2 Band structures and Bloch’s theorem
    3. 6.3 Approximations
    4. 6.4 Band structure methods and basis functions
    5. 6.5 Augmented plane wave methods
    6. 6.6 The linearised APW (LAPW) method
    7. 6.7 The pseudopotential method
    8. 6.8 Extracting information from band structures
    9. 6.9 Some additional remarks
    10. 6.10 Other band methods
    11. Exercises
    12. References
  13. 7. Classical equilibrium statistical mechanics
    1. 7.1 Basic theory
    2. 7.2 Examples of statistical models; phase transitions
    3. 7.3 Phase transitions
    4. 7.4 Determination of averages in simulations
    5. Exercises
    6. References
  14. 8. Molecular dynamics simulations
    1. 8.1 Introduction
    2. 8.2 Molecular dynamics at constant energy
    3. 8.3 A molecular dynamics simulation program for argon
    4. 8.4 Integration methods: symplectic integrators
    5. 8.5 Molecular dynamics methods for different ensembles
    6. 8.6 Molecular systems
    7. 8.7 Long-range interactions
    8. 8.8 Langevin dynamics simulation
    9. 8.9 Dynamical quantities: nonequilibrium molecular dynamics
    10. Exercises
    11. References
  15. 9. Quantum molecular dynamics
    1. 9.1 Introduction
    2. 9.2 The molecular dynamics method
    3. 9.3 An example: quantum molecular dynamics for the hydrogen molecule
    4. 9.4 Orthonormalisation; conjugate gradient and RM-DIIS techniques
    5. 9.5 Implementation of the Car–Parrinello technique for pseudopotential DFT
    6. Exercises
    7. References
  16. 10. The Monte Carlo method
    1. 10.1 Introduction
    2. 10.2 Monte Carlo integration
    3. 10.3 Importance sampling through Markov chains
    4. 10.4 Other ensembles
    5. 10.5 Estimation of free energy and chemical potential
    6. 10.6 Further applications and Monte Carlo methods
    7. 10.7 The temperature of a finite system
    8. Exercises
    9. References
  17. 11. Transfer matrix and diagonalisation of spin chains
    1. 11.1 Introduction
    2. 11.2 The one-dimensional Ising model and the transfer matrix
    3. 11.3 Two-dimensional spin models
    4. 11.4 More complicated models
    5. 11.5 ‘Exact’ diagonalisation of quantum chains
    6. 11.6 Quantum renormalisation in real space
    7. 11.7 The density matrix renormalisation group method
    8. Exercises
    9. References
  18. 12. Quantum Monte Carlo methods
    1. 12.1 Introduction
    2. 12.2 The variational Monte Carlo method
    3. 12.3 Diffusion Monte Carlo
    4. 12.4 Path-integral Monte Carlo
    5. 12.5 Quantum Monte Carlo on a lattice
    6. 12.6 The Monte Carlo transfer matrix method
    7. Exercises
    8. References
  19. 13. The finite element method for partial differential equations
    1. 13.1 Introduction
    2. 13.2 The Poisson equation
    3. 13.3 Linear elasticity
    4. 13.4 Error estimators
    5. 13.5 Local refinement
    6. 13.6 Dynamical finite element method
    7. 13.7 Concurrent coupling of length scales: FEM and MD
    8. Exercises
    9. References
  20. 14. The lattice Boltzmann method for fluid dynamics
    1. 14.1 Introduction
    2. 14.2 Derivation of the Navier–Stokes equations
    3. 14.3 The lattice Boltzmann model
    4. 14.4 Additional remarks
    5. 14.5 Derivation of the Navier–Stokes equation from the lattice Boltzmann model
    6. Exercises
    7. References
  21. 15. Computational methods for lattice field theories
    1. 15.1 Introduction
    2. 15.2 Quantum field theory
    3. 15.3 Interacting fields and renormalisation
    4. 15.4 Algorithms for lattice field theories
    5. 15.5 Reducing critical slowing down
    6. 15.6 Comparison of algorithms for scalar field theory
    7. 15.7 Gauge field theories
    8. Exercises
    9. References
  22. 16. High performance computing and parallelism
    1. 16.1 Introduction
    2. 16.2 Pipelining
    3. 16.3 Parallelism
    4. 16.4 Parallel algorithms for molecular dynamics
    5. References
  23. Appendix A Numerical methods
    1. A1 About numerical methods
    2. A2 Iterative procedures for special functions
    3. A3 Finding the root of a function
    4. A4 Finding the optimum of a function
    5. A5 Discretisation
    6. A6 Numerical quadratures
    7. A7 Differential equations
    8. A8 Linear algebra problems
    9. A9 The fast Fourier transform
    10. Exercises
    11. References
  24. Appendix B Random number generators
    1. B1 Random numbers and pseudo-random numbers
    2. B2 Random number generators and properties of pseudo-random numbers
    3. B3 Nonuniform random number generators
    4. Exercises
    5. References
  25. Index