Skip to content

Latest commit

 

History

History
73 lines (58 loc) · 18.8 KB

README.md

File metadata and controls

73 lines (58 loc) · 18.8 KB

pyiron - Complex Workflows made easy

From rapid prototyping to high performance computing in material science

Website 🌐 Documentation 📚 Workshops 🧑‍🏫 Questions 💬
pyiron.org pyiron.readthedocs.io workshop.pyiron.org pyiron/FAQs

Stable Version 🏔️

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. codecov 📚 📦
pyiron_base A package for the core components e.g. the job management, data storage and resource management. codecov 📚 📦

Stand-alone Packages 🚚

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 codecov 📚 📦
conda_subprocess Run a subprocess or python function in a separate conda environment. codecov 📦
executorlib Scale serial and MPI-parallel python functions over hundreds of compute nodes all from within a jupyter notebook or serial python process. codecov 📚 📦
pyfileindex Pythonic file system index codecov 📦
pyiron_ontology Leveraging ontologies for dynamic typing and guided workflow design Coverage Status 📚 📦
pylammpsmpi Parallel Lammps Python interface - control a mpi4py parallel LAMMPS instance from a serial python process or a Jupyter notebook. codecov 📦
pysqa Simple HPC queuing system adapter for Python on based jinja templates to automate the submission script creation. codecov 📚 📦
structuretoolkit Build, analyse and visualise atomistic structures for materials science. codecov 📦

Extensions 🧭

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. Coverage Status 📦
pyiron_contrib A package to collect contributions from the community and/or bleeding edge developments. Coverage Status 📚 📦
pyiron_dpd Automated Defect Phase Diagrams and Workflow Prototypes. Coverage Status
pyiron_electrochemistry Workflows and analysis tools for computational electrochemistry using pyiron. Coverage Status
pyiron_experimental Post processing workflows for experimental applications. Coverage Status 📦
pyiron_gpl A package for all interfaces which require a GPL license (default for pyiron is BSD). Coverage Status 📦
pyiron_gui Extended graphical user interface (GUI) for the stable pyiron version Coverage Status 📦
pyiron_potentialfit Fit machine learning interatomic potentials using pyiron. Coverage Status 📦

Next Generation Developments 🚀

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) Coverage Status 📦
pyiron_workflow Graph-and-node based workflows Coverage Status 📚 📦

Infrastructure 🤖

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.

Publication 📚

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