Introduction to Atomic Scale Modeling

This course provides an introduction to the modeling of matter at the atomic scale, using interactive Jupyter notebooks to see several of the core concepts of materials science in action.

A simulation of a 1/2(110){111} dislocation, dissociated in a pair of partials


Simulation and modeling has become an integral part of the process of designing and optimizing materials for the most diverse applications. Truly predictive simulations, that can estimate the properties of materials before they have ever been synthesized, require atomistic resolution. This course provides an introduction to some of the techniques that underlie atomic-scale simulations of materials. With a strong hands-on component, based on interactive Jupyter notebooks, we will revisit, and see in a new light, several basic concepts on the nanometer-scale description of matter, and see a number of different modelling techniques in action, from molecular dynamics to atomic-scale machine learning.

Course material

This course follows a “flipped class” format, and is based on a set of interactive Jupyter notebooks that contain “passive” demonstrations of materials-science concepts, short coding exercises that are aimed at developing both an intuition of the physical processes and some basic skills in using some simple tools for atomistic modeling, and open-ended questions that are graded during the course, but can also simply be used as a way to encourage reflection on the core concepts presented in each exercise. 

You can download or watch online short videos that present an overview of the concepts covered in each module from this mediaspace channel, and fetch the latest version of the notebooks from this github repository. EPFL students and researchers can also load the notebooks using the noto interactive platform