This repository contains the complete high-throughput screening (HTS) workflow, data, and code for identifying potentially synthesizable AB2X4 spinel compounds. The framework integrates materials databases, empirical heuristics, and machine learning predictions to uncover novel, unexplored candidates.
Spinels are a versatile class of materials used in applications ranging from energy storage to catalysis. Their crystal structures are similar to the mineral MgAl2O4, where the A- and B-site cations fill the tetrahedral and octahedral sites, respectively, within a tightly packed cubic structure of X anions, resulting in the space group Fd3̅m. They also possess cation disordering behavior where A and B cations can exchange their positions, forming either "normal" or "inverse" phases. This behavior can be explained using the cation inversion parameter (x), where x ∈ [0,1] corresponds to the degree of inversion from fully normal to fully and inverse spinel structures.
However, much of their chemical space remains underexplored. This project aims to explore spinel chemical space for potentially synthesisable compounds within the first 83 elements in the periodic table. We focus our investigation on oxide and chalcogen (sulfides, selenides, and tellurides) spinels. To tackle this vast design space, we developed a high-throughput screening (HTS) framework by combining several computational tools that systematically filters candidates through three main filtering stages:
- Chemical filtering (charge neutrality, electronegativity balance)
- Thermodynamic filtering (Ehull)
- Data-driven filtering (CLscore)
A key feature of this work is the introduction of a new unified crystal likelihood metric, the 'super score' (Sscore), which combines thermodynamic filter (Ehull) with data-driven filter (CLscore). This allows for more robust candidate ranking across thousands of compositions.
The screening workflow and tools includes:
- Chemical validity check using SMACT
- Structural optimization with MACE-MP-0a
- Ehull calculation via Pymatgen
- CLscore prediction using Synthesizability-stoi-CGNF
- Unified crystal likelihood scoring (Sscore)
- Phonon dispersion analysis via MatCalc using MACE-MP-0a
We begin by generating all possible spinel compositions composed of the first 83 elements in the periodic table and four anions (O, S, Se, and Te). These compositions are first filtered using SMACT for chemically valid spinel compounds and pass through structural optimisation using MACE-MP-0a. Pymatgen package is then used to calculate Ehull using energy from MACE-MP-0a. Synthesizability-stoi-CGNF model is adopted to further refine the screening through a metric called CLscore. Both Ehull and CLscore are combined to introduce a single unified metric, Sscore to quantify crytal likelihood of a compound based on two different perspectives. To determine preferred configurations between normal or inverse, configuration with lower Ehull is chosen as the representative of the composition. To validate our Sscore, we compare our results with known spinels on Materials Project (MP) and Inorganic Crystal Structure Database (ICSD). Furthermore, phonon dispersion calculations are carried out on the top 10 candidates, ranked by Sscore, for each anion type to confirm the dynamical stability of the structures.
Spinel-chemical-space/
├── 1_MP_ICSD_SMACT.ipynb # Chemical space generation and database retrieval
├── 2_screening.ipynb # Candidates screening
├── 3_plotting.ipynb # Results visualization
├── calculation_scripts/
│ ├── MACE/ # Structure optimisation with MACE-MP-0a
│ ├── Ehull/ # Energy above hull calculations
│ └── PUL_CLscore/ # CLscore data preparation
├── data/ # All intermediate and final datasets
│ ├── SMACT/ # SMACT-filtered compositions
│ ├── MP/ & ICSD/ & MP_ICSD/ # Experimental spinel data
│ ├── MACE/ # MACE optimisation results
│ ├── Ehull/ # Ehull results
│ ├── PUL/ # CLscore predictions
│ └── Final_data/ # Final merged results per anion type
├── MACE_verifications/ # MACE vs DFT (VASP) validation
├── Orbital_radii/ # Orbital radii analysis
├── plots/ # Generated publication figures (PDF)
├── configs/ # Matplotlib configuration
├── font/ # Font files for plotting
└── LICENSE # MIT License
- Python 3.9+
- A Materials Project API key (required for querying MP data in
1_MP_ICSD_SMACT.ipynb)
Install all required packages using pip:
pip install numpy matplotlib seaborn pandas smact pymatgen mp-api==0.45 mace-torch aseThis repository contains three main notebooks:
| Notebook |
|---|
1_MP_ICSD_SMACT.ipynb |
2_screening.ipynb.ipynb |
3_plotting.ipynb |
All necessary data is already included in the data/ directory. If you would like to explore a different chemical system, you can change the chemical system in 1_MP_ICSD_SMACT.ipynb to the targeted system.
To reproduce the full workflow from scratch, follow the steps below:
-
Chemical filtering and MP data retrieval
→1_MP_ICSD_SMACT.ipynbPerforms SMACT-based chemical validation and extracts relevant entries from the Materials Project.
(Note: ICSD data must be downloaded and processed manually due to licensing restrictions.) -
Structure optimization using MACE
→calculation_scripts/MACE/MACE_calculation.pyOptimizes spinel structures using the MACE-MP-0a model.
-
CLscore prediction via Positive-Unlabeled Learning (PUL)
→calculation_scripts/PUL_CLscore/PUL_data_preparation.ipynbPrepares input for the Synthesizability-stoi-CGNF model. The PUL model cannot currently be installed via
pipor imported directly into Jupyter notebooks. Instead, it must be cloned and executed from its own repository. Follow the instructions in the Synthesizability-stoi-CGNF repository to run the calculations and then bring the results back into this workflow. -
Thermodynamic stability via Ehull
→calculation_scripts/Ehull/Ehull_calculation.ipynbCalculates the Ehull using formation energies from MACE.
-
Final filtering and ranking with Sscore →
2_screening.ipynb.ipynband3_plotting.ipynbCombines Ehull and CLscore into Sscore to identify the promising candidates.
| Directory | Description |
|---|---|
MACE_verifications/ |
Validation of MACE-MP-0a predictions against DFT (VASP) calculations, including parity plots for lattice parameters and total energies. |
Orbital_radii/ |
Analysis of the relationship between element orbital radii and spinel formation preferences. |
This project is licensed under the MIT License. See LICENSE for details.