Automated Interactive Infrastructure and Database for Computational Science

If you use AiiDA please cite:
AiiDA 1.x
Main paper: S.P. Huber et al., Scientific Data 7, 300 (2020)
AiiDA engine: M. Uhrin et al., Comp. Mat. Sci. 187 (2021)

AiiDA 0.x
First paper, ADES model: G. Pizzi et al. Comp. Mat. Sci. 111, 218-230 (2016) (open access version)

Boston coding weeks (2013) and roadmap for the first alpha version 0.1

We have spent the last week of April and the first week of May in Boston, US working full-day on AiiDA development. These two code weeks have allowed to significantly speed up the development of the project, and we have now the backbone of the code to allow for further developments from home.

After the Boston weeks, a first version of AiiDA is currently up and running. It is an early alpha version and many details of the implementation may (and surely will) still change.
If you are interested in trying it, fell free to contact us. Here is the roadmap of some of the features that are already available:

  • SCHEDULERS PBSPro, Slurm are supported and tested
  • TESTS While developing, we write consistently unit tests to ensure that the code always works, even if major code modifications will be required 
  • CODES A simple, generic input plugin is available (with basic template substitution for the generation of the input file) and a Quantum Espresso pw.x plugin is almost ready
  • TRANSPORT Ssh transport is fully functional, the local transport is underway
  • DB Database object-relational mapper, and many plugins for data objects already available (as files, folders, chemical structures, group of parameters, UPF pseudopotential files, …
  • DB Support for the most common SQL databases: SQLite , MySQL and PostgreSQL
  • DB Graph database on top of SQL databases (using a transitive closure table). Deletion of nodes is already supported in SQLite and PostgreSQL
  • DAEMON A daemon is ready, that is in charge of the automatic submission, monitoring and retrieval of jobs

The special architecture of AiiDA has been designed with the purpose of fitting to every use-case scenario. The modularisation of every part make it possible to manage, improve or add new features without breaking other parts of the code. The core-libraries have been already developed, while more codes will be supported in the near future.

Requirements: a computer running a Unix-based OS: the code is being actively developed on MacOs and Ubuntu. At the moment, no support for Windows is planned.

We will focus in the next few months on having a fully working version of AiiDA: improvement of the command line interface, finalization of the Application Programming Interface (API), documentation, testing and debugging.

Some features, as the deployment of a Graphical User Interface (GUI), will be postponed to a second version later in the future.

Finally, here is a sketch of how we have envisioned the different modules of AiiDA: