Transition State Search (NEBs)#

FAIR chemistry models can be used to enumerate and study reaction pathways via transition state search tools built into ASE or in packages like Sella via the ASE interface.

The first section of this tutorial walks through how to use the CatTsunami tools to automatically enumerate a number of hypothetical initial/final configurations for various types of reactions on a heterogeneous catalyst surface. If you already have a NEB you’re looking to optimize, you can jump straight to the last section (Run NEBs)!

Do enumerations in an AdsorbML style#

from __future__ import annotations

import matplotlib.pyplot as plt
from ase.io import read
from ase.mep import DyNEB
from ase.optimize import BFGS
from fairchem.applications.cattsunami.core import Reaction
from fairchem.applications.cattsunami.core.autoframe import AutoFrameDissociation
from fairchem.applications.cattsunami.databases import DISSOCIATION_REACTION_DB_PATH
from fairchem.core import FAIRChemCalculator, pretrained_mlip
from fairchem.data.oc.core import Adsorbate, AdsorbateSlabConfig, Bulk, Slab
from fairchem.data.oc.databases.pkls import ADSORBATE_PKL_PATH, BULK_PKL_PATH
from x3dase.x3d import X3D

# Instantiate the reaction class for the reaction of interest
reaction = Reaction(
    reaction_str_from_db="*CH -> *C + *H",
    reaction_db_path=DISSOCIATION_REACTION_DB_PATH,
    adsorbate_db_path=ADSORBATE_PKL_PATH,
)
/home/runner/work/_tool/Python/3.12.11/x64/lib/python3.12/site-packages/torchtnt/utils/version.py:12: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources
# Instantiate our adsorbate class for the reactant and product
reactant = Adsorbate(
    adsorbate_id_from_db=reaction.reactant1_idx, adsorbate_db_path=ADSORBATE_PKL_PATH
)
product1 = Adsorbate(
    adsorbate_id_from_db=reaction.product1_idx, adsorbate_db_path=ADSORBATE_PKL_PATH
)
product2 = Adsorbate(
    adsorbate_id_from_db=reaction.product2_idx, adsorbate_db_path=ADSORBATE_PKL_PATH
)
# Grab the bulk and cut the slab we are interested in
bulk = Bulk(bulk_src_id_from_db="mp-33", bulk_db_path=BULK_PKL_PATH)
slab = Slab.from_bulk_get_specific_millers(bulk=bulk, specific_millers=(0, 0, 1))
# Perform site enumeration
# For AdsorbML num_sites = 100, but we use 5 here for brevity. This should be increased for practical use.
reactant_configs = AdsorbateSlabConfig(
    slab=slab[0],
    adsorbate=reactant,
    mode="random_site_heuristic_placement",
    num_sites=10,
).atoms_list
product1_configs = AdsorbateSlabConfig(
    slab=slab[0],
    adsorbate=product1,
    mode="random_site_heuristic_placement",
    num_sites=10,
).atoms_list
product2_configs = AdsorbateSlabConfig(
    slab=slab[0],
    adsorbate=product2,
    mode="random_site_heuristic_placement",
    num_sites=10,
).atoms_list
# Instantiate the calculator
predictor = pretrained_mlip.get_predict_unit("uma-s-1")
calc = FAIRChemCalculator(predictor, task_name="oc20")
WARNING:root:device was not explicitly set, using device='cuda'.
# Relax the reactant systems
reactant_energies = []
for config in reactant_configs:
    config.calc = calc
    config.pbc = True
    opt = BFGS(config)
    opt.run(fmax=0.05, steps=200)
    reactant_energies.append(config.get_potential_energy())
      Step     Time          Energy          fmax
BFGS:    0 20:40:17     -302.208593        4.071177
BFGS:    1 20:40:17     -302.597018        2.875124
BFGS:    2 20:40:17     -303.477251        3.327843
BFGS:    3 20:40:17     -303.637742        2.873678
BFGS:    4 20:40:17     -303.835738        3.596491
BFGS:    5 20:40:17     -303.934819        0.819725
BFGS:    6 20:40:18     -303.967875        0.712555
BFGS:    7 20:40:18     -304.083783        0.767652
BFGS:    8 20:40:18     -304.113502        0.553403
BFGS:    9 20:40:18     -304.136542        0.474657
BFGS:   10 20:40:18     -304.155304        0.318887
BFGS:   11 20:40:18     -304.166038        0.268136
BFGS:   12 20:40:18     -304.171429        0.137086
BFGS:   13 20:40:18     -304.173259        0.134139
BFGS:   14 20:40:18     -304.174313        0.135076
BFGS:   15 20:40:19     -304.175601        0.119094
BFGS:   16 20:40:19     -304.176535        0.113779
BFGS:   17 20:40:19     -304.177319        0.114892
BFGS:   18 20:40:19     -304.178099        0.101977
BFGS:   19 20:40:19     -304.178828        0.072460
BFGS:   20 20:40:19     -304.179378        0.061126
BFGS:   21 20:40:19     -304.179899        0.081934
BFGS:   22 20:40:19     -304.180751        0.117743
BFGS:   23 20:40:19     -304.182542        0.157956
BFGS:   24 20:40:20     -304.186307        0.215561
BFGS:   25 20:40:20     -304.188329        0.484838
BFGS:   26 20:40:20     -304.194236        0.262144
BFGS:   27 20:40:20     -304.200322        0.284997
BFGS:   28 20:40:20     -304.197505        0.664270
BFGS:   29 20:40:20     -304.221256        0.309444
BFGS:   30 20:40:20     -304.231025        0.386194
BFGS:   31 20:40:20     -304.222403        0.916435
BFGS:   32 20:40:20     -304.255008        0.532339
BFGS:   33 20:40:21     -304.265268        0.526880
BFGS:   34 20:40:21     -304.299447        0.608342
BFGS:   35 20:40:21     -304.319642        0.330590
BFGS:   36 20:40:21     -304.336317        0.215677
BFGS:   37 20:40:21     -304.343006        0.134151
BFGS:   38 20:40:21     -304.345308        0.142923
BFGS:   39 20:40:21     -304.347457        0.143983
BFGS:   40 20:40:21     -304.349753        0.117499
BFGS:   41 20:40:21     -304.351535        0.072499
BFGS:   42 20:40:22     -304.352535        0.049761
      Step     Time          Energy          fmax
BFGS:    0 20:40:22     -301.341747        4.139374
BFGS:    1 20:40:22     -301.736022        3.460999
BFGS:    2 20:40:22     -302.800168        3.309205
BFGS:    3 20:40:22     -302.848706        5.732764
BFGS:    4 20:40:22     -303.193014        2.574696
BFGS:    5 20:40:22     -303.397966        1.316166
BFGS:    6 20:40:22     -303.556169        2.948005
BFGS:    7 20:40:22     -303.762896        2.835230
BFGS:    8 20:40:22     -303.872026        1.569468
BFGS:    9 20:40:23     -303.971824        1.072618
BFGS:   10 20:40:23     -304.052505        0.778373
BFGS:   11 20:40:23     -304.153316        1.044177
BFGS:   12 20:40:23     -304.196186        1.058624
BFGS:   13 20:40:23     -304.260688        0.866437
BFGS:   14 20:40:23     -304.334796        1.065583
BFGS:   15 20:40:23     -304.412372        1.144334
BFGS:   16 20:40:23     -304.468777        0.922520
BFGS:   17 20:40:23     -304.512226        0.696449
BFGS:   18 20:40:24     -304.542804        0.464000
BFGS:   19 20:40:24     -304.558373        0.515566
BFGS:   20 20:40:24     -304.573064        0.521833
BFGS:   21 20:40:24     -304.587753        0.419741
BFGS:   22 20:40:24     -304.611997        0.530868
BFGS:   23 20:40:24     -304.623773        0.456698
BFGS:   24 20:40:24     -304.637508        0.333518
BFGS:   25 20:40:24     -304.649548        0.370230
BFGS:   26 20:40:24     -304.665407        0.483052
BFGS:   27 20:40:25     -304.678324        0.441353
BFGS:   28 20:40:25     -304.686156        0.218812
BFGS:   29 20:40:25     -304.688745        0.126999
BFGS:   30 20:40:25     -304.689856        0.129071
BFGS:   31 20:40:25     -304.691241        0.139582
BFGS:   32 20:40:25     -304.692550        0.128419
BFGS:   33 20:40:25     -304.693473        0.075052
BFGS:   34 20:40:25     -304.693928        0.037037
      Step     Time          Energy          fmax
BFGS:    0 20:40:25     -301.221549        4.048228
BFGS:    1 20:40:26     -301.611344        3.230908
BFGS:    2 20:40:26     -302.677750        3.470753
BFGS:    3 20:40:26     -302.757790        4.781089
BFGS:    4 20:40:26     -303.044665        2.459196
BFGS:    5 20:40:26     -303.198513        1.882718
BFGS:    6 20:40:26     -303.238416        1.283409
BFGS:    7 20:40:26     -303.444491        2.167371
BFGS:    8 20:40:26     -303.673208        2.844569
BFGS:    9 20:40:26     -303.854216        2.883411
BFGS:   10 20:40:26     -303.970873        2.432769
BFGS:   11 20:40:27     -304.218639        1.406199
BFGS:   12 20:40:27     -304.476279        1.708298
BFGS:   13 20:40:27     -304.522752        0.914368
BFGS:   14 20:40:27     -304.572142        0.433163
BFGS:   15 20:40:27     -304.588243        0.447654
BFGS:   16 20:40:27     -304.604894        0.378872
BFGS:   17 20:40:27     -304.614773        0.314618
BFGS:   18 20:40:27     -304.624053        0.353090
BFGS:   19 20:40:27     -304.635633        0.369698
BFGS:   20 20:40:28     -304.649829        0.357499
BFGS:   21 20:40:28     -304.660856        0.290489
BFGS:   22 20:40:28     -304.668259        0.280305
BFGS:   23 20:40:28     -304.674334        0.239161
BFGS:   24 20:40:28     -304.680286        0.165354
BFGS:   25 20:40:28     -304.684313        0.138918
BFGS:   26 20:40:28     -304.687180        0.151364
BFGS:   27 20:40:28     -304.689582        0.140093
BFGS:   28 20:40:28     -304.691283        0.097798
BFGS:   29 20:40:29     -304.692338        0.059929
BFGS:   30 20:40:29     -304.692964        0.065896
BFGS:   31 20:40:29     -304.693325        0.065373
BFGS:   32 20:40:29     -304.693611        0.055807
BFGS:   33 20:40:29     -304.693923        0.044259
      Step     Time          Energy          fmax
