RAFFLE: active learning accelerated interface structure prediction

When building any device — from solar cells to batteries — you inevitably bring different materials together. Each of those joins is an interface, and understanding its atomic structure is critical for predicting how the device will perform.

The problem? Predicting interface structures at the atomic scale is notoriously difficult.

To tackle this, we have developed RAFFLE: an open-source library for automated interface structure prediction, designed to make the process faster, smarter, and more accessible.

📄 Read the full article (npj Computational Materials):
https://doi.org/10.1038/s41524-025-01749-5

💻 Get the code (also via pip):
https://github.com/ExeQuantCode/RAFFLE/

Artistic depiction of an atomic-scale interface between two crystals, illustrated with patterned bathroom tiles. The top purple-and-white diamond tiles are horizontally aligned, while the bottom lavender tiles with teal square and diamond patterns are diagonally aligned, symbolising crystal orientation and lattice mismatch. The top tile patterns morph into a ball-and-stick atomic structure, which then transitions into the patterns of the bottom tiles.

What RAFFLE Does

  • Automates interface structure prediction with minimal setup
  • Written in Python (with Fortran backend available)
  • Seamlessly integrates with ASE, so it slots easily into existing workflows
  • Generates diverse candidate interfaces from a given host structure
  • Uses active learning: iteratively feeding back energies and structures to refine predictions of the potential energy landscape
  • Compatible with any self-consistent calculator — from DFT to empirical potentials to ML interatomic models (e.g. MACE-MP-0, CHGNet)
  • Supports both stochastic and deterministic structure generation

Why It Matters

This work builds on our earlier demonstration that RAFFLE can predict the phase stability of interfaces (Phys. Rev. Lett. 132, 066201). With this release, RAFFLE is now a practical tool for:

  • Structure search of interface reconstructions
  • High-throughput studies of material interfaces
  • Exploring entirely new classes of interface-stabilised materials

Compatibility

RAFFLE is a Fortran library provided with a Python wrapper. As such, RAFFLE can be called as either a (most supported) Python library, a Fortran library, or a Fortran executable with an input file.

Additionally, ARTEMIS (the group’s abrupt interface generation tool) is being redeveloped to include a Python wrapper to enable a seamless workflow between the two packages. ARTEMIS can be used to generate host structures that can be fed into RAFFLE for subsequent structure search.

ARTEMIS currently supports Python library use, but it still under development, so bugs and crashes are known to occur. Please report them as issues in the GitHub issue tracker so that they can be addressed by the group.

Instability of 𝐴⁢𝐵⁢O3 perovskite surfaces induced by vacancy formation (𝐴=Ca,Sr,Ba; 𝐵=Ti,Zr,Sn)

We have recently published our work exploring the effects of vacancies on the stability of surfaces for a set of oxide perovskites.

Article: https://doi.org/10.1103/w683-tvc4

Within the article, we use density functional theory (DFT) to explore energetics of surfaces, vacancies, and charged defects. Energetics are calculated using the PBE GGA functional, whilst charge states are corrected for using the HSE06 hybrid functional. Vacancy and surface energetics are modelled for nine ABO3 perovskites (A=Ca,Sr,Ba; B=Ti,Zr,Sn), whilst charged defects are studied for SrSnO3 only.

We explore the relative energetic stability of two (001) oxide perovskite (ABO3) surfaces and identify that, theoretically, the AO surface is more energetically favourable than the BO2 surface. However, through exploration of A-site, B-site, and O-site vacancy formation as a function of depth, we identify that the AO surface is more prone to vacancy formation, thus reducing its long-term stability.

Modelling of charged vacancies within SrSnO3 bulk and slabs (as a function of distance from the surface) highlights the further instability of the AO surface due to vacancies, especially under oxygen rich environments.