Machine Learning Methods for Materials Science at Centre for Space Research,NWU

Aug 18-22,2025

9:00 am - 5:00 pm

Instructors: Mesfin Diro Chaka(PhD), Obodo Joshua(PhD)

Organizers: Prof. Lynndle Square, Prof. Kingsley Obodo

General Information

Over the next five days, we’ll explore how cutting-edge machine learning (ML) and deep learning (DL) techniques are revolutionizing materials science—from accelerating the discovery of new materials to predicting their properties with unprecedented accuracy. This training is designed for everyone, whether you're new to ML or seeking to apply it to your materials research. You’ll gain both foundational knowledge and hands-on experience to harness these powerful tools effectively. This workshop, a collaborative initiative between the Centre for Space Research and Addis Ababa University (AAU), focuses on leveraging ML for material property prediction. Our goal is to enhance the precision and efficiency of these predictions, ultimately contributing to safer communities and more resilient infrastructure. In addition, we’ll conduct a practical workshop to equip researchers with essential computing skills for maximizing research productivity. Topics will include data management, cleaning, analysis, and scientific report writing. Participants will be encouraged to collaborate and directly apply these skills to their own research challenges. Together, we’ll bridge theory and practice to empower your work in materials science and beyond.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The training course is aimed researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: Centre for Space Research,NWU. Get directions with OpenStreetMap or Google Maps.

When: Aug 18-22,2025. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Contact: Please email mesfin.diro@aau.edu.et for more information.


Schedule

Day 1: Fundamentals & Data Preparation

09:00 Introduction to Machine Learning in Materials Science
10:30 Coffee Break
11:00 ML Applications in Material Science
12:00 Lunch Break
13:00 Working with Materials Datasets (Materials Project etc)
14:30 Coffee Break
15:00 Feature Engineering for Materials (Composition, SOAP, MagPie)
16:00 Band Gap Prediction with Traditional ML
17:00 Wrap-up & Discussion

Day 2: Neural Networks & Graph Representations

09:00 FNeural Networks Refresher with PyTorch Lightning
10:30 Coffee Break
11:00 Introduction to Neural Networks for Materials
12:00 Lunch Break
13:00 Building and Training Crystal ANNs
14:30 Coffee Break
15:00 MatGL - Materials Graph Library Overview
16:00 M3GNet/CHGnet for Force Field Predictions
17:00 Wrap-up & Discussion

Day 3: Graph Representations of Materials

09:00 GNN Architecture and Pretrained Models
10:30 Coffee Break
11:00 Band-gap Prediction with GNN
12:00 Lunch Break
13:00 Formation Energy Prediction with GNN
14:30 Coffee Break
15:00 Structure Relaxations and Simulations
16:00 Combining Potentials with Property Prediction
17:00 Final Wrap-up & Feedback

Day 4: Model Training & Applications

09:00 Training a MEGNet Formation Energy Model
10:30 Coffee Break
11:00 fairchem.core with Enumlib
12:00 Lunch Break
13:00 Structure Relaxation with CHGnet/MatGL
14:30 Coffee Break
15:00 Combining Universal Potential with Property Prediction Models
16:00 Universal Model for Atoms (UMA)
17:00 Final Wrap-up & Feedback

Day 5: Active Learning Methods

09:00 Active Learning Strategies for Materials Discovery
10:30 Coffee Break
11:00 Bayesian Optimization with BoTorch
12:00 Lunch Break
13:00 Catalyst Adsorption Energy Optimization
14:30 Coffee Break
15:00 Structure Generation with Enumlib
16:00 High-Throughput Screening with XenonPy
17:00 Closing Remarks

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Syllabus

Introduction to Machine Learning

  • Essential Python Tools for Materials
  • Materials Data Structures and Formats
  • Loading Materials Datasets (Materials Project, OQMD)
  • Feature Engineering for Materials (SOAP, MagPie)
  • Reference...

ML Foundations for Materials

  • ML Applications in Materials Science
  • Supervised Learning for Property Prediction
  • Evaluation Metrics for Materials Models
  • Pretrained Models (fairchem.core, UMA)
  • Fine-tuning Formation Energy Models
  • Reference...

Deep Learning for Materials

  • Graph Representations of Materials
  • Materials Graph Neural Networks(GNNs)
  • GNN for Force Fields
  • Relaxations and Simulations using the Universal Potential
  • Combining the Universal Potential with Property Prediction Models
  • Training a Formation Energy Model
  • Training a Potential Energy Surface

Materials Discovery

  • Active Learning Strategies
  • Structure Generation with Enumlib
  • High-Throughput Screening (XenonPy)
  • Novel Battery Electrodes Discovery

Requirements: The training is hands-on, so participants are encouraged to bring in and use their own laptops to insure the proper setup of tools for an efficient workflow once you leave the workshop. (We will provide instructions on setting up the required software several days in advance) There are no pre-requisites, and we will assume no prior knowledge about the tools.

Software Setup

To participate in a training workshop, you will need working copies of the software described below. Please make sure to install everything and try opening it to make sure it works before the start of your workshop. If you run into any problems, please feel free to email the instructor or arrive early to your workshop on the first day. Participants should bring and use their own laptops to insure the proper setup of tools for an efficient workflow once you leave the workshop.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Python

Python is a popular language for research computing, and great for general-purpose programming as well. Installing all of its research packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer.

Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.4 is fine).

We will teach Python using the IPython notebook, a programming environment that runs in a web browser. For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).

Windows

Video Tutorial
  1. Open http://continuum.io/downloads with your web browser.
  2. Download the Python 3 installer for Windows.
  3. Install Python 3 using all of the defaults for installation except make sure to check Make Anaconda the default Python.

Mac OS X

Video Tutorial
  1. Open http://continuum.io/downloads with your web browser.
  2. Download the Python 3 installer for OS X.
  3. Install Python 3 using all of the defaults for installation.

Linux

  1. Open http://continuum.io/downloads with your web browser.
  2. Download the Python 3 installer for Linux.
    (Installation requires using the shell. If you aren't comfortable doing the installation yourself stop here and request help at the workshop.)
  3. Open a terminal window.
  4. Type
    bash Anaconda3-
    and then press tab. The name of the file you just downloaded should appear. If it does not, navigate to the folder where you downloaded the file, for example with:
    cd Downloads
    Then, try again.
  5. Press enter. You will follow the text-only prompts. To move through the text, press the space key. Type yes and press enter to approve the license. Press enter to approve the default location for the files. Type yes and press enter to prepend Anaconda to your PATH (this makes the Anaconda distribution the default Python).
  6. Close the terminal window.