| 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-09-16 12:26:58-- 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)... 65.8.54.42, 65.8.54.65, 65.8.54.85, ...
Connecting to dl.fbaipublicfiles.com (dl.fbaipublicfiles.com)|65.8.54.42|: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_id_83_24 100%[===================>] 9.61M 59.0MB/s in 0.2s
2026-09-16 12:26:59 (59.0 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.14/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(
WARNING:root:Model is being compiled this might take a while for the first time
W0916 12:27:22.433000 8711 site-packages/torch/_logging/_internal.py:1345] [0/0] Profiler record function <class 'torch.autograd.profiler.record_function'> will be ignored
W0916 12:27:57.032000 8711 site-packages/torch/_inductor/utils.py:1953] [6/0] Not enough SMs to use max_autotune_gemm mode
Step Time Energy fmax
BFGS: 0 12:28:46 -305.702826 5.240342
BFGS: 1 12:28:48 -305.626495 11.579508
BFGS: 2 12:28:52 -305.852112 1.880924
BFGS: 3 12:28:57 -305.868543 2.642383
BFGS: 4 12:29:09 -305.945524 2.276119
BFGS: 5 12:29:14 -305.943711 6.798167
BFGS: 6 12:29:18 -306.192791 9.294556
BFGS: 7 12:29:21 -306.167332 3.395098
BFGS: 8 12:29:27 -306.230178 4.796184
BFGS: 9 12:29:28 -306.255486 0.709485
BFGS: 10 12:29:40 -306.269537 0.620149
BFGS: 11 12:29:43 -306.299107 1.587998
BFGS: 12 12:29:50 -306.353763 1.871109
BFGS: 13 12:29:54 -306.385050 0.461514
BFGS: 14 12:29:57 -306.423226 0.731968
BFGS: 15 12:29:59 -306.461813 1.995388
BFGS: 16 12:30:08 -306.471991 0.835797
BFGS: 17 12:30:20 -306.483120 0.476741
BFGS: 18 12:30:23 -306.503212 0.977985
BFGS: 19 12:30:27 -306.523642 1.271430
BFGS: 20 12:30:32 -306.533053 0.831715
BFGS: 21 12:30:40 -306.535707 1.900816
BFGS: 22 12:30:46 -306.548784 0.564779
BFGS: 23 12:30:50 -306.561668 0.741726
BFGS: 24 12:30:54 -306.571458 0.856474
BFGS: 25 12:30:58 -306.580984 0.480835
BFGS: 26 12:31:02 -306.540653 0.417280
BFGS: 27 12:31:03 -306.281362 2.590138
BFGS: 28 12:31:07 -306.454729 0.717382
BFGS: 29 12:31:11 -306.463172 0.716045
BFGS: 30 12:31:15 -306.462694 0.774019
BFGS: 31 12:31:21 -306.453254 0.816392
BFGS: 32 12:31:24 -306.447786 0.826224
BFGS: 33 12:31:31 -306.422245 0.838893
BFGS: 34 12:31:43 -306.398788 0.807190
BFGS: 35 12:31:47 -306.336747 0.669577
BFGS: 36 12:31:49 -306.287791 0.517189
BFGS: 37 12:31:52 -306.255868 0.547133
BFGS: 38 12:31:54 -306.238283 0.475309
BFGS: 39 12:32:01 -306.223616 0.339391
BFGS: 40 12:32:03 -306.215585 0.304854
BFGS: 41 12:32:05 -306.215469 0.304778
BFGS: 42 12:32:11 -306.219756 0.299298
BFGS: 43 12:32:12 -306.228511 0.302434
BFGS: 44 12:32:19 -306.226470 0.308806
BFGS: 45 12:32:20 -306.206203 0.351452
BFGS: 46 12:32:22 -306.194236 0.285780
BFGS: 47 12:32:26 -306.194100 0.183708
BFGS: 48 12:32:29 -306.195751 0.176029
BFGS: 49 12:32:32 -306.202369 0.188735
BFGS: 50 12:32:34 -306.219595 0.207508
BFGS: 51 12:32:44 -306.229552 0.187416
BFGS: 52 12:32:52 -306.238044 0.131315
BFGS: 53 12:33:00 -306.240647 0.113071
BFGS: 54 12:33:11 -306.244589 0.135093
BFGS: 55 12:33:18 -306.248627 0.177246
BFGS: 56 12:33:21 -306.252956 0.168382
BFGS: 57 12:33:23 -306.256742 0.105162
BFGS: 58 12:33:25 -306.259121 0.101888
BFGS: 59 12:33:30 -306.262178 0.120935
BFGS: 60 12:33:36 -306.262760 0.101517
BFGS: 61 12:33:38 -306.264702 0.072130
BFGS: 62 12:33:40 -306.266497 0.079460
BFGS: 63 12:33:49 -306.262032 0.743076
BFGS: 64 12:33:51 -306.264374 0.268312
BFGS: 65 12:33:54 -306.274779 0.180317
BFGS: 66 12:33:57 -306.275788 0.123710
BFGS: 67 12:34:01 -306.272458 0.298313
BFGS: 68 12:34:06 -306.274947 0.219054
BFGS: 69 12:34:08 -306.277238 0.170545
BFGS: 70 12:34:11 -306.276927 0.128213
BFGS: 71 12:34:14 -306.277683 0.160104
BFGS: 72 12:34:16 -306.279536 0.150760
BFGS: 73 12:34:25 -306.281835 0.096306
BFGS: 74 12:34:28 -306.282254 0.118674
BFGS: 75 12:34:32 -306.283532 0.100736
BFGS: 76 12:34:34 -306.278649 0.106990
BFGS: 77 12:34:36 -306.284198 0.069813
BFGS: 78 12:34:40 -306.284625 0.058538
BFGS: 79 12:34:43 -306.285879 0.038278