BFGS:    0 20:40:29     -301.044278        4.156959
BFGS:    1 20:40:29     -301.429632        3.560729
BFGS:    2 20:40:29     -302.467223        3.279380
BFGS:    3 20:40:29     -302.442491        5.825934
BFGS:    4 20:40:30     -302.771502        2.627932
BFGS:    5 20:40:30     -302.921655        1.402154
BFGS:    6 20:40:30     -303.007517        1.768544
BFGS:    7 20:40:30     -303.049401        0.914434
BFGS:    8 20:40:30     -303.128502        1.536384
BFGS:    9 20:40:30     -303.169110        1.189780
BFGS:   10 20:40:30     -303.206208        0.519780
BFGS:   11 20:40:30     -303.214824        0.369289
BFGS:   12 20:40:30     -303.229509        0.491977
BFGS:   13 20:40:30     -303.239067        0.506119
BFGS:   14 20:40:31     -303.246822        0.453209
BFGS:   15 20:40:31     -303.253864        0.472432
BFGS:   16 20:40:31     -303.267731        0.691239
BFGS:   17 20:40:31     -303.334686        1.596479
BFGS:   18 20:40:31     -302.843058        9.257111
BFGS:   19 20:40:31     -303.518110        1.399254
BFGS:   20 20:40:31     -303.605241        1.396122
BFGS:   21 20:40:31     -303.816080        1.439970
BFGS:   22 20:40:31     -303.997192        1.318055
BFGS:   23 20:40:32     -304.071552        0.650384
BFGS:   24 20:40:32     -304.152593        0.747316
BFGS:   25 20:40:32     -304.182107        0.579077
BFGS:   26 20:40:32     -304.211830        0.587396
BFGS:   27 20:40:32     -304.253665        0.506296
BFGS:   28 20:40:32     -304.271435        0.510070
BFGS:   29 20:40:32     -304.282472        0.406844
BFGS:   30 20:40:32     -304.291498        0.281046
BFGS:   31 20:40:32     -304.301758        0.223915
BFGS:   32 20:40:33     -304.311381        0.267046
BFGS:   33 20:40:33     -304.319293        0.249605
BFGS:   34 20:40:33     -304.325355        0.240379
BFGS:   35 20:40:33     -304.329917        0.210058
BFGS:   36 20:40:33     -304.333202        0.187740
BFGS:   37 20:40:33     -304.336433        0.246930
BFGS:   38 20:40:33     -304.340240        0.283683
BFGS:   39 20:40:33     -304.344326        0.191262
BFGS:   40 20:40:33     -304.347299        0.126100
BFGS:   41 20:40:34     -304.349031        0.104147
BFGS:   42 20:40:34     -304.350191        0.107815
BFGS:   43 20:40:34     -304.350979        0.094332
BFGS:   44 20:40:34     -304.351797        0.075236
BFGS:   45 20:40:34     -304.352724        0.058483
BFGS:   46 20:40:34     -304.353402        0.045467
      Step     Time          Energy          fmax
BFGS:    0 20:40:34     -302.348116        4.054349
BFGS:    1 20:40:34     -302.743870        3.020521
BFGS:    2 20:40:34     -303.599727        3.105415
BFGS:    3 20:40:34     -303.749598        2.550089
BFGS:    4 20:40:35     -303.877913        4.310734
BFGS:    5 20:40:35     -304.006893        0.943974
BFGS:    6 20:40:35     -304.041154        0.658931
BFGS:    7 20:40:35     -304.145588        0.774187
BFGS:    8 20:40:35     -304.178673        0.582645
BFGS:    9 20:40:35     -304.209947        0.604342
BFGS:   10 20:40:35     -304.238709        0.571622
BFGS:   11 20:40:35     -304.257174        0.537308
BFGS:   12 20:40:35     -304.265977        0.354237
BFGS:   13 20:40:36     -304.270889        0.363497
BFGS:   14 20:40:36     -304.283928        0.450658
BFGS:   15 20:40:36     -304.298178        0.389767
BFGS:   16 20:40:36     -304.308915        0.247979
BFGS:   17 20:40:36     -304.314805        0.222453
BFGS:   18 20:40:36     -304.318774        0.258267
BFGS:   19 20:40:36     -304.325751        0.268354
BFGS:   20 20:40:36     -304.332046        0.244632
BFGS:   21 20:40:36     -304.336427        0.186900
BFGS:   22 20:40:37     -304.338975        0.161361
BFGS:   23 20:40:37     -304.341233        0.135849
BFGS:   24 20:40:37     -304.344163        0.106452
BFGS:   25 20:40:37     -304.347570        0.097698
BFGS:   26 20:40:37     -304.350550        0.100485
BFGS:   27 20:40:37     -304.351908        0.095104
BFGS:   28 20:40:37     -304.352469        0.079386
BFGS:   29 20:40:37     -304.352997        0.056419
BFGS:   30 20:40:37     -304.353569        0.040476
      Step     Time          Energy          fmax
BFGS:    0 20:40:38     -302.098985        4.163894
BFGS:    1 20:40:38     -302.480831        2.998949
BFGS:    2 20:40:38     -303.356512        3.332619
BFGS:    3 20:40:38     -303.528688        3.042583
BFGS:    4 20:40:38     -303.896059        1.959445
BFGS:    5 20:40:38     -303.978144        1.545426
BFGS:    6 20:40:38     -304.200947        1.383908
BFGS:    7 20:40:38     -304.281918        1.151290
BFGS:    8 20:40:38     -304.363705        1.291648
BFGS:    9 20:40:39     -304.528743        1.513710
BFGS:   10 20:40:39     -304.605213        0.707445
BFGS:   11 20:40:39     -304.631028        0.473801
BFGS:   12 20:40:39     -304.637684        0.399111
BFGS:   13 20:40:39     -304.653638        0.317048
BFGS:   14 20:40:39     -304.660053        0.253492
BFGS:   15 20:40:39     -304.665882        0.190597
BFGS:   16 20:40:39     -304.668835        0.183768
BFGS:   17 20:40:39     -304.671587        0.188553
BFGS:   18 20:40:39     -304.675723        0.223083
BFGS:   19 20:40:40     -304.681459        0.267431
BFGS:   20 20:40:40     -304.686506        0.207535
BFGS:   21 20:40:40     -304.688864        0.117658
BFGS:   22 20:40:40     -304.689976        0.116009
BFGS:   23 20:40:40     -304.690827        0.096932
BFGS:   24 20:40:40     -304.691830        0.107648
BFGS:   25 20:40:40     -304.692950        0.087013
BFGS:   26 20:40:40     -304.693620        0.045285
      Step     Time          Energy          fmax
BFGS:    0 20:40:40     -300.702577        3.967431
BFGS:    1 20:40:41     -301.102005        3.699942
BFGS:    2 20:40:41     -302.315191        3.353431
BFGS:    3 20:40:41     -301.508776       13.558634
BFGS:    4 20:40:41     -302.545696        3.138923
BFGS:    5 20:40:41     -302.669792        2.823601
BFGS:    6 20:40:41     -302.953361        1.422626
BFGS:    7 20:40:41     -303.010679        1.016892
BFGS:    8 20:40:41     -303.048830        0.943305
BFGS:    9 20:40:41     -303.154581        0.681666
BFGS:   10 20:40:42     -303.167440        0.458801
BFGS:   11 20:40:42     -303.176090        0.168410
BFGS:   12 20:40:42     -303.177822        0.156249
BFGS:   13 20:40:42     -303.181322        0.144040
BFGS:   14 20:40:42     -303.183206        0.101946
BFGS:   15 20:40:42     -303.184001        0.054884
BFGS:   16 20:40:42     -303.184219        0.038791
      Step     Time          Energy          fmax
BFGS:    0 20:40:42     -301.887645        4.154007
BFGS:    1 20:40:42     -302.273405        3.249293
BFGS:    2 20:40:43     -303.238298        3.262469
BFGS:    3 20:40:43     -303.423775        3.417707
BFGS:    4 20:40:43     -303.698991        2.162538
BFGS:    5 20:40:43     -303.891187        2.107882
BFGS:    6 20:40:43     -303.959384        1.003891
BFGS:    7 20:40:43     -304.022375        0.560995
BFGS:    8 20:40:43     -304.076656        0.912515
BFGS:    9 20:40:43     -304.103198        0.793077
BFGS:   10 20:40:43     -304.139910        0.511635
BFGS:   11 20:40:44     -304.158434        0.342887
BFGS:   12 20:40:44     -304.165120        0.189691
BFGS:   13 20:40:44     -304.168110        0.188370
BFGS:   14 20:40:44     -304.170852        0.199290
BFGS:   15 20:40:44     -304.173849        0.178814
BFGS:   16 20:40:44     -304.176085        0.142015
BFGS:   17 20:40:44     -304.177095        0.110695
BFGS:   18 20:40:44     -304.177765        0.118736
BFGS:   19 20:40:44     -304.178848        0.144321
BFGS:   20 20:40:45     -304.180489        0.147221
BFGS:   21 20:40:45     -304.181992        0.105635
BFGS:   22 20:40:45     -304.182951        0.104530
BFGS:   23 20:40:45     -304.183972        0.132034
BFGS:   24 20:40:45     -304.185639        0.189034
BFGS:   25 20:40:45     -304.189559        0.316125
BFGS:   26 20:40:45     -304.194757        0.579784
BFGS:   27 20:40:45     -304.202643        0.384138
BFGS:   28 20:40:45     -304.218438        0.450400
BFGS:   29 20:40:46     -304.225049        0.704291
BFGS:   30 20:40:46     -304.239606        0.488866
BFGS:   31 20:40:46     -304.254099        0.832283
BFGS:   32 20:40:46     -304.286724        0.302526
BFGS:   33 20:40:46     -304.307549        0.274449
BFGS:   34 20:40:46     -304.328966        0.274600
BFGS:   35 20:40:46     -304.333725        0.224735
BFGS:   36 20:40:46     -304.340049        0.160188
BFGS:   37 20:40:46     -304.345343        0.097870
BFGS:   38 20:40:46     -304.348833        0.088020
BFGS:   39 20:40:47     -304.350482        0.076386
BFGS:   40 20:40:47     -304.351144        0.064214
BFGS:   41 20:40:47     -304.351743        0.052104
BFGS:   42 20:40:47     -304.352616        0.046775
      Step     Time          Energy          fmax
