One of the fundamental tasks in modern computational materials science is to automate complex numerical procedures, involving multi-step procedures and integrating different simulation softwares.
In AiiDA, workflow authors have the full power of the python programming language at their fingertips, from running simple python functions on the local computer to launching arbitrary executables on remote compute resources. Once a workflow is submitted, the event-based AiiDA daemon handles its execution, waiting for jobs to finish before launching subsequent steps.
AiiDA workflows can be chained, enabling users to encode their workflow logic in functional building blocks and combined them in sophisticated simulations. These building blocks become part of a workflow library that users can share and expand with their collaborators, thus building a common ground for modern material simulations.