| Property | Value |
|---|---|
| Size | 932 NEB relaxation trajectories |
| Reaction Types | Desorptions, Dissociations, Transfers |
| Purpose | Transition state energy calculations |
| Paper | CatTSunami (arXiv) |
| License | CC-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
desorptionindicates the reaction type (dissociation and transfer are the other possibilities)ididentifies that the material belongs to the validation in domain split (ood - out of domain is th e other possibility)83is the task id. This does not provide relavent information2409is the bulk index of the bulk used in the ocdata bulk pickle file9is 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 file111-4the 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.neb1.0the 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-07-14 14:18:05-- 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.167.112.66, 3.167.112.51, 3.167.112.129, ...
Connecting to dl.fbaipublicfiles.com (dl.fbaipublicfiles.com)|3.167.112.66|: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 2%[ ] 212.97K 1.04MB/s desorption_ 16%[==> ] 1.62M 4.02MB/s desorption_id_83_24 100%[===================>] 9.61M 14.4MB/s in 0.7s
2026-07-14 14:18:06 (14.4 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-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 14:18:28 -305.702816 5.240339
BFGS: 1 14:18:30 -305.626493 11.579488
BFGS: 2 14:18:34 -305.852104 1.880816
BFGS: 3 14:18:43 -305.868546 2.642307
BFGS: 4 14:18:49 -305.945518 2.276168
BFGS: 5 14:19:00 -305.943712 6.798070
BFGS: 6 14:19:03 -306.192785 9.295996
BFGS: 7 14:19:06 -306.167258 3.396733
BFGS: 8 14:19:09 -306.230175 4.795175
BFGS: 9 14:19:12 -306.255476 0.709493
BFGS: 10 14:19:19 -306.269534 0.620262
BFGS: 11 14:19:24 -306.299084 1.588179
BFGS: 12 14:19:30 -306.353721 1.868976
BFGS: 13 14:19:34 -306.385063 0.461386
BFGS: 14 14:19:38 -306.423207 0.727815
BFGS: 15 14:19:47 -306.461815 1.996909
BFGS: 16 14:19:52 -306.472058 0.836371
BFGS: 17 14:19:56 -306.483158 0.477041
BFGS: 18 14:20:02 -306.503229 0.976798
BFGS: 19 14:20:07 -306.523580 1.273528
BFGS: 20 14:20:12 -306.533044 0.811832
BFGS: 21 14:20:16 -306.536919 1.927879
BFGS: 22 14:20:21 -306.548939 0.652473
BFGS: 23 14:20:33 -306.561851 0.769196
BFGS: 24 14:20:40 -306.571655 0.799949
BFGS: 25 14:20:45 -306.581266 0.485966
BFGS: 26 14:20:48 -306.539519 0.442654
BFGS: 27 14:20:59 -306.277641 2.640036
BFGS: 28 14:21:04 -306.455648 0.718070
BFGS: 29 14:21:14 -306.467219 0.719663
BFGS: 30 14:21:19 -306.476614 0.789667
BFGS: 31 14:21:22 -306.473178 0.832419
BFGS: 32 14:21:30 -306.469597 0.843191
BFGS: 33 14:21:36 -306.454414 0.856086
BFGS: 34 14:21:42 -306.437680 0.830412
BFGS: 35 14:21:48 -306.388369 0.721553
BFGS: 36 14:21:53 -306.337569 0.593123
BFGS: 37 14:21:58 -306.295908 0.574164
BFGS: 38 14:22:03 -306.268646 0.522041
BFGS: 39 14:22:06 -306.242493 0.385860
BFGS: 40 14:22:11 -306.222462 0.388386
BFGS: 41 14:22:17 -306.210134 0.394549
BFGS: 42 14:22:21 -306.209020 0.380008
BFGS: 43 14:22:28 -306.202956 0.338915
BFGS: 44 14:22:35 -306.180295 0.400748
BFGS: 45 14:22:41 -306.147453 0.460228
BFGS: 46 14:22:51 -306.127643 0.397497
BFGS: 47 14:22:57 -306.133054 0.251037
BFGS: 48 14:23:01 -306.141540 0.240682
BFGS: 49 14:23:06 -306.148730 0.279705
BFGS: 50 14:23:14 -306.160473 0.293972
BFGS: 51 14:23:24 -306.182329 0.278290
BFGS: 52 14:23:29 -306.197242 0.268626
BFGS: 53 14:23:34 -306.203259 0.187306
BFGS: 54 14:23:40 -306.211949 0.197228
BFGS: 55 14:23:48 -306.215198 0.199955
BFGS: 56 14:23:51 -306.223492 0.183540
BFGS: 57 14:23:55 -306.234110 0.185203
BFGS: 58 14:24:02 -306.241559 0.203802
BFGS: 59 14:24:06 -306.246680 0.192733
BFGS: 60 14:24:12 -306.246986 0.149706
BFGS: 61 14:24:16 -306.249021 0.183815
BFGS: 62 14:24:19 -306.247936 0.211621
BFGS: 63 14:24:24 -306.250314 0.150138
BFGS: 64 14:24:26 -306.255495 0.144433
BFGS: 65 14:24:29 -306.259090 0.129888
BFGS: 66 14:24:37 -306.261479 0.120204
BFGS: 67 14:24:39 -306.263488 0.163455
BFGS: 68 14:24:42 -306.264902 0.164901
BFGS: 69 14:24:47 -306.266216 0.087127
BFGS: 70 14:24:53 -306.267848 0.093261
BFGS: 71 14:24:57 -306.271276 0.115456
BFGS: 72 14:25:02 -306.274458 0.122792
BFGS: 73 14:25:03 -306.277283 0.080918
BFGS: 74 14:25:08 -306.279259 0.071589
BFGS: 75 14:25:16 -306.279794 0.069857
BFGS: 76 14:25:21 -306.263980 0.196094
BFGS: 77 14:25:23 -306.278418 0.147214
BFGS: 78 14:25:29 -306.280133 0.078984
BFGS: 79 14:25:35 -306.282287 0.053077
BFGS: 80 14:25:36 -306.282287 0.055568
BFGS: 81 14:25:38 -306.282287 0.050836
BFGS: 82 14:25:40 -306.282287 0.053683
BFGS: 83 14:25:42 -306.282287 0.051461
BFGS: 84 14:25:49 -306.282287 0.050470
BFGS: 85 14:25:51 -306.282287 0.044694