Available tasks
Structure optimization
Relax atomic positions and/or cell parameters to a local energy minimum.
Equation of state
Compute the energy-volume curve and fit a Birch-Murnaghan EOS to extract bulk modulus.
Molecular dynamics
Run NVE, NVT, or NPT simulations with flexible temperature and pressure schedules.
Phonons
Calculate phonon band structures, DOS, and thermal properties via phonopy.
Nudged elastic band
Find minimum-energy paths and transition-state barriers between two structures.
Elasticity
Compute the full elastic tensor and derived moduli from finite-strain deformations.
Importing tasks
All tasks are importable from the top-levelmlip_arena.tasks package:
PHONON requires phonopy. If phonopy is not installed, the import falls back gracefully and logs a warning.Caching and Prefect integration
Every task is decorated with@task(cache_policy=TASK_SOURCE + INPUTS). This means:
- Automatic caching — if you call a task with the same inputs and the task source code has not changed, Prefect returns the cached result instantly.
- Parallel execution — call
.submit()instead of calling the task directly to dispatch it as a non-blocking future. - Composability — tasks can call other tasks. For example,
EOSinternally submits multipleOPTtasks concurrently.
General usage pattern
Every task follows the same pattern:Instantiate a calculator
Use
get_calculator from mlip_arena.tasks.utils to load any registered MLIP, or pass any ASE BaseCalculator directly.Dispersion corrections
All tasks accept a pre-built ASE calculator, so dispersion corrections (e.g. DFT-D3 viatorch_dftd) can be applied by composing calculators before passing them in: