ID4 Tutorials

These tutorials were developed by ID4 postdocs and graduate students. All tutorials are Python-based.

Graph Neural Networks in Deep Graph Library

Authors: Liyi Zhang, Adji Bousso Dieng

Deep Graph Library (DGL) is a scalable Python library for modeling graph neural networks and is framework agnostic, meaning that it integrates into frameworks such as PyTorch and TensorFlow. This tutorial will introduce basic data structures and semantics of DGL with line-by-line code. Then, it will show how to use DGL to build a graph convolutional network ready for training by any other auto-differentiation framework.

Slides    Python notebook

Molecular Dynamics with Allegro

Authors: Simon Batzner and Albert Musaelian, Anders Johansson, Lixin Sun, Boris Kozinsky

This is a tutorial for Allegro, an architecture for building highly accurate and scalable Machine Learning Interatomic Potentials (MLIPs). The goal of Allegro is to make it as simple as possible to train an acurate, fast, and scalable Machine Learning Interatomic Potential and deploy it in production simulations. You will never have to write a single line of Python, but instead you can train a network with a single command and easily use it to run MD in LAMMPS or ASE. If you need to customize it to your needs, the code is also modular and flexible under the hood.

Python notebook


Authors: Rafael Pastrana, Sigrid Adriaenssens

This tutorial introduces JAX FDM, a differentiable form-finding solver powered by JAX for the automatic inverse design of 3D bar structures such as masonry domes, steel gridshells, and cable-net bridges. We provide an overview of the theoretical principles and challenges underlying the inverse design of 3D bar structures with the force density method (FDM), automatic differentiation, and gradient-based optimization; with mathematical notation and Python code.

The tutorial includes a demo of JAX FDM and an outlook of future opportunities to integrate JAX FDM within a data-driven, end-to-end pipeline.

Slides    Example 1 (code)     Example 2 (code)

Density Functional Theory (DFT)

Authors: Angela Pak, Elif Ertekin

This tutorial covers:

      • an overview of the Schrodinger equation and the hierarchy of quantum chemistry/quantum physics techniques used when trying to solve it including wave function-based and Hamiltonian-based approaches
      • a deeper dive into DFT, the workhorse method of computational materials science including: 1) its theoretical basis and most common formulations, 2) examples of what it is used for and where it struggles, and 3) basic workflows and some common codes that are available.

This tutorial also makes use of the Tiny DFT code, created by the Tiny DFT Development Team.

Slides   Tiny DFT on GitHub


The Institute for Data Driven Dynamical Design (ID4) is supported by the National Science Foundation through award #2118201

Director: Eric Toberer
Project Manager: Emily Freed