BFGS:    0 20:40:47     -302.082042        4.168536
BFGS:    1 20:40:47     -302.471638        3.044650
BFGS:    2 20:40:47     -303.378245        3.309872
BFGS:    3 20:40:47     -303.555107        3.020296
BFGS:    4 20:40:47     -303.882580        1.830218
BFGS:    5 20:40:48     -303.962930        1.674905
BFGS:    6 20:40:48     -304.056507        1.805565
BFGS:    7 20:40:48     -304.232417        1.058646
BFGS:    8 20:40:48     -304.295821        1.184145
BFGS:    9 20:40:48     -304.469110        1.613716
BFGS:   10 20:40:48     -304.562236        1.015975
BFGS:   11 20:40:48     -304.610374        0.808306
BFGS:   12 20:40:48     -304.624951        0.504735
BFGS:   13 20:40:48     -304.634876        0.318279
BFGS:   14 20:40:49     -304.645712        0.289770
BFGS:   15 20:40:49     -304.655290        0.270712
BFGS:   16 20:40:49     -304.660606        0.201725
BFGS:   17 20:40:49     -304.663726        0.204596
BFGS:   18 20:40:49     -304.667653        0.230727
BFGS:   19 20:40:49     -304.673434        0.261091
BFGS:   20 20:40:49     -304.680059        0.277864
BFGS:   21 20:40:50     -304.685414        0.186868
BFGS:   22 20:40:50     -304.688045        0.120346
BFGS:   23 20:40:50     -304.689418        0.119658
BFGS:   24 20:40:50     -304.690799        0.114178
BFGS:   25 20:40:50     -304.692284        0.110306
BFGS:   26 20:40:50     -304.693294        0.067100
BFGS:   27 20:40:50     -304.693673        0.040707
      Step     Time          Energy          fmax
BFGS:    0 20:40:50     -301.650181        4.184107
BFGS:    1 20:40:50     -302.046654        3.126329
BFGS:    2 20:40:51     -303.014343        3.432715
BFGS:    3 20:40:51     -303.187975        3.243217
BFGS:    4 20:40:51     -303.534895        2.076141
BFGS:    5 20:40:51     -303.678398        3.032946
BFGS:    6 20:40:51     -303.777838        1.756303
BFGS:    7 20:40:51     -303.928796        0.826909
BFGS:    8 20:40:51     -303.963644        0.899647
BFGS:    9 20:40:51     -304.029336        0.789179
BFGS:   10 20:40:51     -304.085833        0.897511
BFGS:   11 20:40:52     -304.129919        0.633197
BFGS:   12 20:40:52     -304.149807        0.265414
BFGS:   13 20:40:52     -304.154641        0.193398
BFGS:   14 20:40:52     -304.162068        0.284000
BFGS:   15 20:40:52     -304.167291        0.278497
BFGS:   16 20:40:52     -304.170230        0.174905
BFGS:   17 20:40:52     -304.171628        0.111346
BFGS:   18 20:40:52     -304.173577        0.155545
BFGS:   19 20:40:52     -304.176766        0.277741
BFGS:   20 20:40:52     -304.180933        0.334454
BFGS:   21 20:40:53     -304.184547        0.241700
BFGS:   22 20:40:53     -304.187897        0.178539
BFGS:   23 20:40:53     -304.192531        0.288291
BFGS:   24 20:40:53     -304.202262        0.611152
BFGS:   25 20:40:53     -304.228703        1.277277
BFGS:   26 20:40:53     -304.232517        1.816559
BFGS:   27 20:40:53     -304.273945        1.325339
BFGS:   28 20:40:53     -304.336023        0.894933
BFGS:   29 20:40:53     -304.424383        0.830511
BFGS:   30 20:40:54     -304.457680        1.622878
BFGS:   31 20:40:54     -304.500912        1.175694
BFGS:   32 20:40:54     -304.577614        0.436058
BFGS:   33 20:40:54     -304.591169        0.473161
BFGS:   34 20:40:54     -304.608508        0.402238
BFGS:   35 20:40:54     -304.651798        0.311013
BFGS:   36 20:40:54     -304.662466        0.288107
BFGS:   37 20:40:54     -304.669389        0.230658
BFGS:   38 20:40:54     -304.673195        0.199603
BFGS:   39 20:40:55     -304.678975        0.182572
BFGS:   40 20:40:55     -304.684241        0.221786
BFGS:   41 20:40:55     -304.688662        0.191614
BFGS:   42 20:40:55     -304.691201        0.116053
BFGS:   43 20:40:55     -304.692127        0.067301
BFGS:   44 20:40:55     -304.692645        0.059983
BFGS:   45 20:40:55     -304.693183        0.045945
# Relax the product systems
product1_energies = []
for config in product1_configs:
    config.calc = calc
    config.pbc = True
    opt = BFGS(config)
    opt.run(fmax=0.05, steps=200)
    product1_energies.append(config.get_potential_energy())
      Step     Time          Energy          fmax
BFGS:    0 20:40:55     -297.353770        4.734547
BFGS:    1 20:40:55     -297.855637        4.824181
BFGS:    2 20:40:56     -299.107734        3.451933
BFGS:    3 20:40:56     -299.360196        3.863680
BFGS:    4 20:40:56     -299.541434        1.312135
BFGS:    5 20:40:56     -299.630875        1.076373
BFGS:    6 20:40:56     -299.806287        0.709645
BFGS:    7 20:40:56     -299.830617        0.671388
BFGS:    8 20:40:56     -299.903603        0.625265
BFGS:    9 20:40:56     -299.946409        0.632274
BFGS:   10 20:40:56     -299.984266        0.852581
BFGS:   11 20:40:57     -300.017386        1.022156
BFGS:   12 20:40:57     -300.069126        1.268637
BFGS:   13 20:40:57     -300.132207        1.550719
BFGS:   14 20:40:57     -300.136106        1.725116
BFGS:   15 20:40:57     -300.287949        1.654310
BFGS:   16 20:40:57     -300.380365        1.341269
BFGS:   17 20:40:57     -300.507705        0.880596
BFGS:   18 20:40:57     -300.536594        0.493366
BFGS:   19 20:40:57     -300.563149        0.410265
BFGS:   20 20:40:58     -300.581065        0.388116
BFGS:   21 20:40:58     -300.598928        0.481521
BFGS:   22 20:40:58     -300.611886        0.356568
BFGS:   23 20:40:58     -300.617650        0.211424
BFGS:   24 20:40:58     -300.619721        0.155015
BFGS:   25 20:40:58     -300.621016        0.139903
BFGS:   26 20:40:58     -300.622494        0.130580
BFGS:   27 20:40:58     -300.623864        0.102342
BFGS:   28 20:40:58     -300.624552        0.055277
BFGS:   29 20:40:59     -300.624745        0.030499
      Step     Time          Energy          fmax
BFGS:    0 20:40:59     -297.158724        4.666305
BFGS:    1 20:40:59     -297.648790        4.803903
BFGS:    2 20:40:59     -298.941260        3.660427
BFGS:    3 20:40:59     -299.218916        4.574070
BFGS:    4 20:40:59     -299.419965        1.556212
BFGS:    5 20:40:59     -299.526149        1.385748
BFGS:    6 20:40:59     -299.684775        1.601603
BFGS:    7 20:40:59     -299.721441        0.802631
BFGS:    8 20:40:59     -299.751552        0.923127
BFGS:    9 20:41:00     -299.870063        1.137318
BFGS:   10 20:41:00     -299.905310        0.925897
BFGS:   11 20:41:00     -299.944974        0.571168
BFGS:   12 20:41:00     -299.961781        0.628047
BFGS:   13 20:41:00     -299.977859        0.833953
BFGS:   14 20:41:00     -300.035491        1.573326
BFGS:   15 20:41:00     -300.099997        1.982102
BFGS:   16 20:41:00     -300.182785        1.652375
BFGS:   17 20:41:00     -300.329045        1.422086
BFGS:   18 20:41:01     -300.321658        2.007947
BFGS:   19 20:41:01     -300.496303        0.984483
BFGS:   20 20:41:01     -300.532564        0.830634
BFGS:   21 20:41:01     -300.555815        0.622389
BFGS:   22 20:41:01     -300.583914        0.435490
BFGS:   23 20:41:01     -300.597004        0.316867
BFGS:   24 20:41:01     -300.607491        0.269596
BFGS:   25 20:41:01     -300.615116        0.199336
BFGS:   26 20:41:01     -300.619140        0.166767
BFGS:   27 20:41:02     -300.620968        0.149854
BFGS:   28 20:41:02     -300.621949        0.123212
BFGS:   29 20:41:02     -300.623073        0.076129
BFGS:   30 20:41:02     -300.624140        0.044856
      Step     Time          Energy          fmax
