One of the fundamental tasks in modern material simulations is the ability to automate complex numerical procedures, giving the user the ability to streamline the research in a simple and efficient way. Target results are often obtained by a multi-step procedure with several different codes included.
The workflow infrastructure in AiiDA is a modular execution engine that the users can program with their own scripts, offering all the flexibility of a python script. Once a workflow is started, the AiiDA daemon will handle its execution, waiting for the jobs to finish before launching the following steps.
Finally, thanks to the modularity of AiiDA workflows, i.e. the possibility to embed a workflow as a subworkflow of a larger one, the architecture offers the user the possibility to build little blocks of code that will become the fundamental parts for more evolved and rich simulations. These building blocks can become part of a workflow library the users can share and expand with their collaborators, offering a common ground for modern material simulations.