psiflow

psiflow psiflow

License Docs Build Status Python Code style DOI

NOTE: we are preparing v4.0.0 – the API is approximately final but the documentation is still WIP. If you encounter a bug or would like to request a feature, feel free to open an issue!

Scalable Molecular Simulation

Psiflow is a scalable molecular simulation engine for chemistry and materials science applications. It supports:

Users may define arbitrarily complex workflows and execute them automatically on local, HPC, and/or cloud infrastructure. To achieve this, psiflow is built using Parsl: a parallel execution library which manages job submission and workload distribution. As such, psiflow can orchestrate large molecular simulation pipelines on hundreds or even thousands of nodes.

Setup

Use the following one-liner to create a lightweight micromamba Python environment with all dependencies readily available:

curl -L molmod.github.io/psiflow/install.sh | bash

The environment can be activated by sourcing the activate.sh file which will be created in the current working directory. Next, create a config.yaml file which defines the compute resources. For SLURM-based HPC systems, psiflow can initialize your configuration automatically via the following command:

python -c 'import psiflow; psiflow.setup_slurm_config()'

Example configuration files for LUMI, MeluXina, or VSC can be found here. No additional software compilation is required since all of the heavy lifting (CP2K/ORCA/GPAW, PyTorch model training, i-PI dynamics) is executed within preconfigured Apptainer/Singularity containers which are production-ready for most HPCs.

That’s it! Contrary to frameworks like pyiron or aiida, psiflow does not require any databases or annoying web servers. The only requirement is that you set up a Python environment and provide a config.yaml.

Examples