BFGS:    0 20:41:02     -296.265722        4.419031
BFGS:    1 20:41:02     -296.753974        4.692485
BFGS:    2 20:41:02     -298.241760        3.334823
BFGS:    3 20:41:02     -297.629862       11.284364
BFGS:    4 20:41:02     -298.483541        1.929813
BFGS:    5 20:41:03     -298.554208        1.150969
BFGS:    6 20:41:03     -298.611347        1.201351
BFGS:    7 20:41:03     -298.637527        1.170356
BFGS:    8 20:41:03     -298.798934        1.335777
BFGS:    9 20:41:03     -298.886835        2.013937
BFGS:   10 20:41:03     -299.016276        2.451334
BFGS:   11 20:41:03     -299.148880        2.458296
BFGS:   12 20:41:03     -299.461297        1.967039
BFGS:   13 20:41:03     -299.809034        0.903878
BFGS:   14 20:41:04     -299.800639        1.923723
BFGS:   15 20:41:04     -299.850325        0.529558
BFGS:   16 20:41:04     -299.860319        0.509700
BFGS:   17 20:41:04     -299.902757        0.197269
BFGS:   18 20:41:04     -299.906016        0.107863
BFGS:   19 20:41:04     -299.907323        0.107723
BFGS:   20 20:41:04     -299.908793        0.095492
BFGS:   21 20:41:04     -299.910635        0.098016
BFGS:   22 20:41:04     -299.911649        0.070378
BFGS:   23 20:41:04     -299.912025        0.049883
      Step     Time          Energy          fmax
BFGS:    0 20:41:05     -296.210513        4.416338
BFGS:    1 20:41:05     -296.705682        4.706019
BFGS:    2 20:41:05     -298.224715        3.289186
BFGS:    3 20:41:05     -297.478177       12.193316
BFGS:    4 20:41:05     -298.451023        1.916459
BFGS:    5 20:41:05     -298.519159        1.101347
BFGS:    6 20:41:05     -298.566632        1.006809
BFGS:    7 20:41:05     -298.582426        0.886687
BFGS:    8 20:41:05     -298.661505        0.987716
BFGS:    9 20:41:06     -298.685059        1.035346
BFGS:   10 20:41:06     -299.018954        1.558953
BFGS:   11 20:41:06     -299.425300        1.863979
BFGS:   12 20:41:06     -299.621204        1.682726
BFGS:   13 20:41:06     -299.683849        1.105903
BFGS:   14 20:41:06     -299.708618        1.124021
BFGS:   15 20:41:06     -299.773336        1.102423
BFGS:   16 20:41:06     -299.799268        1.038642
BFGS:   17 20:41:06     -299.830323        0.877527
BFGS:   18 20:41:07     -299.849410        0.763115
BFGS:   19 20:41:07     -299.872215        0.924161
BFGS:   20 20:41:07     -299.909561        1.213513
BFGS:   21 20:41:07     -299.956713        1.064462
BFGS:   22 20:41:07     -299.996280        0.578545
BFGS:   23 20:41:07     -300.010912        0.618570
BFGS:   24 20:41:07     -300.028010        0.394313
BFGS:   25 20:41:07     -300.040930        0.390666
BFGS:   26 20:41:07     -300.051757        0.316072
BFGS:   27 20:41:08     -300.058336        0.230461
BFGS:   28 20:41:08     -300.061417        0.162154
BFGS:   29 20:41:08     -300.062419        0.163434
BFGS:   30 20:41:08     -300.062915        0.180077
BFGS:   31 20:41:08     -300.063586        0.178730
BFGS:   32 20:41:08     -300.064407        0.161293
BFGS:   33 20:41:08     -300.065191        0.162649
BFGS:   34 20:41:08     -300.065625        0.157963
BFGS:   35 20:41:08     -300.065829        0.152368
BFGS:   36 20:41:09     -300.065967        0.148363
BFGS:   37 20:41:09     -300.066180        0.144207
BFGS:   38 20:41:09     -300.066473        0.141375
BFGS:   39 20:41:09     -300.066737        0.141989
BFGS:   40 20:41:09     -300.066848        0.144453
BFGS:   41 20:41:09     -300.066887        0.145771
BFGS:   42 20:41:09     -300.066919        0.146578
BFGS:   43 20:41:09     -300.066955        0.146934
BFGS:   44 20:41:09     -300.067013        0.146745
BFGS:   45 20:41:09     -300.067076        0.145710
BFGS:   46 20:41:10     -300.067113        0.144436
BFGS:   47 20:41:10     -300.067128        0.143654
BFGS:   48 20:41:10     -300.067138        0.143239
BFGS:   49 20:41:10     -300.067151        0.142725
BFGS:   50 20:41:10     -300.067172        0.142142
BFGS:   51 20:41:10     -300.067191        0.141608
BFGS:   52 20:41:10     -300.067202        0.141382
BFGS:   53 20:41:10     -300.067207        0.141327
BFGS:   54 20:41:10     -300.067211        0.141192
BFGS:   55 20:41:11     -300.067213        0.140915
BFGS:   56 20:41:11     -300.067217        0.140302
BFGS:   57 20:41:11     -300.067224        0.139438
BFGS:   58 20:41:11     -300.067228        0.138875
BFGS:   59 20:41:11     -300.067228        0.138740
BFGS:   60 20:41:11     -300.067229        0.138742
BFGS:   61 20:41:11     -300.067230        0.138794
BFGS:   62 20:41:11     -300.067231        0.138880
BFGS:   63 20:41:11     -300.067232        0.138906
BFGS:   64 20:41:12     -300.067234        0.138897
BFGS:   65 20:41:12     -300.067235        0.138873
BFGS:   66 20:41:12     -300.067234        0.138833
BFGS:   67 20:41:12     -300.067234        0.138811
BFGS:   68 20:41:12     -300.067235        0.138822
BFGS:   69 20:41:12     -300.067236        0.138916
BFGS:   70 20:41:12     -300.067237        0.139015
BFGS:   71 20:41:12     -300.067238        0.139072
BFGS:   72 20:41:12     -300.067238        0.139061
BFGS:   73 20:41:13     -300.067238        0.139045
BFGS:   74 20:41:13     -300.067241        0.138972
BFGS:   75 20:41:13     -300.067240        0.138819
BFGS:   76 20:41:13     -300.067238        0.138691
BFGS:   77 20:41:13     -300.067238        0.138641
BFGS:   78 20:41:13     -300.067240        0.138631
BFGS:   79 20:41:13     -300.067240        0.138615
BFGS:   80 20:41:13     -300.067239        0.138626
BFGS:   81 20:41:13     -300.067240        0.138603
BFGS:   82 20:41:13     -300.067239        0.138625
BFGS:   83 20:41:14     -300.067239        0.138614
BFGS:   84 20:41:14     -300.067241        0.138626
BFGS:   85 20:41:14     -300.067239        0.138606
BFGS:   86 20:41:14     -300.067240        0.138609
BFGS:   87 20:41:14     -300.067240        0.138610
BFGS:   88 20:41:14     -300.067238        0.138603
BFGS:   89 20:41:14     -300.067238        0.138590
BFGS:   90 20:41:14     -300.067240        0.138597
BFGS:   91 20:41:14     -300.067239        0.138586
BFGS:   92 20:41:15     -300.067241        0.138603
BFGS:   93 20:41:15     -300.067240        0.138615
BFGS:   94 20:41:15     -300.067238        0.138619
BFGS:   95 20:41:15     -300.067241        0.138622
BFGS:   96 20:41:15     -300.067238        0.138632
BFGS:   97 20:41:15     -300.067239        0.138639
BFGS:   98 20:41:15     -300.067238        0.138639
BFGS:   99 20:41:15     -300.067240        0.138621
BFGS:  100 20:41:15     -300.067240        0.138616
BFGS:  101 20:41:16     -300.067240        0.138595
BFGS:  102 20:41:16     -300.067239        0.138602
BFGS:  103 20:41:16     -300.067240        0.138597
BFGS:  104 20:41:16     -300.067241        0.138617
BFGS:  105 20:41:16     -300.067240        0.138618
BFGS:  106 20:41:16     -300.067239        0.138605
BFGS:  107 20:41:16     -300.067239        0.138607
BFGS:  108 20:41:16     -300.067240        0.138617
BFGS:  109 20:41:16     -300.067237        0.138597
BFGS:  110 20:41:17     -300.067239        0.138612
BFGS:  111 20:41:17     -300.067238        0.138609
BFGS:  112 20:41:17     -300.067239        0.138629
BFGS:  113 20:41:17     -300.067239        0.138620
BFGS:  114 20:41:17     -300.067238        0.138628
BFGS:  115 20:41:17     -300.067239        0.138613
BFGS:  116 20:41:17     -300.067241        0.138631
BFGS:  117 20:41:17     -300.067240        0.138620
BFGS:  118 20:41:17     -300.067240        0.138635
BFGS:  119 20:41:18     -300.067239        0.138625
BFGS:  120 20:41:18     -300.067240        0.138622
BFGS:  121 20:41:18     -300.067238        0.138634
BFGS:  122 20:41:18     -300.067238        0.138622
BFGS:  123 20:41:18     -300.067240        0.138627
BFGS:  124 20:41:18     -300.067238        0.138618
BFGS:  125 20:41:18     -300.067240        0.138618
BFGS:  126 20:41:18     -300.067238        0.138632
BFGS:  127 20:41:18     -300.067239        0.138626
BFGS:  128 20:41:18     -300.067239        0.138628
BFGS:  129 20:41:19     -300.067240        0.138632
BFGS:  130 20:41:19     -300.067239        0.138631
BFGS:  131 20:41:19     -300.067238        0.138623
BFGS:  132 20:41:19     -300.067240        0.138629
BFGS:  133 20:41:19     -300.067240        0.138623
BFGS:  134 20:41:19     -300.067240        0.138623
BFGS:  135 20:41:19     -300.067240        0.138621
BFGS:  136 20:41:19     -300.067239        0.138632
BFGS:  137 20:41:19     -300.067240        0.138618
BFGS:  138 20:41:20     -300.067238        0.138629
BFGS:  139 20:41:20     -300.067240        0.138622
BFGS:  140 20:41:20     -300.067239        0.138616
BFGS:  141 20:41:20     -300.067240        0.138624
BFGS:  142 20:41:20     -300.067241        0.138622
BFGS:  143 20:41:20     -300.067238        0.138621
BFGS:  144 20:41:20     -300.067240        0.138617
BFGS:  145 20:41:20     -300.067239        0.138621
BFGS:  146 20:41:20     -300.067240        0.138625
BFGS:  147 20:41:21     -300.067239        0.138620
BFGS:  148 20:41:21     -300.067238        0.138615
BFGS:  149 20:41:21     -300.067241        0.138621
BFGS:  150 20:41:21     -300.067240        0.138622
BFGS:  151 20:41:21     -300.067240        0.138617
BFGS:  152 20:41:21     -300.067241        0.138616
BFGS:  153 20:41:21     -300.067238        0.138620
BFGS:  154 20:41:21     -300.067238        0.138620
BFGS:  155 20:41:21     -300.067238        0.138620
BFGS:  156 20:41:22     -300.067238        0.138617
BFGS:  157 20:41:22     -300.067239        0.138618
BFGS:  158 20:41:22     -300.067241        0.138621
BFGS:  159 20:41:22     -300.067240        0.138621
BFGS:  160 20:41:22     -300.067240        0.138617
BFGS:  161 20:41:22     -300.067240        0.138618
BFGS:  162 20:41:22     -300.067239        0.138619
BFGS:  163 20:41:22     -300.067240        0.138621
BFGS:  164 20:41:22     -300.067240        0.138617
BFGS:  165 20:41:23     -300.067240        0.138620
BFGS:  166 20:41:23     -300.067240        0.138622
BFGS:  167 20:41:23     -300.067240        0.138620
BFGS:  168 20:41:23     -300.067242        0.138616
BFGS:  169 20:41:23     -300.067238        0.138618
BFGS:  170 20:41:23     -300.067240        0.138622
BFGS:  171 20:41:23     -300.067240        0.138623
BFGS:  172 20:41:23     -300.067239        0.138616
BFGS:  173 20:41:23     -300.067240        0.138627
BFGS:  174 20:41:23     -300.067240        0.138622
BFGS:  175 20:41:24     -300.067240        0.138623
BFGS:  176 20:41:24     -300.067239        0.138611
BFGS:  177 20:41:24     -300.067240        0.138615
BFGS:  178 20:41:24     -300.067240        0.138619
BFGS:  179 20:41:24     -300.067240        0.138621
BFGS:  180 20:41:24     -300.067239        0.138614
BFGS:  181 20:41:24     -300.067239        0.138617
BFGS:  182 20:41:24     -300.067239        0.138624
BFGS:  183 20:41:24     -300.067240        0.138624
BFGS:  184 20:41:25     -300.067240        0.138618
BFGS:  185 20:41:25     -300.067240        0.138619
BFGS:  186 20:41:25     -300.067240        0.138621
BFGS:  187 20:41:25     -300.067240        0.138622
BFGS:  188 20:41:25     -300.067240        0.138617
BFGS:  189 20:41:25     -300.067240        0.138625
BFGS:  190 20:41:25     -300.067240        0.138618
BFGS:  191 20:41:25     -300.067240        0.138619
BFGS:  192 20:41:25     -300.067239        0.138618
BFGS:  193 20:41:26     -300.067238        0.138620
BFGS:  194 20:41:26     -300.067240        0.138631
BFGS:  195 20:41:26     -300.067240        0.138615
BFGS:  196 20:41:26     -300.067240        0.138623
BFGS:  197 20:41:26     -300.067240        0.138619
BFGS:  198 20:41:26     -300.067239        0.138625
BFGS:  199 20:41:26     -300.067240        0.138621
BFGS:  200 20:41:26     -300.067240        0.138614
      Step     Time          Energy          fmax
