Automated Interactive Infrastructure and Database for Computational Science

AiiDA is a flexible and scalable informatics' infrastructure to manage, preserve, and disseminate the simulations, data, and workflows of modern-day computational science. Able to store the full provenance of each object, and based on a tailored database built for efficient data mining of heterogeneous results, AiiDA gives the user the ability to interact seamlessly with any number of remote HPC resources and codes, thanks to its flexible plugin interface and workflow engine for the automation of complex sequences of simulations.

Journal ref: G. Pizzi, A. Cepellotti, R. Sabatini, N. Marzari, and B. Kozinsky, AiiDA: automated interactive infrastructure and database for computational science, Comp. Mat. Sci. 111, 218-230 (2016)

Open access link: arXiv:1504.0116

Plugin framework

Flexibility is key to meet the diversity of requests in the computational physics, chemistry and material science communities. The number of distributed codes is growing year by year, and many private codes exist. To remove any  limitation, in AiiDA codes are managed by a plugin interface.

To be productive from day 1, we provide a simple plugin that allows you to create simple input files using templates, therefore supporting many existing codes. Using a dedicated plugin for your specific code will enable important advanced features, as for instance custom preparation of the input files and automatic parsing of the output data into database objects. Plugins for many codes are shipped with AiiDA: Quantum EPRESSO, Wannier90, YAMBO, GPAW, ASE calculators, Phonopy, NWChem and CODTools are already supported and several more plugins are under development. Many users and collaborators have contributed and are currently contributing to this development also thanks to the support from the European MaX project and the Swiss MARVEL project.

But the plugin framework is not limited to codes: most of the features of AiiDA have a plugin interface, including the connection to remote supercomputers (e.g. via a local transport of via ssh), the batch queue engine (the so-called job scheduler) and the object-relational mapper between database objects and actual AiiDA python objects.