Research index
Atomic Simulation Interface (ASI): application programming interface for electronic structure codes
Stishenko, Keal, Woodley and 4 others
Zenodo (CERN European Organization for Nuclear Research)12 May 2023Open access
NobleIDark:/48914/w1/20261004/79C27B13DOI10.5281/zenodo.7931108
Atomic Simulation Interface (ASI): application programming interface for electronic structure codes
Stishenko, Keal, Woodley and 4 others · Zenodo (CERN European Organization for Nuclear Research) · 2023
NobleIDark:/48914/w1/20261004/79C27B13DOI10.5281/zenodo.7931108
Abstract
The Atomic Simulation Interface (ASI) is a native C-style API for density functional theory (DFT) codes. ASI provides an efficient way to import and export large arrays that describe electronic structure (e.g. Hamiltonian, overlap, and density matrices) from DFT codes that are typically monolithic. The ASI API is designed to be implemented and used with minimal performance penalty, avoiding, where possible, unnecessary data copying. It provides direct access to the internal data structures of a code, and reuses existing data distribution over MPI nodes. The ASI API also defines a set of functions that support classical, AIMD (ab initio molecular dynamics), and hybrid QM/MM simulations: exporting potential energy, forces, atomic charges, and electrostatic potential at user defined points, as well as importing nuclear coordinates and arbitrary external electrostatic potentials. The ASI API is implemented in the DFTB+ and FHI-aims codes. A Python wrapper for easy access to ASI functions is also freely available (asi4py). We hope that the ASI API will be widely adopted and used for development of universal and interoperable DFT codes without sacrificing efficiency for portability.