BFGS:    0 20:41:26     -297.098621        4.705476
BFGS:    1 20:41:27     -297.572873        4.864909
BFGS:    2 20:41:27     -298.829566        4.018405
BFGS:    3 20:41:27     -299.342299        3.385299
BFGS:    4 20:41:27     -299.516673        2.014150
BFGS:    5 20:41:27     -299.979705        1.266973
BFGS:    6 20:41:27     -300.043122        1.278545
BFGS:    7 20:41:27     -300.111961        1.290400
BFGS:    8 20:41:27     -300.418428        1.244393
BFGS:    9 20:41:27     -300.428500        1.467472
BFGS:   10 20:41:28     -300.518647        0.876598
BFGS:   11 20:41:28     -300.537331        0.710069
BFGS:   12 20:41:28     -300.570877        0.605557
BFGS:   13 20:41:28     -300.584998        0.521704
BFGS:   14 20:41:28     -300.604790        0.314788
BFGS:   15 20:41:28     -300.609414        0.228293
BFGS:   16 20:41:28     -300.616127        0.176327
BFGS:   17 20:41:28     -300.619922        0.147614
BFGS:   18 20:41:28     -300.621740        0.099127
BFGS:   19 20:41:28     -300.622598        0.073837
BFGS:   20 20:41:29     -300.623235        0.057980
BFGS:   21 20:41:29     -300.623849        0.076121
BFGS:   22 20:41:29     -300.624383        0.076046
BFGS:   23 20:41:29     -300.624740        0.053306
BFGS:   24 20:41:29     -300.624942        0.041098
      Step     Time          Energy          fmax
BFGS:    0 20:41:29     -296.657060        4.518285
BFGS:    1 20:41:29     -297.117767        4.726771
BFGS:    2 20:41:29     -298.447194        3.735501
BFGS:    3 20:41:29     -298.588011        6.149721
BFGS:    4 20:41:30     -298.878858        2.006195
BFGS:    5 20:41:30     -298.989025        1.811242
BFGS:    6 20:41:30     -299.421244        2.209160
BFGS:    7 20:41:30     -299.771095        2.095207
BFGS:    8 20:41:30     -299.891796        1.596280
BFGS:    9 20:41:30     -300.002050        1.465091
BFGS:   10 20:41:30     -300.287356        1.394028
BFGS:   11 20:41:30     -300.486264        0.967845
BFGS:   12 20:41:30     -300.524090        0.795966
BFGS:   13 20:41:31     -300.569902        0.472746
BFGS:   14 20:41:31     -300.581409        0.452989
BFGS:   15 20:41:31     -300.603949        0.355707
BFGS:   16 20:41:31     -300.610949        0.229142
BFGS:   17 20:41:31     -300.614240        0.158004
BFGS:   18 20:41:31     -300.617292        0.166341
BFGS:   19 20:41:31     -300.619148        0.185776
BFGS:   20 20:41:31     -300.621145        0.166051
BFGS:   21 20:41:31     -300.623027        0.111310
BFGS:   22 20:41:32     -300.624230        0.044322
      Step     Time          Energy          fmax
BFGS:    0 20:41:32     -296.527608        4.467168
BFGS:    1 20:41:32     -296.995366        4.689952
BFGS:    2 20:41:32     -298.370850        3.604690
BFGS:    3 20:41:32     -298.312862        7.544466
BFGS:    4 20:41:32     -298.729065        1.994546
BFGS:    5 20:41:32     -298.821942        1.573546
BFGS:    6 20:41:32     -299.099349        2.741164
BFGS:    7 20:41:32     -299.386876        2.998835
BFGS:    8 20:41:33     -299.525460        2.245864
BFGS:    9 20:41:33     -299.647120        1.799995
BFGS:   10 20:41:33     -299.880522        1.045114
BFGS:   11 20:41:33     -299.968890        1.073426
BFGS:   12 20:41:33     -300.032015        1.220608
BFGS:   13 20:41:33     -300.102459        1.405324
BFGS:   14 20:41:33     -300.218486        1.563452
BFGS:   15 20:41:33     -300.315224        1.356165
BFGS:   16 20:41:33     -300.451510        1.415644
BFGS:   17 20:41:34     -300.494673        0.937710
BFGS:   18 20:41:34     -300.539066        0.492227
BFGS:   19 20:41:34     -300.555462        0.566577
BFGS:   20 20:41:34     -300.584321        0.496563
BFGS:   21 20:41:34     -300.602847        0.357905
BFGS:   22 20:41:34     -300.613328        0.190246
BFGS:   23 20:41:34     -300.616798        0.154302
BFGS:   24 20:41:34     -300.618720        0.126638
BFGS:   25 20:41:34     -300.620883        0.125464
BFGS:   26 20:41:34     -300.622835        0.077002
BFGS:   27 20:41:35     -300.623911        0.041200
      Step     Time          Energy          fmax
BFGS:    0 20:41:35     -297.573078        4.879999
BFGS:    1 20:41:35     -298.071974        4.937277
BFGS:    2 20:41:35     -299.278471        3.603525
BFGS:    3 20:41:35     -299.652884        3.054758
BFGS:    4 20:41:35     -299.795904        1.587728
BFGS:    5 20:41:35     -299.989784        1.496763
BFGS:    6 20:41:35     -300.191757        1.551100
BFGS:    7 20:41:35     -300.277835        1.401075
BFGS:    8 20:41:36     -300.414357        1.348658
BFGS:    9 20:41:36     -300.508815        0.728916
BFGS:   10 20:41:36     -300.568878        0.613529
BFGS:   11 20:41:36     -300.586018        0.437208
BFGS:   12 20:41:36     -300.596855        0.335675
BFGS:   13 20:41:36     -300.602720        0.257299
BFGS:   14 20:41:36     -300.609422        0.275479
BFGS:   15 20:41:36     -300.615636        0.270229
BFGS:   16 20:41:36     -300.618952        0.183003
BFGS:   17 20:41:37     -300.620991        0.143854
BFGS:   18 20:41:37     -300.622553        0.117667
BFGS:   19 20:41:37     -300.623537        0.082611
BFGS:   20 20:41:37     -300.624052        0.057533
BFGS:   21 20:41:37     -300.624384        0.055589
BFGS:   22 20:41:37     -300.624663        0.060564
BFGS:   23 20:41:37     -300.624897        0.046163
      Step     Time          Energy          fmax
