Open Catalyst 2020 Nudged Elastic Band (OC20NEB)

Open Catalyst 2020 Nudged Elastic Band (OC20NEB)#

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-01-22 20:19:14--  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.13, 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%[>                   ] 713.79K  3.48MB/s               
desorption_id_83_24 100%[===================>]   9.61M  27.2MB/s    in 0.4s    

2026-01-22 20:19:15 (27.2 MB/s) - ‘desorption_id_83_2409_9_111-4_neb1.0.traj’ saved [10074935/10074935]

Download#

Splits

Size of compressed version (in bytes)

Size of uncompressed version (in bytes)

MD5 checksum (download link)

ASE Trajectories

1.5G

6.3G

52af34a93758c82fae951e52af445089

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-1p1")

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'.
      Step     Time          Energy          fmax
BFGS:    0 20:19:31     -305.763014        5.169705
BFGS:    1 20:19:32     -305.691692       11.366595
BFGS:    2 20:19:33     -305.916311        1.889963
BFGS:    3 20:19:34     -305.932506        2.616029
BFGS:    4 20:19:35     -306.010368        2.264345
BFGS:    5 20:19:36     -306.003683        6.892220
BFGS:    6 20:19:37     -306.254768        9.617146
BFGS:    7 20:19:38     -306.224758        3.371028
BFGS:    8 20:19:39     -306.290789        4.665818
BFGS:    9 20:19:40     -306.315126        0.727077
BFGS:   10 20:19:41     -306.329416        0.653947
BFGS:   11 20:19:42     -306.357729        1.619467
BFGS:   12 20:19:43     -306.412168        1.940710
BFGS:   13 20:19:44     -306.441254        0.604976
BFGS:   14 20:19:45     -306.471002        0.559185
BFGS:   15 20:19:46     -306.495159        2.155091
BFGS:   16 20:19:47     -306.497877        0.480742
BFGS:   17 20:19:48     -306.504572        0.518076
BFGS:   18 20:19:49     -306.511310        0.713053
BFGS:   19 20:19:50     -306.508484        0.830088
BFGS:   20 20:19:51     -306.477981        1.206787
BFGS:   21 20:19:52     -306.508825        0.552482
BFGS:   22 20:19:53     -306.509979        0.379597
BFGS:   23 20:19:54     -306.396038        3.030537
BFGS:   24 20:19:55     -306.426430        1.008417
BFGS:   25 20:19:56     -306.390871        0.993522
BFGS:   26 20:19:57     -306.185200        0.916446
BFGS:   27 20:19:58     -306.127451        0.639947
BFGS:   28 20:19:59     -306.158153        0.669918
BFGS:   29 20:20:00     -306.240408        0.423282
BFGS:   30 20:20:01     -306.258238        0.529028
BFGS:   31 20:20:02     -306.257700        0.609985
BFGS:   32 20:20:03     -306.250202        0.648784
BFGS:   33 20:20:04     -306.257473        0.536672
BFGS:   34 20:20:05     -306.273924        0.435892
BFGS:   35 20:20:06     -306.311232        0.513232
BFGS:   36 20:20:07     -306.361181        0.543532
BFGS:   37 20:20:08     -306.432983        0.515561
BFGS:   38 20:20:08     -306.503902        0.484818
BFGS:   39 20:20:09     -306.531032        0.796483
BFGS:   40 20:20:10     -306.458898        1.428979
BFGS:   41 20:20:11     -306.301050        1.014115
BFGS:   42 20:20:12     -306.236536        0.795090
BFGS:   43 20:20:13     -306.260528        0.389907
BFGS:   44 20:20:13     -306.288799        0.345021
BFGS:   45 20:20:14     -306.316847        0.403609
BFGS:   46 20:20:15     -306.327021        0.518439
BFGS:   47 20:20:16     -306.307983        0.550810
BFGS:   48 20:20:17     -306.283358        0.419544
BFGS:   49 20:20:18     -306.273687        0.486791
BFGS:   50 20:20:19     -306.273285        0.296544
BFGS:   51 20:20:19     -306.276100        0.364739
BFGS:   52 20:20:20     -306.291939        0.296299
BFGS:   53 20:20:21     -306.317243        0.356460
BFGS:   54 20:20:22     -306.316824        0.358769
BFGS:   55 20:20:23     -306.309236        0.312885
BFGS:   56 20:20:24     -306.313623        0.269834
BFGS:   57 20:20:25     -306.321394        0.287448
BFGS:   58 20:20:25     -306.325014        0.254500
BFGS:   59 20:20:26     -306.331434        0.284948
BFGS:   60 20:20:27     -306.335819        0.246021
BFGS:   61 20:20:28     -306.332788        0.275872
BFGS:   62 20:20:29     -306.335575        0.217144
BFGS:   63 20:20:30     -306.344601        0.202808
BFGS:   64 20:20:31     -306.352676        0.214512
BFGS:   65 20:20:32     -306.349741        0.266431
BFGS:   66 20:20:33     -306.346060        0.266723
BFGS:   67 20:20:34     -306.365232        0.226002
BFGS:   68 20:20:35     -306.370129        0.383302
BFGS:   69 20:20:36     -306.326778        0.402152
BFGS:   70 20:20:37     -306.342102        0.210434
BFGS:   71 20:20:38     -306.350159        0.239978
BFGS:   72 20:20:38     -306.352728        0.124189
BFGS:   73 20:20:39     -306.351688        0.085671
BFGS:   74 20:20:40     -306.351944        0.073654
BFGS:   75 20:20:41     -306.355554        0.179267
BFGS:   76 20:20:42     -306.353247        0.217399
BFGS:   77 20:20:43     -306.350696        0.183255
BFGS:   78 20:20:44     -306.350757        0.154597
BFGS:   79 20:20:45     -306.352734        0.168026
BFGS:   80 20:20:46     -306.348575        0.234163
BFGS:   81 20:20:47     -306.343101        0.175237
BFGS:   82 20:20:48     -306.333761        0.202021
BFGS:   83 20:20:49     -306.337519        0.240073
BFGS:   84 20:20:50     -306.350531        0.298850
BFGS:   85 20:20:51     -306.351103        0.256576
BFGS:   86 20:20:52     -306.346170        0.285843
BFGS:   87 20:20:53     -306.343664        0.178967
BFGS:   88 20:20:54     -306.315792        0.379846
BFGS:   89 20:20:55     -306.311607        0.693529
BFGS:   90 20:20:56     -306.339882        0.915916
BFGS:   91 20:20:57     -306.349878        0.290843
BFGS:   92 20:20:58     -306.350731        0.184009
BFGS:   93 20:20:59     -306.348640        0.117121
BFGS:   94 20:21:00     -306.327530        0.301146
BFGS:   95 20:21:01     -306.321941        0.445790
BFGS:   96 20:21:02     -306.332619        0.661015
BFGS:   97 20:21:03     -306.350931        0.542205
BFGS:   98 20:21:04     -306.353374        0.351850
BFGS:   99 20:21:04     -306.354059        0.139616
BFGS:  100 20:21:05     -306.351328        0.383653
BFGS:  101 20:21:06     -306.347732        0.498777
BFGS:  102 20:21:07     -306.331922        0.718384
BFGS:  103 20:21:08     -306.347368        0.359953
BFGS:  104 20:21:09     -306.358274        0.215910
BFGS:  105 20:21:10     -306.362808        0.188707
BFGS:  106 20:21:11     -306.362247        0.169423
BFGS:  107 20:21:12     -306.360626        0.195327
BFGS:  108 20:21:13     -306.365978        0.405450
BFGS:  109 20:21:14     -306.375294        0.480009
BFGS:  110 20:21:15     -306.387272        0.683555
BFGS:  111 20:21:16     -306.374756        0.651656
BFGS:  112 20:21:17     -306.360086        1.119265
BFGS:  113 20:21:18     -306.361645        0.483356
BFGS:  114 20:21:19     -306.359083        0.196247
BFGS:  115 20:21:20     -306.360250        0.129761
BFGS:  116 20:21:21     -306.372534        0.195435
BFGS:  117 20:21:22     -306.364931        0.174558
BFGS:  118 20:21:23     -306.362389        0.097267
BFGS:  119 20:21:24     -306.362389        0.770179
BFGS:  120 20:21:24     -306.362389        0.088244
BFGS:  121 20:21:25     -306.362389        0.065999
BFGS:  122 20:21:26     -306.362389        0.113954
BFGS:  123 20:21:27     -306.362389        0.217419
BFGS:  124 20:21:28     -306.362389        0.720139
BFGS:  125 20:21:28     -306.362389        0.868873
BFGS:  126 20:21:29     -306.362389        0.227562
BFGS:  127 20:21:30     -306.362389        0.162707
BFGS:  128 20:21:31     -306.362389        0.103131
BFGS:  129 20:21:31     -306.362389        0.125128
BFGS:  130 20:21:32     -306.362389        0.532595
BFGS:  131 20:21:33     -306.362389        0.200003
BFGS:  132 20:21:34     -306.362389        0.249188
BFGS:  133 20:21:35     -306.362389        0.590424
BFGS:  134 20:21:35     -306.362389        0.445336
BFGS:  135 20:21:36     -306.362389        0.269547
BFGS:  136 20:21:37     -306.362389        0.125925
BFGS:  137 20:21:38     -306.362389        0.247068
BFGS:  138 20:21:39     -306.362389        0.836447
BFGS:  139 20:21:40     -306.362389        0.556354
BFGS:  140 20:21:41     -306.362389        0.318659
BFGS:  141 20:21:42     -306.362389        0.113507
BFGS:  142 20:21:43     -306.362389        0.219100
BFGS:  143 20:21:43     -306.362389        0.204986
BFGS:  144 20:21:44     -306.362389        0.167287
BFGS:  145 20:21:45     -306.362389        0.102189
BFGS:  146 20:21:46     -306.362389        0.086654
BFGS:  147 20:21:47     -306.362389        0.081764
BFGS:  148 20:21:47     -306.362389        0.066328
BFGS:  149 20:21:48     -306.362389        0.181646
BFGS:  150 20:21:49     -306.362389        0.095517
BFGS:  151 20:21:49     -306.362389        0.085932
BFGS:  152 20:21:50     -306.362389        0.060277
BFGS:  153 20:21:50     -306.362389        0.043255