pyiron - an integrated development environment (IDE) for computational materials science. It combines several tools in a common platform:
- Atomic structure objects – compatible to the Atomic Simulation Environment (ASE).
- Atomistic simulation codes – like LAMMPS and VASP.
- Feedback Loops – to construct dynamic simulation life cycles.
- Hierarchical data management – interfacing with storage resources like SQL and HDF5.
- Integrated visualization – based on NGLview.
- Interactive simulation protocols - based on Jupyter notebooks.
- Object oriented job management – for scaling complex simulation protocols from single jobs to high-throughput simulations.
pyiron (called pyron) is developed in the Computational Materials Design department of Joerg Neugebauer at the Max Planck Institut für Eisenforschung (Max Planck Institute for iron research). While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project. See the Documentation page for more details.
You can test pyiron on Mybinder.org (beta). For a local installation we recommend to install pyiron inside an anaconda environment:
conda install -c conda-forge pyiron
After the installation of pyiron you need to configure pyiron. The default configuration can be generated automatically. Start a new Python session and import pyiron:
> import pyiron > pyiron.install() >>> It appears that pyiron is not yet configured, do you want to create a default start configuration (recommended: yes). [yes/no]: > yes > exit()
See the Documentation-Installation page for more details.
After the successful configuration you can start your first pyiron calculation. Navigate to the projects directory and start a jupyter notebook or jupyter lab session correspondingly:
cd ~/pyiron/projects jupyter notebook
Open a new jupyter notebook and inside the notebook you can now validate your pyiron calculation by creating a test project, setting up an initial structure of bcc Fe and visualize it using NGLview:
from pyiron_atomistics import Project pr = Project('test') structure = pr.create_structure('Fe', 'bcc', 2.78) structure.plot3d()
Finally a first lammps calculation can be executed by:
job = pr.create_job(job_type=pr.job_type.Lammps, job_name='lammpstestjob') job.structure = structure job.potential = job.list_potentials()[0] job.run()
Test pyiron with mybinder:
pyiron
is licensed under the BSD license.
If you use pyiron in your scientific work, please consider citing
@article{pyiron-paper, title = {pyiron: An integrated development environment for computational materials science}, journal = {Computational Materials Science}, volume = {163}, pages = {24 - 36}, year = {2019}, issn = {0927-0256}, doi = {https://doi.org/10.1016/j.commatsci.2018.07.043}, url = {http://www.sciencedirect.com/science/article/pii/S0927025618304786}, author = {Jan Janssen and Sudarsan Surendralal and Yury Lysogorskiy and Mira Todorova and Tilmann Hickel and Ralf Drautz and Jörg Neugebauer}, keywords = {Modelling workflow, Integrated development environment, Complex simulation protocols}, }