BFGS:    0 20:41:37     -296.100018        4.399712
BFGS:    1 20:41:37     -296.610379        4.719300
BFGS:    2 20:41:38     -298.200217        3.200408
BFGS:    3 20:41:38     -297.156481       14.313156
BFGS:    4 20:41:38     -298.401221        1.909769
BFGS:    5 20:41:38     -298.466535        1.065208
BFGS:    6 20:41:38     -298.505185        0.762205
BFGS:    7 20:41:38     -298.512626        0.546719
BFGS:    8 20:41:38     -298.533312        0.426632
BFGS:    9 20:41:38     -298.539692        0.504680
BFGS:   10 20:41:38     -298.549227        0.582736
BFGS:   11 20:41:39     -298.569738        0.707321
BFGS:   12 20:41:39     -298.641026        1.286518
BFGS:   13 20:41:39     -298.682189        2.175858
BFGS:   14 20:41:39     -298.790031        1.320838
BFGS:   15 20:41:39     -298.924786        1.564411
BFGS:   16 20:41:39     -299.020359        2.184260
BFGS:   17 20:41:39     -298.998940        6.348783
BFGS:   18 20:41:39     -299.498873        1.959759
BFGS:   19 20:41:39     -299.671971        1.598666
BFGS:   20 20:41:39     -299.753569        2.533398
BFGS:   21 20:41:40     -299.830368        0.699218
BFGS:   22 20:41:40     -299.851711        0.514056
BFGS:   23 20:41:40     -299.877162        0.782317
BFGS:   24 20:41:40     -299.895683        0.657759
BFGS:   25 20:41:40     -299.920708        0.397316
BFGS:   26 20:41:40     -299.925354        0.319205
BFGS:   27 20:41:40     -299.931847        0.276746
BFGS:   28 20:41:40     -299.938644        0.350021
BFGS:   29 20:41:40     -299.949542        0.474459
BFGS:   30 20:41:41     -299.958775        0.497941
BFGS:   31 20:41:41     -299.967638        0.474488
BFGS:   32 20:41:41     -299.983000        0.454441
BFGS:   33 20:41:41     -300.000496        0.586398
BFGS:   34 20:41:41     -300.017995        0.673191
BFGS:   35 20:41:41     -300.033120        0.559811
BFGS:   36 20:41:41     -300.042017        0.495280
BFGS:   37 20:41:41     -300.055252        0.275167
BFGS:   38 20:41:41     -300.060350        0.198028
BFGS:   39 20:41:42     -300.066403        0.118002
BFGS:   40 20:41:42     -300.068666        0.076394
BFGS:   41 20:41:42     -300.070250        0.065628
BFGS:   42 20:41:42     -300.071299        0.059431
BFGS:   43 20:41:42     -300.071836        0.045943
      Step     Time          Energy          fmax
BFGS:    0 20:41:42     -297.432832        4.823551
BFGS:    1 20:41:42     -297.929690        4.910306
BFGS:    2 20:41:42     -299.164609        3.655191
BFGS:    3 20:41:42     -299.533252        3.354678
BFGS:    4 20:41:43     -299.679312        1.561542
BFGS:    5 20:41:43     -299.829791        1.352537
BFGS:    6 20:41:43     -300.014705        1.324907
BFGS:    7 20:41:43     -300.077454        1.318892
BFGS:    8 20:41:43     -300.247883        1.341489
BFGS:    9 20:41:43     -300.360999        1.214299
BFGS:   10 20:41:43     -300.472028        0.969382
BFGS:   11 20:41:43     -300.530867        0.899597
BFGS:   12 20:41:43     -300.560269        0.623659
BFGS:   13 20:41:44     -300.575876        0.331348
BFGS:   14 20:41:44     -300.587053        0.301056
BFGS:   15 20:41:44     -300.604342        0.388212
BFGS:   16 20:41:44     -300.612247        0.326687
BFGS:   17 20:41:44     -300.618182        0.194691
BFGS:   18 20:41:44     -300.621123        0.120016
BFGS:   19 20:41:44     -300.622449        0.067310
BFGS:   20 20:41:44     -300.622998        0.067152
BFGS:   21 20:41:44     -300.623481        0.062243
BFGS:   22 20:41:45     -300.624015        0.074545
BFGS:   23 20:41:45     -300.624555        0.074438
BFGS:   24 20:41:45     -300.624940        0.046503
product2_energies = []
for config in product2_configs:
    config.calc = calc
    config.pbc = True
    opt = BFGS(config)
    opt.run(fmax=0.05, steps=200)
    product2_energies.append(config.get_potential_energy())
      Step     Time          Energy          fmax
BFGS:    0 20:41:45     -295.452697        1.079149
BFGS:    1 20:41:45     -295.515224        1.002313
BFGS:    2 20:41:45     -295.725671        0.972257
BFGS:    3 20:41:45     -295.748542        0.533180
BFGS:    4 20:41:45     -295.759953        0.519500
BFGS:    5 20:41:45     -295.808135        0.597877
BFGS:    6 20:41:45     -295.819682        0.565773
BFGS:    7 20:41:46     -295.876598        0.618736
BFGS:    8 20:41:46     -295.894732        0.388392
BFGS:    9 20:41:46     -295.908570        0.387196
BFGS:   10 20:41:46     -295.914217        0.379601
BFGS:   11 20:41:46     -295.923363        0.325492
BFGS:   12 20:41:46     -295.933460        0.306019
BFGS:   13 20:41:46     -295.941262        0.265476
BFGS:   14 20:41:46     -295.945650        0.253234
BFGS:   15 20:41:46     -295.950822        0.210354
BFGS:   16 20:41:47     -295.956761        0.157057
BFGS:   17 20:41:47     -295.962185        0.106500
BFGS:   18 20:41:47     -295.964540        0.074278
BFGS:   19 20:41:47     -295.965264        0.076288
BFGS:   20 20:41:47     -295.965680        0.069057
BFGS:   21 20:41:47     -295.966213        0.052513
BFGS:   22 20:41:47     -295.966849        0.040538
      Step     Time          Energy          fmax
BFGS:    0 20:41:47     -295.102239        1.744000
BFGS:    1 20:41:47     -295.216724        1.566393
BFGS:    2 20:41:48     -295.387324        2.597703
BFGS:    3 20:41:48     -295.490645        0.448127
BFGS:    4 20:41:48     -295.507900        0.601554
BFGS:    5 20:41:48     -295.528228        0.656537
BFGS:    6 20:41:48     -295.545907        0.452597
BFGS:    7 20:41:48     -295.552719        0.198225
BFGS:    8 20:41:48     -295.556958        0.269203
BFGS:    9 20:41:48     -295.562447        0.291665
BFGS:   10 20:41:48     -295.566175        0.217239
BFGS:   11 20:41:49     -295.568245        0.094731
BFGS:   12 20:41:49     -295.568565        0.019820
      Step     Time          Energy          fmax
BFGS:    0 20:41:49     -295.188470        1.504279
BFGS:    1 20:41:49     -295.282695        1.360723
BFGS:    2 20:41:49     -295.470850        2.084760
BFGS:    3 20:41:49     -295.542082        0.487382
BFGS:    4 20:41:49     -295.555210        0.574422
BFGS:    5 20:41:49     -295.578932        0.501234
BFGS:    6 20:41:49     -295.588214        0.253890
BFGS:    7 20:41:50     -295.593242        0.285034
BFGS:    8 20:41:50     -295.598925        0.326352
BFGS:    9 20:41:50     -295.604517        0.292033
BFGS:   10 20:41:50     -295.609540        0.228866
BFGS:   11 20:41:50     -295.612106        0.230084
BFGS:   12 20:41:50     -295.614055        0.294711
BFGS:   13 20:41:50     -295.619431        0.457844
BFGS:   14 20:41:50     -295.647260        0.930279
BFGS:   15 20:41:50     -295.741582        0.883914
BFGS:   16 20:41:51     -295.851188        0.650060
BFGS:   17 20:41:51     -295.900184        0.582415
BFGS:   18 20:41:51     -295.912803        0.397104
BFGS:   19 20:41:51     -295.935603        0.271239
BFGS:   20 20:41:51     -295.947259        0.249322
BFGS:   21 20:41:51     -295.952770        0.229842
BFGS:   22 20:41:51     -295.955769        0.183610
BFGS:   23 20:41:51     -295.959004        0.151238
BFGS:   24 20:41:51     -295.962341        0.117359
BFGS:   25 20:41:52     -295.964325        0.087713
BFGS:   26 20:41:52     -295.965125        0.089900
BFGS:   27 20:41:52     -295.965685        0.080879
BFGS:   28 20:41:52     -295.966382        0.060870
BFGS:   29 20:41:52     -295.966986        0.040909
      Step     Time          Energy          fmax
BFGS:    0 20:41:52     -295.334272        1.244902
BFGS:    1 20:41:52     -295.408271        1.138632
BFGS:    2 20:41:52     -295.616898        1.363998
BFGS:    3 20:41:52     -295.651231        0.581670
BFGS:    4 20:41:52     -295.662149        0.492252
BFGS:    5 20:41:53     -295.700781        0.515332
BFGS:    6 20:41:53     -295.707688        0.508821
BFGS:    7 20:41:53     -295.784321        0.513028
BFGS:    8 20:41:53     -295.798533        0.655702
BFGS:    9 20:41:53     -295.811050        0.576440
BFGS:   10 20:41:53     -295.827831        0.502066
BFGS:   11 20:41:53     -295.858867        0.258688
BFGS:   12 20:41:53     -295.862216        0.215744
BFGS:   13 20:41:53     -295.864627        0.232078
BFGS:   14 20:41:54     -295.870388        0.241876
BFGS:   15 20:41:54     -295.875990        0.251496
BFGS:   16 20:41:54     -295.880759        0.280170
BFGS:   17 20:41:54     -295.884467        0.281507
BFGS:   18 20:41:54     -295.888932        0.266565
BFGS:   19 20:41:54     -295.895592        0.415705
BFGS:   20 20:41:54     -295.910961        0.643647
BFGS:   21 20:41:54     -295.925303        0.752870
BFGS:   22 20:41:54     -295.942533        0.437212
BFGS:   23 20:41:55     -295.955187        0.156810
BFGS:   24 20:41:55     -295.958767        0.119602
BFGS:   25 20:41:55     -295.961734        0.106719
BFGS:   26 20:41:55     -295.964177        0.089045
BFGS:   27 20:41:55     -295.965826        0.062650
BFGS:   28 20:41:55     -295.966576        0.045626
      Step     Time          Energy          fmax
