Atomic Simulation Interface (ASI) : application programming interface for electronic structure codes

Stishenko, Pavel V. and Keal, Thomas W. and Woodley, Scott M. and Blum, Volker and Hourahine, Benjamin and Maurer, Reinhard J. and Logsdail, Andrew J. (2023) Atomic Simulation Interface (ASI) : application programming interface for electronic structure codes. Journal of Open Source Software, 8 (85). 5186. ISSN 2475-9066 (https://doi.org/10.21105/joss.05186)

[thumbnail of Stishenko-etal-JOSS-2023-Atomic-simulation-interface-ASI-application-programming-interface-for-electronic-structure-codes]
Preview
Text. Filename: Stishenko_etal_JOSS_2023_Atomic_simulation_interface_ASI_application_programming_interface_for_electronic_structure_codes.pdf
Final Published Version
License: Creative Commons Attribution 4.0 logo

Download (433kB)| Preview

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+ (Hourahine et al., 2020) and FHI-aims (Blum et al., 2009) 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.