CrySPR: A Python interface for implementation of crystal structure pre-relaxation and prediction using machine-learning interatomic potentials

Kedar Hippalgaonkar,Wei Nong,Ruiming Zhu
DOI: https://doi.org/10.26434/chemrxiv-2024-r4wnq
2024-08-08
Abstract:The functional properties of crystalline inorganic materials in a variety of applications including, but not limited to, catalysts, batteries, solar cells, electronics, fundamentally depend on their crystal structures. Discovery of novel materials could be transformative for these fields. In the past few decades, the computational science community has developed crystal structure prediction (CSP) methods with the goal to find the exact symmetry-constrained atomic arrangements in the periodic unit cell, which are globally and/or locally energetically favorable: finding the globally minimal or locally minimal crystal structure for a given chemical formula. The implementation of CSP typically involves an iteration procedure with at least two components: the sampling of the potential energy surface (PES) for generating raw/unrelaxed crystal structures, and the subsequent local energy minimization of generated structures. The latter part is typically carried out through computationally expensive density functional (DFT) calculations. A non-exhaustive but representative list of available CSP codes includes USPEX, CALYPSO, AIRSS, XtalOpt, IM2ODE; due to the nature of DFT calculations, this CSP process can be very time-consuming. Recent rapid advances of pre-trained machine-learning interatomic potentials (ML-IAPs) based on data from DFT calculations, such as, M3GNet, CHGNet and MACE (amongst others) have significantly accelerated the process of local energy minimization but have not thoroughly been tested on CSP tasks. The realization of local energy minimization using ML-IAPs, referred to as pre-relaxation when compared with using DFT calculations, plays a critical role in the CSP implementation. We present here, CrySPR, which stands for Crystal Structure Pre-Relaxation and PRediction, which is specifically designed to serve as a Python package that provides user-friendly application programming interfaces (APIs), functionalities and utilities for crystal structure generation, pre-relaxation of structures using ML-IAPs and structure prediction. The codes are open-source and have been released to the Python Package Index (PyPI).
Chemistry
What problem does this paper attempt to address?
The paper aims to address the efficiency issues in Crystal Structure Prediction (CSP), particularly in the process of pre-relaxation of crystal structures using Machine Learning Interatomic Potentials (ML-IAPs). Specifically, the paper introduces a Python interface named CrySPR, which aims to enhance the performance of CSP tasks in the following aspects: 1. **Efficient Generation of Crystal Structures**: Automatically generate crystal structures that conform to specific chemical formulas and space group symmetries by randomly matching or enumerating Wyckoff positions and their corresponding elements and atomic numbers. 2. **Automated Pre-relaxation Process**: Use ML-IAPs to automatically perform the local energy minimization process, known as "pre-relaxation," to replace the traditional, computationally expensive Density Functional Theory (DFT) calculation methods. 3. **Prediction and Validation**: Obtain formation energies and energies above the convex hull from a given reference materials database and plot phase diagrams to predict the stability of materials. CrySPR, as a modular Python package, provides three main submodules: calculators, optimization, and utils, to achieve the above functionalities. This toolkit is specifically designed to accelerate large-scale crystal structure prediction tasks based on generative algorithms (such as Variational Autoencoders, Generative Adversarial Networks, etc.), thereby significantly improving computational efficiency while ensuring accuracy.