BFGS:    0 20:41:55     -295.556412        0.893434
BFGS:    1 20:41:55     -295.611452        0.842365
BFGS:    2 20:41:55     -295.811753        0.625547
BFGS:    3 20:41:56     -295.829335        0.495276
BFGS:    4 20:41:56     -295.837781        0.499342
BFGS:    5 20:41:56     -295.884775        0.490451
BFGS:    6 20:41:56     -295.892082        0.464412
BFGS:    7 20:41:56     -295.918327        0.349758
BFGS:    8 20:41:56     -295.922069        0.320648
BFGS:    9 20:41:56     -295.928409        0.301172
BFGS:   10 20:41:56     -295.934704        0.281775
BFGS:   11 20:41:56     -295.944229        0.236600
BFGS:   12 20:41:57     -295.950883        0.227360
BFGS:   13 20:41:57     -295.956084        0.240959
BFGS:   14 20:41:57     -295.959097        0.195916
BFGS:   15 20:41:57     -295.962019        0.123855
BFGS:   16 20:41:57     -295.964812        0.064458
BFGS:   17 20:41:57     -295.966275        0.046436
      Step     Time          Energy          fmax
BFGS:    0 20:41:57     -295.160964        1.565854
BFGS:    1 20:41:57     -295.260571        1.413164
BFGS:    2 20:41:57     -295.444047        2.223374
BFGS:    3 20:41:58     -295.523719        0.462667
BFGS:    4 20:41:58     -295.537828        0.582331
BFGS:    5 20:41:58     -295.560210        0.560222
BFGS:    6 20:41:58     -295.571394        0.318548
BFGS:    7 20:41:58     -295.576448        0.251523
BFGS:    8 20:41:58     -295.581312        0.306562
BFGS:    9 20:41:58     -295.586038        0.283510
BFGS:   10 20:41:58     -295.590096        0.196857
BFGS:   11 20:41:58     -295.591792        0.135914
BFGS:   12 20:41:59     -295.592448        0.157009
BFGS:   13 20:41:59     -295.593567        0.204363
BFGS:   14 20:41:59     -295.596522        0.305485
BFGS:   15 20:41:59     -295.609328        0.554992
BFGS:   16 20:41:59     -295.631622        0.754170
BFGS:   17 20:41:59     -295.642343        0.898736
BFGS:   18 20:41:59     -295.661401        0.660597
BFGS:   19 20:41:59     -295.681246        0.696201
BFGS:   20 20:41:59     -295.773853        0.794508
BFGS:   21 20:42:00     -295.764092        1.001066
BFGS:   22 20:42:00     -295.812361        0.340729
BFGS:   23 20:42:00     -295.829022        0.328599
BFGS:   24 20:42:00     -295.835473        0.258362
BFGS:   25 20:42:00     -295.843251        0.245027
BFGS:   26 20:42:00     -295.849020        0.223899
BFGS:   27 20:42:00     -295.853838        0.159640
BFGS:   28 20:42:00     -295.856070        0.161404
BFGS:   29 20:42:00     -295.858181        0.154975
BFGS:   30 20:42:00     -295.859769        0.152759
BFGS:   31 20:42:01     -295.861969        0.164229
BFGS:   32 20:42:01     -295.865263        0.209001
BFGS:   33 20:42:01     -295.869305        0.236963
BFGS:   34 20:42:01     -295.874151        0.244187
BFGS:   35 20:42:01     -295.884095        0.324350
BFGS:   36 20:42:01     -295.899691        0.378599
BFGS:   37 20:42:01     -295.916821        0.343203
BFGS:   38 20:42:01     -295.942513        0.260082
BFGS:   39 20:42:01     -295.946490        0.208509
BFGS:   40 20:42:02     -295.956445        0.146057
BFGS:   41 20:42:02     -295.958631        0.125347
BFGS:   42 20:42:02     -295.963720        0.078850
BFGS:   43 20:42:02     -295.965659        0.072033
BFGS:   44 20:42:02     -295.966776        0.061641
BFGS:   45 20:42:02     -295.967159        0.051575
BFGS:   46 20:42:02     -295.967360        0.040372
      Step     Time          Energy          fmax
BFGS:    0 20:42:02     -295.735730        0.692690
BFGS:    1 20:42:02     -295.781639        0.618212
BFGS:    2 20:42:03     -295.942188        0.336273
BFGS:    3 20:42:03     -295.949836        0.308092
BFGS:    4 20:42:03     -295.951521        0.289220
BFGS:    5 20:42:03     -295.963151        0.129928
BFGS:    6 20:42:03     -295.964069        0.115868
BFGS:    7 20:42:03     -295.965908        0.068246
BFGS:    8 20:42:03     -295.966576        0.054420
BFGS:    9 20:42:04     -295.966972        0.041601
      Step     Time          Energy          fmax
BFGS:    0 20:42:04     -295.100570        1.751410
BFGS:    1 20:42:04     -295.215651        1.572227
BFGS:    2 20:42:04     -295.386671        2.601012
BFGS:    3 20:42:04     -295.490050        0.450307
BFGS:    4 20:42:04     -295.507347        0.602375
BFGS:    5 20:42:04     -295.527700        0.657670
BFGS:    6 20:42:04     -295.545613        0.453480
BFGS:    7 20:42:04     -295.552456        0.198065
BFGS:    8 20:42:05     -295.556689        0.268494
BFGS:    9 20:42:05     -295.562268        0.291826
BFGS:   10 20:42:05     -295.566002        0.218085
BFGS:   11 20:42:05     -295.568093        0.095574
BFGS:   12 20:42:05     -295.568417        0.019629
      Step     Time          Energy          fmax
BFGS:    0 20:42:05     -295.565956        0.719168
BFGS:    1 20:42:05     -295.619544        0.645114
BFGS:    2 20:42:05     -295.802540        0.463553
BFGS:    3 20:42:05     -295.815239        0.277564
BFGS:    4 20:42:05     -295.818528        0.274519
BFGS:    5 20:42:06     -295.832054        0.219016
BFGS:    6 20:42:06     -295.833470        0.188794
BFGS:    7 20:42:06     -295.836669        0.132655
BFGS:    8 20:42:06     -295.837635        0.071933
BFGS:    9 20:42:06     -295.837951        0.053194
BFGS:   10 20:42:06     -295.838092        0.052143
BFGS:   11 20:42:06     -295.838335        0.046400
      Step     Time          Energy          fmax
BFGS:    0 20:42:06     -295.099565        1.756451
BFGS:    1 20:42:06     -295.215063        1.576568
BFGS:    2 20:42:07     -295.385379        2.614005
BFGS:    3 20:42:07     -295.489635        0.453433
BFGS:    4 20:42:07     -295.507038        0.602496
BFGS:    5 20:42:07     -295.527340        0.659488
BFGS:    6 20:42:07     -295.545428        0.456973
BFGS:    7 20:42:07     -295.552364        0.197015
BFGS:    8 20:42:07     -295.556589        0.267340
BFGS:    9 20:42:07     -295.562232        0.292039
BFGS:   10 20:42:07     -295.565965        0.219434
BFGS:   11 20:42:08     -295.568087        0.096722
BFGS:   12 20:42:08     -295.568418        0.019801

Enumerate NEBs#

af = AutoFrameDissociation(
    reaction=reaction,
    reactant_system=reactant_configs[reactant_energies.index(min(reactant_energies))],
    product1_systems=product1_configs,
    product1_energies=product1_energies,
    product2_systems=product2_configs,
    product2_energies=product2_energies,
    r_product1_max=2,  # r1 in the above fig
    r_product2_max=3,  # r3 in the above fig
    r_product2_min=1,  # r2 in the above fig
)
import random

nframes = 10
random.seed(
    42
)  # set the seed to make the random generation deterministic for the tutorial!
frame_sets, mapping_idxs = af.get_neb_frames(
    calc,
    n_frames=nframes,
    n_pdt1_sites=4,  # = 5 in the above fig (step 1)
    n_pdt2_sites=4,  # = 5 in the above fig (step 2)
)
      Step     Time          Energy          fmax
BFGS:    0 20:42:08     -303.714870        0.857979
BFGS:    1 20:42:08     -303.735765        0.666990
BFGS:    2 20:42:08     -303.793673        0.617194
BFGS:    3 20:42:08     -303.823729        0.760379
BFGS:    4 20:42:08     -303.849208        0.768039
BFGS:    5 20:42:08     -303.877182        0.541785
BFGS:    6 20:42:08     -303.909501        0.332359
BFGS:    7 20:42:09     -303.913775        0.258388
BFGS:    8 20:42:09     -303.920161        0.152144
BFGS:    9 20:42:09     -303.922655        0.130410
BFGS:   10 20:42:09     -303.924154        0.124676
BFGS:   11 20:42:09     -303.925024        0.223302
BFGS:   12 20:42:09     -303.926024        0.154633
BFGS:   13 20:42:09     -303.927521        0.080261
BFGS:   14 20:42:09     -303.928292        0.083935
BFGS:   15 20:42:09     -303.928948        0.084367
BFGS:   16 20:42:10     -303.929313        0.076005
BFGS:   17 20:42:10     -303.929710        0.063651
BFGS:   18 20:42:10     -303.930294        0.077877
BFGS:   19 20:42:10     -303.931132        0.116936
BFGS:   20 20:42:10     -303.931899        0.108029
BFGS:   21 20:42:10     -303.932262        0.060684
BFGS:   22 20:42:10     -303.932381        0.029606
      Step     Time          Energy          fmax
