SODA documentation

Scalable Orchestration and Data Aggregation

SODA is an MPI-based infrastructure framework that supports independently developed scientific workflows. It provides parallel task execution, resource coordination, and data aggregation across CPUs and GPUs, collecting results incrementally in HDF5.

Workflows such as APE, EZGA, NEBScape, and AKMC define the scientific methods for exploring atomic structures, elementary processes, and reaction pathways. SODA provides a common foundation for executing their tasks and collecting their results. Simulation engines such as LAMMPS and workflow-specific calculators evaluate energies and forces. Choose a workflow and an interatomic potential suited to your scientific problem, and refer to each method’s original work for its scientific foundations.

More tutorials will be added

Suggestions for tutorial topics and examples are welcome. See the contact details below.

Start here

Install SODA

Select your workflows, potentials, and Linux workstation or HPC environment to generate installation steps.

Analyze results

Inspect HDF5 output with soda_analyzer and export structures for further analysis. No SODA compilation is needed.

Read SODA basics for run preparation, parallel execution, outputs, and restarts. The examples index provides starting points for every workflow.

Choose a workflow

The available integrations support the following methods and frameworks. Each has its own scientific references, linked below.

Your goal

Workflow and starting example

Discover elementary processes and the states they connect on a potential-energy surface.

APE — automatic process exploration (Lai et al., 2025). Start with the Pd surface/EAM example and the APE guide.

Explore candidate structures through evolutionary search over populations and generations.

EZGA (Lombardi et al., 2026). Start with FCC argon with Lennard–Jones and the EZGA guide.

Explore surface-reaction pathways and transition-state barriers.

NEBScape (Jung et al., 2026). Start with the surface-reactions example and the NEBScape guide.

Benchmarking and testing: compare performance and check the framework with controlled simulation runs.

AKMC — adaptive kinetic Monte Carlo (Xu and Henkelman, 2008). Follow the AKMC benchmarking and testing guide, starting with First diffusion run with EAM. The implementation is preliminary.

The potential supplies the energies and forces for the selected workflow. Examples cover classical EAM, GAP, MACE, and supported ASE calculators. The installation selector shows the available combinations; an example’s README identifies any model files you need to provide.

How it works

  1. Starting structuresAtomic configurations and potential or model files
  2. Choose a workflowAPE, EZGA, NEBScape, or AKMC
  3. Parallel calculationsSimulation tasks on CPUs and GPUs
  4. Collected resultsStructures, energies, and workflow records in HDF5
  5. AnalysisInspect and export results with soda_analyzer
A scientific workflow run using SODA's execution and data-collection infrastructure.

The selected workflow determines new tasks as results arrive. SODA coordinates their execution through MPI, including multicore CPU or GPU work within individual tasks when supported by the chosen calculator. Results are written to output/output.h5 by default; logs and temporary worker files are stored separately. See the run setup instructions and analyzer guide for the input and output details.

Project status

The repository README documents the current version as 0.0.6. The available integrations support running APE, EZGA, and NEBScape through SODA. A preliminary AKMC implementation is also available, primarily for benchmarking and framework testing.

The EZGA and NEBScape integrations support the configuration and execution paths documented in the SODA guides. Consult the workflow setup instructions for integration coverage when adapting a calculation from either framework’s native software.

The installation and reference pages are available here. The workflow tutorials are still being expanded and link to the existing repository guides and examples.