pyiron - an integrated development environment (IDE)
for computational materials science
To orchestrate the method development in the CM department and to integrate the existing methods in a common platform the CM department has developed a Python based framework called pyiron. It provides all the tools needed to interactively explore, implement, and run complex simulation protocols that require to combine different computer codes and to run thousands of separate calculations on high-performance computer clusters.
Like an integrated development environment (IDE) for programming languages, pyiron allows to interactively implement and test simulation protocols and to upscale them for high-throughput simulations on large computer clusters. The key idea behind this new framework is to provide a single tool with a unified interface for all routines developed and established in the department or externally. The availability of this IDE enables the user to focus on science rather than having to deal with technical details such as input/output formats of the various codes and tools.
While the development of a Python based workbench started back in 2011, the recent developments towards abstraction of the underlying concepts resulted in the release under a public domain (www.pyiron.org) and an open source license in 2018. This allows the CM department to make newly developed approaches and computational tools accessible to a broad community. Successful examples for the application of pyiron include the simulation of the solid- liquid transitions with the two-optimized references thermodynamic integration (TOR-TILD), para-magnetic defect calculations with spin-constraints, ab initio calculations under controlled potentiostat conditions for electrochemical systems, as well as machine-learning techniques for the calculation of interstitial solution enthalpies. With this versatility, the pyiron framework has become more and more established in the CM department. It has further been used in several collaborating institutes, e.g., for a high-throughput framework to validate empirical potentials developed at the Interdisciplinary Centre for Advanced Materials Simulation, ICAMS.
The experience in the application of the IDE showed that the algorithmic concepts and solutions to realize pyiron allow applications that are much broader than the original goal of developing and working with complex simulation protocols. For example, the fundamental concept of pyiron objects allowed to link a computationally highly efficient but complex storage solution combining SQL with the HDF5 file format and a conventional file system with an easy to learn and unified user interface. This new hierarchical storage solution, which reflects the needs of high-throughput simulations with various computer codes, turned out to be easily adaptable to store and process not only the huge datasets generated by the advanced in-house experimental tools but also the complex experimental workflows together with their respective metadata. Examples are high-resolution TEM (transmission electron microscopy) pictures or atom-probe tomography micrographs.
An additional benefit of pyiron is its ability to log all the steps of the user in constructing the protocols and achieving the results. Thus, pyiron not only stores all the input and output data but automatically also all the metadata related to scientific setup and workflow, such as, e.g., the program and code versions that have been used, the previous calculations/measurements that have been employed as input or the type of analysis or data conversion that has been implemented. The combination of these features hides the technical complexity from the users enabling them to focus on the physics rather than the implementation.