Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Open Catalyst 2020 Nudged Elastic Band (OC20NEB)

Dataset Overview
PropertyValue
Size932 NEB relaxation trajectories
Reaction TypesDesorptions, Dissociations, Transfers
PurposeTransition state energy calculations
PaperCatTSunami (arXiv)
LicenseCC-BY-4.0

Overview

This is a validation dataset which was used to assess model performance in CatTSunami: Accelerating Transition State Energy Calculations with Pre-trained Graph Neural Networks. It is comprised of 932 NEB relaxation trajectories. There are three different types of reactions represented: desorptions, dissociations, and transfers. NEB calculations allow us to find transition states. The rate of reaction is determined by the transition state energy, so access to transition states is very important for catalysis research. For more information, check out the paper.

File Structure and Contents

The tar file contains 3 subdirectories: dissociations, desorptions, and transfers. As the names imply, these directories contain the converged DFT trajectories for each of the reaction classes. Within these directories, the trajectories are named to identify the contents of the file. Here is an example and the anatomy of the name:

desorption_id_83_2409_9_111-4_neb1.0.traj

  1. desorption indicates the reaction type (dissociation and transfer are the other possibilities)

  2. id identifies that the material belongs to the validation in domain split (ood - out of domain is th e other possibility)

  3. 83 is the task id. This does not provide relavent information

  4. 2409 is the bulk index of the bulk used in the ocdata bulk pickle file

  5. 9 is the reaction index. for each reaction type there is a reaction pickle file in the repository. In this case it is the 9th entry to that pickle file

  6. 111-4 the first 3 numbers are the miller indices (i.e. the (1,1,1) surface), and the last number cooresponds to the shift value. In this case the 4th shift enumerated was the one used.

  7. neb1.0 the number here indicates the k value used. For the full dataset, 1.0 was used so this does not distiguish any of the trajectories from one another.

The content of these trajectory files is the repeating frame sets. Despite the initial and final frames not being optimized during the NEB, the initial and final frames are saved for every iteration in the trajectory. For the dataset, 10 frames were used - 8 which were optimized over the neb. So the length of the trajectory is the number of iterations (N) * 10. If you wanted to look at the frame set prior to optimization and the optimized frame set, you could get them like this:

from __future__ import annotations

!wget https://dl.fbaipublicfiles.com/opencatalystproject/data/large_files/desorption_id_83_2409_9_111-4_neb1.0.traj

from ase.io import read

traj = read("desorption_id_83_2409_9_111-4_neb1.0.traj", ":")
unrelaxed_frames = traj[0:10]
relaxed_frames = traj[-10:]
--2026-05-29 13:48:35--  https://dl.fbaipublicfiles.com/opencatalystproject/data/large_files/desorption_id_83_2409_9_111-4_neb1.0.traj
Resolving dl.fbaipublicfiles.com (dl.fbaipublicfiles.com)... 
3.171.22.33, 3.171.22.118, 3.171.22.68, ...
Connecting to dl.fbaipublicfiles.com (dl.fbaipublicfiles.com)|3.171.22.33|:443... connected.
HTTP request sent, awaiting response... 
200 OK
Length: 10074935 (9.6M) [binary/octet-stream]
Saving to: ‘desorption_id_83_2409_9_111-4_neb1.0.traj’

          desorptio   0%[                    ]       0  --.-KB/s               
         desorption   7%[>                   ] 731.18K  3.11MB/s               
desorption_id_83_24 100%[===================>]   9.61M  24.9MB/s    in 0.4s    

2026-05-29 13:48:36 (24.9 MB/s) - ‘desorption_id_83_2409_9_111-4_neb1.0.traj’ saved [10074935/10074935]

Download

SplitsSize of compressed version (in bytes)Size of uncompressed version (in bytes)MD5 checksum (download link)
ASE Trajectories1.5G6.3G52af34a93758c82fae951e52af445089

Use

