Foundations of computational materials science

Long-form notes on the mathematics, programming, physics, simulation methods and machine learning that modern atomistic research is built on. Each subject is written as a single book: it starts from first principles, follows the ideas through the people and papers that introduced them, and works through them with models that run in the browser.

Subjects

Eight books, from the foundations to current research methods. Each opens as a single page with its own contents.

Mathematics for scienceCalculus, linear algebra and probability Computers, Linux and compiled codeProcessors, Linux and compiled code Python for scientific computingFrom the interpreter to NumPy Machine learningFrom one neuron to transformers Physics and statistical mechanicsFrom Newton to free energy Molecular simulationMolecular dynamics and Monte Carlo Rare events, free energies and enhanced samplingFree energies and rare events Machine learning for materialsInteratomic potentials and generative models

What these notes cover

The notes run from the foundations to current research methods, in eight subjects.

Mathematics, computing and Python provide the working tools: calculus, linear algebra and probability; how a processor, the Linux shell and compiled code work; and Python from the interpreter and its object model up to NumPy and performance.

Machine learning and physics and statistical mechanics provide the two theories that everything else depends on. The first covers learning from data, from a single artificial neuron to deep networks. The second covers microstates and entropy, the Boltzmann distribution, ensembles, free energy, fluctuations, phase transitions and the structure of liquids.

Molecular simulation and enhanced sampling turn the physics into practice: molecular dynamics and Monte Carlo, thermostats and barostats, transport coefficients and trajectory analysis, then energy landscapes and rate theory, free-energy perturbation, umbrella sampling, metadynamics, OPES, replica exchange, path sampling and Markov state models.

Machine learning for materials brings the threads together: symmetry and descriptors, the history and theory of machine-learned interatomic potentials from Behler–Parrinello networks to MACE and the universal models, generative models for crystals and differentiable simulation. It includes a complete tutorial that builds, trains and validates an interatomic potential.

How to read a chapter

Every chapter is built from the same elements. The excerpt below is live: move the slider.

2

4.2 Deriving the Boltzmann factor

A system in contact with a heat bath at temperature T is found in a state of energy En with a probability that falls exponentially with energy. Ludwig Boltzmann reached this result in 1877 by counting the number of ways the energy of a gas can be shared among its molecules.

3
4

Loading…

Populations of six evenly spaced levels. At low temperature almost everything is in the ground state; as kBT grows past the spacing, the populations even out.
5 Key pointsSelf-check questionsReferences
  1. One page per subject. Each book is a single scrolling page. The contents panel tracks your position and jumps to any chapter or section; on a phone it opens from the button at the top.
  2. Text first. Chapters are continuous prose with numbered sections. They begin with the question that motivated an idea and the people and papers that answered it, then develop the theory step by step.
  3. Equation cards. Key equations are set apart with every symbol explained and a one-line reading in words. Colours in the equation match the colours in the figures.
  4. Interactive figures and code. Figures compute their results as you change the parameters. Code cells run real Python with NumPy in the page; the first run downloads the interpreter, about 10 MB.
  5. End matter. Each chapter closes with its key points, a few questions that explain their answers, and the original papers and textbook chapters for further reading. Chapters can be marked as read; progress is stored only in your browser.

Where to start

Dependency map

Every chapter, grouped by subject, with lines to its prerequisites. Hover a chapter to highlight what it builds on; click to open it.

Loading the map…

Core textbooks

The books below are the main references across the subjects. Each chapter also lists the papers and book chapters specific to its topic.

  1. C. M. Bishop, Pattern Recognition and Machine Learning, Springer (2006). The standard treatment of probabilistic machine learning.
  2. K. P. Murphy, Probabilistic Machine Learning: An Introduction, MIT Press (2022). Free online; modern and broad.
  3. I. Goodfellow, Y. Bengio and A. Courville, Deep Learning, MIT Press (2016). Free online.
  4. T. Hastie, R. Tibshirani and J. Friedman, The Elements of Statistical Learning, 2nd ed., Springer (2009). Free online.
  5. C. E. Rasmussen and C. K. I. Williams, Gaussian Processes for Machine Learning, MIT Press (2006). Free online.
  6. D. Frenkel and B. Smit, Understanding Molecular Simulation, 3rd ed., Academic Press (2023).
  7. M. P. Allen and D. J. Tildesley, Computer Simulation of Liquids, 2nd ed., Oxford University Press (2017).
  8. M. E. Tuckerman, Statistical Mechanics: Theory and Molecular Simulation, 2nd ed., Oxford University Press (2023).
  9. M. M. Bronstein, J. Bruna, T. Cohen and P. Veličković, Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges, arXiv:2104.13478 (2021).