Skip to main content
MLIP Arena provides two NEB tasks:
  • NEB — takes a pre-built list of images (initial, intermediate, and final structures).
  • NEB_FROM_ENDPOINTS — takes only the start and end structures, automatically relaxes them, interpolates intermediate images, then runs NEB.
Both tasks use ASE’s NEB implementation and support the climbing-image NEB (CI-NEB) algorithm. The implementation is adapted from MatCalc.

NEB (from images)

Use this task when you already have a full image list, for example from a prior interpolation or a previous NEB run.

Function signature

Parameters

list[ase.Atoms]
required
Ordered list of Atoms objects representing the NEB path. Must include at least the start and end images. Intermediate images will be interpolated in-place.
ase.calculators.calculator.BaseCalculator
required
Calculator assigned to every image. A shared calculator is used (allow_shared_calculator=True).
Optimizer | str
default:"MDMin"
Optimizer for the NEB path. Accepts a class or one of: "MDMin", "FIRE", "FIRE2", "LBFGS", "LBFGSLineSearch", "BFGS", "QuasiNewton", "GPMin", "CellAwareBFGS", "ODE12r".
"BFGSLineSearch" is not supported for NEB calculations.
dict | None
default:"None"
Extra keyword arguments forwarded to the optimizer constructor.
dict | None
default:"{}"
Convergence criterion dict forwarded to optimizer.run() (e.g. {"fmax": 0.05}).
string
default:"idpp"
Interpolation method for intermediate images. One of:
  • "idpp" — Image Dependent Pair Potential (recommended, produces smoother paths)
  • "linear" — simple linear interpolation of atomic positions
boolean
default:"true"
Enable the climbing-image NEB algorithm. The image with the highest energy climbs toward the true saddle point.
str | Path | None
default:"None"
Path to save the NEB trajectory. Passed directly to the optimizer.

Return value


NEB from endpoints

Use this task when you only have the start and end structures. It handles endpoint relaxation and image interpolation automatically.

Function signature

Parameters

ase.Atoms
required
Initial endpoint structure.
ase.Atoms
required
Final endpoint structure.
integer
required
Total number of images in the NEB path, including the start and end images.
ase.calculators.calculator.BaseCalculator
required
Calculator for energy and force evaluations.
Optimizer | str
default:"BFGS"
Optimizer for endpoint relaxation and the NEB run. See NEB for valid values.
dict | None
default:"None"
Extra keyword arguments forwarded to the optimizer.
dict | None
default:"None"
Convergence criterion for both endpoint relaxations and the NEB run.
boolean
default:"true"
If True, runs OPT on both start and end before interpolating.
string
default:"idpp"
Interpolation method. One of "linear" or "idpp".
boolean
default:"true"
Enable climbing-image NEB.
str | Path | None
default:"None"
Path to save the NEB trajectory.
boolean
default:"false"
If True, results from internal OPT and NEB sub-tasks are cached in Prefect’s result store.

Return value

Same as NEB above.

Example

1

Define start and end structures

2

Run NEB from endpoints

3

Inspect barrier

Interpolation methods

For complex migration events (e.g. involving significant bond breaking), start with "idpp" and verify the path makes physical sense before converging the NEB.