From rapid prototyping to high performance computing in material science
Website 🌐 | Documentation 📚 | Workshops 🧑🏫 | Questions 💬 |
---|---|---|---|
pyiron.org | pyiron.readthedocs.io | workshop.pyiron.org | pyiron/FAQs |
The stable pyiron
version is developed based on the generic job object
class to handle the execution and storage of atomistic calculations and their post-processing. Two primary packages are available:
Repository | Description | Coverage | Documentation | Conda Package |
---|---|---|---|---|
pyiron_atomistics | An interface to atomistic simulation codes including but not limited to GPAW, LAMMPS, S/Phi/nX and VASP. | 📚 | 📦 | |
pyiron_base | A package for the core components e.g. the job management, data storage and resource management. | 📚 | 📦 |
To increase the maintainability of the pyiron
project, there is a continuous release of spin-off packages which are used inside pyiron
, but which can also be used as stand-alone packages:
Repository | Description | Coverage | Documentation | Conda Package |
---|---|---|---|---|
atomistics | Interfaces for atomistic simulation codes and workflows | 📚 | 📦 | |
conda_subprocess | Run a subprocess or python function in a separate conda environment. | 📦 | ||
executorlib | Scale serial and MPI-parallel python functions over hundreds of compute nodes all from within a jupyter notebook or serial python process. | 📚 | 📦 | |
pyfileindex | Pythonic file system index | 📦 | ||
pyiron_ontology | Leveraging ontologies for dynamic typing and guided workflow design | 📚 | 📦 | |
pylammpsmpi | Parallel Lammps Python interface - control a mpi4py parallel LAMMPS instance from a serial python process or a Jupyter notebook. | 📦 | ||
pysqa | Simple HPC queuing system adapter for Python on based jinja templates to automate the submission script creation. | 📚 | 📦 | |
structuretoolkit | Build, analyse and visualise atomistic structures for materials science. | 📦 |
Beyond the application to atomistic simulation as part of the pyiron_atomistics
package, the workflow manager pyiron_base
is not limited to atomistic simulation. So the team of pyiron developers in collaboration with MaterialDigital and NFDI Matwerk developed a series of pyiron extensions for different application in materials science.
Repository | Description | Coverage | Documentation | Conda Package |
---|---|---|---|---|
pyiron | A meta package which seamlessly loads all the pyiron plugins installed on a given system. | 📦 | ||
pyiron_contrib | A package to collect contributions from the community and/or bleeding edge developments. | 📚 | 📦 | |
pyiron_dpd | Automated Defect Phase Diagrams and Workflow Prototypes. | |||
pyiron_electrochemistry | Workflows and analysis tools for computational electrochemistry using pyiron. | |||
pyiron_experimental | Post processing workflows for experimental applications. | 📦 | ||
pyiron_gpl | A package for all interfaces which require a GPL license (default for pyiron is BSD). | 📦 | ||
pyiron_gui | Extended graphical user interface (GUI) for the stable pyiron version | 📦 | ||
pyiron_potentialfit | Fit machine learning interatomic potentials using pyiron. | 📦 |
Based on the experience with the stable pyiron version and the success of the stand-alone packages, the pyiron framework continues to innovate in the field of workflows for materials science. At the current stage pyiron_workflow
is planned to be the future replacement of pyiron_base
towards a more functional approach to workflows:
Repository | Description | Coverage | Documentation | Conda Package |
---|---|---|---|---|
ironflow | Prototype of a graphical user interface for pyiron (not under active development) | 📦 | ||
pyiron_workflow | Graph-and-node based workflows | 📚 | 📦 |
In addition to the pyiron
software packages in this organisation, there are a couple of repositories to automate the maintainence of the pyiron project:
Repository | Description |
---|---|
actions | A centralized location for our GitHub actions |
docker-stacks | Ready-to-run Docker images containing pyiron applications |
pyiron-installer | pyiron installer based on conda constructor |
pyiron_module_template | A template to generate a new pyiron module. |
pyiron-publication-template | Template repository - how to publish your pyiron workflow |
pyiron-resources | Resource folder for pyiron - an integrated development environment (IDE) for computational materials science. |
Example publication demonstrating how pyiron
accelerates research and covers the whole simulation life cycle up to the publication of the results:
Repository | Title | Authors | Journal |
---|---|---|---|
pyiron_meltingpoint | A fully automated approach to calculate the melting temperature of elemental crystals | Li-Fang Zhu, Jan Janssen, Shoji Ishibashi, Fritz Körmann, Blazej Grabowski and Joerg Neugebauer | Computational Materials Science 187, 110065 |
pyiron_generalized_dipole | Generalized dipole correction for charged surfaces in the repeated-slab approach | Christoph Freysoldt, Arpit Mishra, Michael Ashton and Joerg Neugebauer | Physical Review B 102, 045403 |
pyiron_md_montecarlo | Interplay of Chemistry and Faceting at Grain Boundaries in a Model Al Alloy | Huan Zhao, Liam Huber, Wenjun Lu, Nicolas J. Peter, Dayong An, Frédéric De Geuser, Gerhard Dehm, Dirk Ponge, Joerg Neugebauer, Baptiste Gault and Dierk Raabe | Physical Review Letters 124, 106102 |