One more note: We have not prepared an lmdb for this dataset. This is because it is NEB calculations are not supported directly in ocp. You must use the ase native OCP class along with ase infrastructure to run NEB calculations. Here is an example of a use:

import os

from ase.io import read
from ase.mep import DyNEB
from ase.optimize import BFGS
from fairchem.core import FAIRChemCalculator, pretrained_mlip

traj = read("desorption_id_83_2409_9_111-4_neb1.0.traj", ":")
images = traj[0:10]
predictor = pretrained_mlip.get_predict_unit("uma-s-1p2")

neb = DyNEB(images, k=1)
for image in images:
    image.calc = FAIRChemCalculator(predictor, task_name="oc20")

optimizer = BFGS(
    neb,
    trajectory="neb.traj",
)

# Use a small number of steps here to keep the docs fast during CI, but otherwise do quite reasonable settings.
fast_docs = os.environ.get("FAST_DOCS", "false").lower() == "true"
if fast_docs:
    optimization_steps = 20
else:
    optimization_steps = 300

conv = optimizer.run(fmax=0.45, steps=optimization_steps)
if conv:
    neb.climb = True
    conv = optimizer.run(fmax=0.05, steps=optimization_steps)
WARNING:root:device was not explicitly set, using device='cuda'.
/home/runner/work/_tool/Python/3.12.13/x64/lib/python3.12/site-packages/ase/mep/neb.py:329: UserWarning: The default method has changed from 'aseneb' to 'improvedtangent'. The 'aseneb' method is an unpublished, custom implementation that is not recommended as it frequently results in very poor bands. Please explicitly set method='improvedtangent' to silence this warning, or set method='aseneb' if you strictly require the old behavior (results may vary). See: https://gitlab.com/ase/ase/-/merge_requests/3952
  warnings.warn(
      Step     Time          Energy          fmax
BFGS:    0 13:48:57     -305.702816        5.240339
BFGS:    1 13:49:00     -305.626490       11.579490
BFGS:    2 13:49:03     -305.852105        1.880920
BFGS:    3 13:49:08     -305.868546        2.642307
BFGS:    4 13:49:12     -305.945519        2.276070
BFGS:    5 13:49:17     -305.943726        6.797752
BFGS:    6 13:49:22     -306.192782        9.294877
BFGS:    7 13:49:27     -306.167316        3.395391
BFGS:    8 13:49:36     -306.230169        4.795675
BFGS:    9 13:49:40     -306.255479        0.709471
BFGS:   10 13:49:45     -306.269530        0.620074
BFGS:   11 13:49:49     -306.299107        1.588027
BFGS:   12 13:49:54     -306.353753        1.870690
BFGS:   13 13:49:57     -306.385052        0.461433
BFGS:   14 13:50:01     -306.423204        0.728061
BFGS:   15 13:50:05     -306.461778        1.997086
BFGS:   16 13:50:11     -306.472092        0.835999
BFGS:   17 13:50:16     -306.483193        0.476391
BFGS:   18 13:50:19     -306.503254        0.976213
BFGS:   19 13:50:23     -306.523579        1.274435
BFGS:   20 13:50:29     -306.533009        0.818973
BFGS:   21 13:50:36     -306.536151        1.923504
BFGS:   22 13:50:42     -306.548865        0.595110
BFGS:   23 13:50:47     -306.561747        0.754835
BFGS:   24 13:50:57     -306.571537        0.845819
BFGS:   25 13:51:01     -306.581069        0.482623
BFGS:   26 13:51:04     -306.540266        0.419577
BFGS:   27 13:51:10     -306.279260        2.617898
BFGS:   28 13:51:15     -306.455156        0.717828
BFGS:   29 13:51:26     -306.464772        0.717678
BFGS:   30 13:51:32     -306.467803        0.780313
BFGS:   31 13:51:39     -306.460501        0.823005
BFGS:   32 13:51:45     -306.455610        0.833139
BFGS:   33 13:51:55     -306.433718        0.845811
BFGS:   34 13:51:59     -306.412537        0.816202
BFGS:   35 13:52:03     -306.354044        0.688445
BFGS:   36 13:52:07     -306.303254        0.544234
BFGS:   37 13:52:15     -306.267229        0.558741
BFGS:   38 13:52:18     -306.246391        0.492859
BFGS:   39 13:52:21     -306.227991        0.343891
BFGS:   40 13:52:26     -306.216111        0.323691
BFGS:   41 13:52:31     -306.212448        0.334844
BFGS:   42 13:52:36     -306.215465        0.325420
BFGS:   43 13:52:43     -306.222474        0.320716
BFGS:   44 13:52:47     -306.217635        0.337913
BFGS:   45 13:52:56     -306.191053        0.406123
BFGS:   46 13:53:00     -306.175737        0.343874
BFGS:   47 13:53:10     -306.170145        0.214925
BFGS:   48 13:53:14     -306.174214        0.187279
BFGS:   49 13:53:18     -306.184876        0.251877
BFGS:   50 13:53:27     -306.198072        0.282284
BFGS:   51 13:53:32     -306.212314        0.255342
BFGS:   52 13:53:39     -306.215564        0.189478
BFGS:   53 13:53:43     -306.220763        0.146695
BFGS:   54 13:53:48     -306.223226        0.204958
BFGS:   55 13:53:53     -306.229187        0.230789
BFGS:   56 13:53:58     -306.239372        0.200543
BFGS:   57 13:54:02     -306.245008        0.113549
BFGS:   58 13:54:06     -306.248308        0.168288
BFGS:   59 13:54:10     -306.248018        0.134760
BFGS:   60 13:54:15     -306.248753        0.111542
BFGS:   61 13:54:19     -306.251627        0.091790
BFGS:   62 13:54:23     -306.253744        0.096705
BFGS:   63 13:54:26     -306.261230        0.136189
BFGS:   64 13:54:29     -306.263822        0.130424
BFGS:   65 13:54:31     -306.265315        0.113263
BFGS:   66 13:54:34     -306.272557        0.176154
BFGS:   67 13:54:36     -306.272435        0.170495
BFGS:   68 13:54:42     -306.261167        0.109119
BFGS:   69 13:54:45     -306.264672        0.079603
BFGS:   70 13:54:52     -306.271107        0.125156
BFGS:   71 13:54:58     -306.270542        0.080711
BFGS:   72 13:55:00     -306.270953        0.066943
BFGS:   73 13:55:06     -306.272141        0.267674
BFGS:   74 13:55:11     -306.269423        0.231063
BFGS:   75 13:55:13     -306.282086        1.196435
BFGS:   76 13:55:16     -306.277568        0.285345
BFGS:   77 13:55:20     -306.279576        0.115020
BFGS:   78 13:55:23     -306.276250        0.115957
BFGS:   79 13:55:30     -306.277465        0.145556
BFGS:   80 13:55:32     -306.271064        0.699030
BFGS:   81 13:55:34     -306.274317        0.228011
BFGS:   82 13:55:40     -306.278845        0.263777
BFGS:   83 13:55:44     -306.285215        0.513087
BFGS:   84 13:55:46     -306.282305        0.168721
BFGS:   85 13:55:48     -306.280372        0.072736
BFGS:   86 13:55:51     -306.286628        0.400527
BFGS:   87 13:55:53     -306.283323        0.092433
BFGS:   88 13:55:56     -306.282016        0.058347
BFGS:   89 13:55:59     -306.281912        0.105984
BFGS:   90 13:56:01     -306.282859        0.121542
BFGS:   91 13:56:03     -306.283570        0.058114
BFGS:   92 13:56:05     -306.285178        0.114481
BFGS:   93 13:56:07     -306.284879        0.074153
BFGS:   94 13:56:10     -306.284538        0.053084
BFGS:   95 13:56:12     -306.284538        0.040771