BFGS:    0 20:42:10     -303.702715        0.888461
BFGS:    1 20:42:11     -303.724813        0.675662
BFGS:    2 20:42:11     -303.777375        0.621644
BFGS:    3 20:42:11     -303.808372        0.715062
BFGS:    4 20:42:11     -303.838694        0.814998
BFGS:    5 20:42:11     -303.864748        0.594220
BFGS:    6 20:42:11     -303.908695        0.309238
BFGS:    7 20:42:11     -303.912744        0.287690
BFGS:    8 20:42:11     -303.919599        0.157504
BFGS:    9 20:42:11     -303.922591        0.128783
BFGS:   10 20:42:12     -303.924163        0.112109
BFGS:   11 20:42:12     -303.925231        0.144341
BFGS:   12 20:42:12     -303.926455        0.139673
BFGS:   13 20:42:12     -303.927534        0.099530
BFGS:   14 20:42:12     -303.928350        0.104350
BFGS:   15 20:42:12     -303.928865        0.086121
BFGS:   16 20:42:12     -303.929281        0.090370
BFGS:   17 20:42:12     -303.929786        0.082408
BFGS:   18 20:42:12     -303.930479        0.125394
BFGS:   19 20:42:13     -303.931337        0.139970
BFGS:   20 20:42:13     -303.931988        0.095263
BFGS:   21 20:42:13     -303.932245        0.038277
      Step     Time          Energy          fmax
BFGS:    0 20:42:13     -303.719322        0.927046
BFGS:    1 20:42:13     -303.741923        0.720178
BFGS:    2 20:42:13     -303.800676        0.612393
BFGS:    3 20:42:13     -303.828716        0.704933
BFGS:    4 20:42:13     -303.854012        0.703135
BFGS:    5 20:42:13     -303.880186        0.493093
BFGS:    6 20:42:14     -303.909632        0.333946
BFGS:    7 20:42:14     -303.913617        0.248112
BFGS:    8 20:42:14     -303.919314        0.162542
BFGS:    9 20:42:14     -303.922373        0.108612
BFGS:   10 20:42:14     -303.923908        0.128147
BFGS:   11 20:42:14     -303.924928        0.146390
BFGS:   12 20:42:14     -303.926240        0.129390
BFGS:   13 20:42:14     -303.927442        0.103456
BFGS:   14 20:42:14     -303.928298        0.089866
BFGS:   15 20:42:15     -303.928775        0.085698
BFGS:   16 20:42:15     -303.929193        0.086318
BFGS:   17 20:42:15     -303.929780        0.076682
BFGS:   18 20:42:15     -303.930587        0.129007
BFGS:   19 20:42:15     -303.931444        0.138974
BFGS:   20 20:42:15     -303.932009        0.091488
BFGS:   21 20:42:15     -303.932230        0.038989
      Step     Time          Energy          fmax
BFGS:    0 20:42:15     -304.023198        0.770403
BFGS:    1 20:42:15     -304.046119        0.648281
BFGS:    2 20:42:16     -304.112210        0.535566
BFGS:    3 20:42:16     -304.122961        0.525298
BFGS:    4 20:42:16     -304.158815        0.467394
BFGS:    5 20:42:16     -304.176958        0.423121
BFGS:    6 20:42:16     -304.196060        0.508145
BFGS:    7 20:42:16     -304.214821        0.471965
BFGS:    8 20:42:16     -304.238115        0.554439
BFGS:    9 20:42:16     -304.273858        0.752350
BFGS:   10 20:42:16     -304.322885        0.817181
BFGS:   11 20:42:17     -304.354274        0.567979
BFGS:   12 20:42:17     -304.385069        0.445977
BFGS:   13 20:42:17     -304.398318        0.453840
BFGS:   14 20:42:17     -304.418860        0.337525
BFGS:   15 20:42:17     -304.432522        0.317086
BFGS:   16 20:42:17     -304.441199        0.210126
BFGS:   17 20:42:17     -304.444960        0.167322
BFGS:   18 20:42:17     -304.447288        0.136458
BFGS:   19 20:42:17     -304.448716        0.095193
BFGS:   20 20:42:18     -304.449529        0.063796
BFGS:   21 20:42:18     -304.450076        0.091508
BFGS:   22 20:42:18     -304.450663        0.100472
BFGS:   23 20:42:18     -304.451287        0.078511
BFGS:   24 20:42:18     -304.451743        0.046707
/home/runner/work/fairchem/fairchem/src/fairchem/applications/cattsunami/core/autoframe.py:1551: UserWarning: torch.range is deprecated and will be removed in a future release because its behavior is inconsistent with Python's range builtin. Instead, use torch.arange, which produces values in [start, end).
  alpha = torch.range(0, num_frames - 1, device=device) / (num_frames - 1)

Run NEBs#

## This will run all NEBs enumerated - to just run one, run the code cell below.
# On GPU, each NEB takes an average of ~1 minute so this could take around a half hour on GPU
# But much longer on CPU
# Remember that not all NEBs will converge -- the k, nframes would be adjusted to achieve convergence

fmax = 0.05  # [eV / ang**2]
delta_fmax_climb = 0.4
converged_idxs = []

for idx, frame_set in enumerate(frame_sets):
    neb = DyNEB(frame_set, k=1)
    for image in frame_set:
        image.calc = FAIRChemCalculator(predictor, task_name="oc20")

    optimizer = BFGS(
        neb,
        trajectory=f"ch_dissoc_on_Ru_{idx}.traj",
    )
    conv = optimizer.run(fmax=fmax + delta_fmax_climb, steps=200)
    if conv:
        neb.climb = True
        conv = optimizer.run(fmax=fmax, steps=300)
        if conv:
            converged_idxs.append(idx)

print(converged_idxs)

This cell will run a shorter calculations for just a single one of the enumerated transition state pathways. You can adapt this code to run transition state searches via nudged elastic band (NEB) calculations for any reaction.

# If you run the above cell -- dont run this one
fmax = 0.05  # [eV / ang**2]
delta_fmax_climb = 0.4
images = frame_sets[0]
neb = DyNEB(images, k=1)
for image in images:
    image.calc = FAIRChemCalculator(predictor, task_name="oc20")

optimizer = BFGS(
    neb,
    trajectory="ch_dissoc_on_Ru_0.traj",
)
conv = optimizer.run(fmax=fmax + delta_fmax_climb, steps=200)
if conv:
    neb.climb = True
    conv = optimizer.run(fmax=fmax, steps=300)
      Step     Time          Energy          fmax
BFGS:    0 20:42:30     -303.002733        3.688080
BFGS:    1 20:42:30     -303.122488        2.858531
BFGS:    2 20:42:31     -303.324532       11.226336
BFGS:    3 20:42:32     -303.292458        2.005488
BFGS:    4 20:42:33     -303.349120        1.705134
BFGS:    5 20:42:34     -303.484337        2.672965
BFGS:    6 20:42:35     -303.515568        1.049613
BFGS:    7 20:42:36     -303.590754        0.913893
BFGS:    8 20:42:37     -303.615371        0.929175
BFGS:    9 20:42:38     -303.655371        0.604778
BFGS:   10 20:42:39     -303.672627        0.656873
BFGS:   11 20:42:40     -303.681016        0.476725
BFGS:   12 20:42:41     -303.678307        0.419314
BFGS:   13 20:42:42     -303.673888        0.373704
BFGS:   14 20:42:43     -303.674435        0.341016
BFGS:   15 20:42:44     -303.672907        0.282197
BFGS:   16 20:42:45     -303.669216        0.222230
BFGS:   17 20:42:46     -303.666258        0.166528
BFGS:   18 20:42:46     -303.664948        0.132998
BFGS:   19 20:42:47     -303.664035        0.132370
BFGS:   20 20:42:48     -303.663446        0.114821
BFGS:   21 20:42:49     -303.663246        0.110326
BFGS:   22 20:42:50     -303.663463        0.108008
BFGS:   23 20:42:50     -303.664207        0.099396
BFGS:   24 20:42:51     -303.664908        0.112363
BFGS:   25 20:42:52     -303.664812        0.109589
BFGS:   26 20:42:53     -303.664228        0.108102
BFGS:   27 20:42:53     -303.663564        0.094045
BFGS:   28 20:42:54     -303.663571        0.076345
BFGS:   29 20:42:54     -303.663571        0.065343
BFGS:   30 20:42:54     -303.663571        0.053849
BFGS:   31 20:42:55     -303.663571        0.048429

Visualize the results#

Finally, let’s visualize the results!

optimized_neb = read("ch_dissoc_on_Ru_0.traj", ":")[-1 * nframes :]
es = []
for frame in optimized_neb:
    frame.set_calculator(calc)
    es.append(frame.get_potential_energy())
/tmp/ipykernel_4276/3247994494.py:3: FutureWarning: Please use atoms.calc = calc
  frame.set_calculator(calc)
# Plot the reaction coordinate

es = [e - es[0] for e in es]
plt.plot(es)
plt.xlabel("frame number")
plt.ylabel("relative energy [eV]")
plt.title(f"CH dissociation on Ru(0001), Ea = {max(es):1.2f} eV")
plt.savefig("CH_dissoc_on_Ru_0001.png")
../../_images/4633d0c8d4d2c2e92e554e59f3a8040b99eb617cc1942935e678e236c60e5675.png

To generalize an interactive visualization, use ase gui from the command line or the X3D package

# Make an interative html file of the optimized neb trajectory
x3d = X3D(optimized_neb)
x3d.write("optimized_neb_ch_disoc_on_Ru0001.html")