eIP: Evidential Deep Learning for Interatomic Potentials

September 23, 2025 · View on GitHub

Official implementation for the paper: "Evidential Deep Learning for Interatomic Potentials ".

Overview

Machine learning interatomic potentials (MLIPs) have been widely used to facilitate large-scale molecular simulations with accuracy comparable to ab initio methods. In practice, MLIP-based molecular simulations often encounter the issue of collapse due to reduced prediction accuracy for out-of-distribution (OOD) data. Addressing this issue requires enriching the training dataset through active learning, where uncertainty serves as a critical indicator for identifying and collecting OOD data. However, existing uncertainty quantification (UQ) methods tend to involve either expensive computations or compromise prediction accuracy. In this work, we introduce evidential deep learning for interatomic potentials (eIP) with a physics-inspired design. Our experiments indicate that eIP provides reliable UQ results without significant computational overhead or decreased prediction accuracy, consistently outperforming other UQ methods across a variety of datasets. Furthermore, we demonstrate the applications of eIP in exploring diverse atomic configurations, using examples including water and universal potentials. These results highlight the potential of eIP as a robust and efficient alternative for UQ in molecular simulations.

System Requirements

Hardware requirements

A GPU is required for running this code base, RTX 3090 and RTX 4090 have been tested.

Software requirements

OS Requirements

This code base is supported for Linux and has been tested on the following systems:

  • Linux: Ubuntu 20.04

Python Version

Python 3.9.15 has been tested.

Installation Guide:

Install dependencies

 pip install torch torchvision torchaudio
 pip install torch_geometric
 pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cu121.html
 pip install ase tensorboard torch_warmup
 pip install -U scikit-learn

How to run this code:

Usage

  1. Clone the repository
  2. Install the required dependencies
  3. Run the notebooks for demonstration:
    • eIP_silica.ipynb for uncertainty prediction
    • md_udd.ipynb for molecular dynamics simulation

Repository Structure

├── calculator.py # Energy and force calculator 
├── checkpoint/ # Directory containing model weight
├── dataset/ # Directory containing datasets for training and testing
│   ├── silica_test.pt
│   └── silica_train.pt
├── dig/ # Directory containing utilities scripts
├── eIP_silica.ipynb # A Jupyter Notebook for uncertainty calculation demonstrations
├── LiFePO4.cif # Crystal information file for LiFePO4
├── PaiNN_md.py # Implementation of the PaiNN model using in MD
├── PaiNN.py # Implementation of the PaiNN model
├── PDMS.cif # Crystal information file for PDMS
├── run.py # Main execution script
├── test_eIP_silica.py # Uncertainty evaluation script for the silica glass dataset
├── md_udd.ipynb # A Jupyter Notebook for molecular dynamics and uncertainty driven dynamics demonstrations
├── test_md.py # Molecular dynamics testing script
├── train_eip.py # Model training script
└── udd_run.py # Script for uncertainty-driven dynamics

Uncertainty Prediction

This part demonstrates the uncertainty prediction process for silica-glass datasets. To run the uncertainty prediction:

jupyter notebook eIP_silica.ipynb

This notebook demonstrates the complete uncertainty prediction workflow for silica-glass materials, including eIP training, result testing, and validation.

Molecular Dynamics Simulation

This section performs molecular dynamics simulations for both materials using a universal potential function model, including conventional MD and uncertainty-driven dynamics (UDD).

  1. PDMS (Polydimethylsiloxane)
  2. LiFePO4 (Lithium Iron Phosphate)

To run the molecular dynamics simulation:

jupyter notebook md_udd.ipynb

This notebook demonstrates the molecular dynamics simulation process for both materials.

Contact

For any questions or issues, please open an issue in the repository.

Citation

If you use this code or our work in your research, please cite our paper:

Evidential Deep Learning for Interatomic Potentials