.. index:: single: Reaction path single: PES single: Transition state single: IRC single: Intrinsic reaction coordinate single: Optimization; Transition state .. _TUT\:sec\:path: Computing a reaction path ========================= .. only:: html .. contents:: :local: :backlinks: none Chemists are familiarized with the description of a chemical reaction as a continuous motion on certain path of the potential energy hypersurfaces connecting reactants with products. Those are considered minima in the hypersurface while an intermediate state known as the transition state would be a saddle point of higher energy. The height of the energy barrier separating reactants from products relates to the overall rate of reaction, the positions of the minima along the reaction coordinate give the equilibrium geometries of the species, and the relative energies relate to the thermodynamics of the process. All this is known as transition state theory. The process to study a chemical reaction starts by obtaining proper geometries for reactants and products, follows by finding the position of the transition state, and finishes by computing as accurately as possible the relative energies relating the position of the species. To perform geometry optimizations searching for true minima in the potential energy surfaces (PES) is by now a well-established procedure (see :numref:`TUT:sec:optim`). An stationary point in the PES is characterized by having all the first derivatives of the energy with respect to each one of the independent coordinates equal to zero and the second derivatives larger than zero. First-order saddle points, on the contrary, have their second derivatives lower than zero for one coordinate, that is, they are maxima along this coordinate. A transition state is defined as a saddle point having only one negative second derivative along the specific coordinate known as the reaction coordinate. To simplify the treatment a special set of coordinates known as normal coordinates is defined in a way that the matrix of second derivatives is diagonal. A transition state will have one negative value in the diagonal of such a matrix. Finally once the reactant, product and transition state geometries have been established one could perform a Intrinsic Reaction Coordinate (IRC) analysis. This to find the energy profile of the reaction and also to establish that the found transition state is connected to the reactant and the product. .. index:: single: Transition state Studying a reaction ------------------- The localization of the transition state of a reaction is of importance in both a qualitative and quantitative description of the reaction mechanism and the thermodynamics of a reaction. In the following example we will locate the transition state of the proton transfer reaction between the two species in :numref:`Figures %s ` and :numref:`%s `. The example selected here is chosen to demonstrate the steps needed to find a transition state. For that sake we have limited our model to the SCF level of theory. .. figure:: job0.* :name: fig:job0 :width: 50% :align: center Reactant .. figure:: job5.* :name: fig:job5 :width: 50% :align: center Product Reactant and product .................... .. compound:: The first step is to establish the two species in equilibrium. These calculations would constitute standard geometry optimizations with the input for the reactant .. extractfile:: advanced/OPT.reactant.input >>> Do while <<< &Seward Basis set C.cc-pVDZ.... C1 -1.9385577715 0.0976565175 0.4007212526 C2 -2.4151209200 -0.0592579424 2.8519334864 C3 0.7343463765 0.0088689871 -0.7477660837 End of Basis Basis set H.cc-pVDZ.... H1 -4.3244501026 0.0091320829 3.6086029352 H2 -0.8591520071 -0.2642180524 4.1663142585 H3 -3.4743702487 0.3026128386 -0.9501874771 End of Basis Basis set O.cc-pVDZ.... O1 0.7692102769 0.1847569555 -3.0700425345 O2 2.4916838932 -0.2232135341 0.7607580753 End of Basis End of input >>> IF ( ITER = 1 ) <<< &SCF Core Charge = -1 >>> ENDIF <<< &SCF &End LUMORB Charge = -1 &Slapaf Iterations = 20 >>> EndDo <<< resulting in the following convergence pattern ::   Energy Grad Grad Step Estimated Hessian Geom Hessian Iter Energy Change Norm Max Element Max Element Final Energy Index Update Update 1 -265.09033194 0.00000000 0.091418 0.044965 nrc003 0.069275 nrc003 -265.09529138 0 RF(S) None 2 -265.09646330-0.00613136 0.020358 0.008890 nrc003 0.040393 nrc008 -265.09684474 0 RF(S) BFGS 3 -265.09693242-0.00046912 0.011611-0.005191 nrc001 0.079285 nrc016 -265.09709856 0 RF(S) BFGS 4 -265.09655626 0.00037616 0.020775-0.010792 nrc016-0.070551 nrc016 -265.09706324 0 RF(S) BFGS 5 -265.09706308-0.00050682 0.003309-0.001628 nrc003-0.010263 nrc017 -265.09707265 0 RF(S) BFGS 6 -265.09707056-0.00000747 0.000958-0.000450 nrc011 0.017307 nrc017 -265.09707924 0 RF(S) BFGS 7 -265.09706612 0.00000444 0.002451 0.001148 nrc003-0.011228 nrc018 -265.09706837 0 RF(S) BFGS 8 -265.09707550-0.00000938 0.000516 0.000220 nrc001-0.004017 nrc014 -265.09707591 0 RF(S) BFGS 9 -265.09707586-0.00000036 0.000286 0.000104 nrc001 0.002132 nrc017 -265.09707604 0 RF(S) BFGS .. Note: contains a nbsp and for the product the input .. extractfile:: advanced/OPT.product.input >>> Do while <<< &Seward Basis set C.cc-pVDZ.... C1 -2.0983667072 0.1000525724 0.5196668948 C2 -2.1177298783 -0.0920244467 3.0450747772 C3 0.5639781563 0.0024463770 -0.5245225314 End of Basis Basis set H.cc-pVDZ.... H1 -3.8870548756 -0.0558560582 4.1138131865 H2 -0.4133953535 -0.2946498869 4.2050068095 H3 -1.3495534119 0.3499572533 -3.3741881412 End of Basis Basis set O.cc-pVDZ.... O1 0.5100106099 0.2023808294 -3.0720173949 O2 2.5859515474 -0.2102046338 0.4795705925 End of Basis End of input >>> IF ( ITER = 1 ) <<< &SCF Core Charge = -1 >>> ENDIF <<< &SCF LUMORB Charge = -1 &Slapaf Iterations = 20 >>> EndDo <<< resulting in the following convergence pattern ::   Energy Grad Grad Step Estimated Hessian Geom Hessian Iter Energy Change Norm Max Element Max Element Final Energy Index Update Update 1 -265.02789209 0.00000000 0.062885-0.035740 nrc006-0.060778 nrc006 -265.02939600 0 RF(S) None 2 -265.02988181-0.00198972 0.018235-0.011496 nrc006-0.023664 nrc006 -265.03004886 0 RF(S) BFGS 3 -265.03005329-0.00017148 0.001631-0.000978 nrc009-0.015100 nrc017 -265.03006082 0 RF(S) BFGS 4 -265.03004953 0.00000376 0.002464-0.000896 nrc014 0.013752 nrc017 -265.03006022 0 RF(S) BFGS 5 -265.03006818-0.00001865 0.001059 0.000453 nrc013-0.007550 nrc014 -265.03007064 0 RF(S) BFGS 6 -265.03006524 0.00000294 0.001800 0.000778 nrc014 0.006710 nrc014 -265.03007032 0 RF(S) BFGS 7 -265.03006989-0.00000465 0.000381 0.000190 nrc005 0.003078 nrc016 -265.03007014 0 RF(S) BFGS 8 -265.03006997-0.00000008 0.000129-0.000094 nrc016-0.001305 nrc017 -265.03007003 0 RF(S) BFGS .. Note: contains a nsbp The computed reaction energy is estimated to about 42 kcal/mol at this level of theory. Transition state optimization ............................. To locate the transition state it is important to identify the reaction coordinate. In our case here we note that the significant reaction coordinates are the bond distances between C1 and H3, and O1 and H3. In the location of the transition state we will start from the geometry of the reactant for which the :math:`\ce{O{1}-H{3}}` bond distance is 2.51 Å. We will conduct the search in a number of constrained geometry optimizations in which we step by step reduce the :math:`\ce{O{1}-H{3}}` distance towards the distance in the product of 0.95 Å. The selected series is 2.0, 1.5, 1.3, and 1.0 Å. To constraint the :math:`\ce{O{1}-H{3}}` bond distance we modify the input to the :program:`GATEWAY` moduel by adding the following: :: Constraint R1 = Bond H3 O1 Value R1 = 2.0 Angstrom End of Constraint The :program:`SLAPAF` module's associated input looks like: :: &Slapaf &End Iterations 20 FindTS PRFC End of Input This will correspond to the input for the first of the series of constraint geometry optimization. However, note the keyword FindTS. This keyword will make the SLAPAF module switch from a constrained geometry optimization to a transition state geometry optimization if the updated geometrical Hessian contains one negative eigenvalue. It is of course our hope that during the series of constrained geometry optimizations that we will run into this situation and find the transition state. The convergence pattern for the first constrained optimization is ::   Energy Grad Grad Step Estimated Hessian Geom Hessian Iter Energy Change Norm Max Element Max Element Final Energy Index Update Update 1 -265.09707600 0.00000000 0.965614 0.965614 Cns001 0.230366* nrc009 -265.07671229 0 MFRFS None 2 -265.08759913 0.00947687 0.216939 0.214768 Cns001 0.081441 nrc012 -265.08946379 0 MFRFS MSP 3 -265.08218288 0.00541624 0.014770 0.007032 nrc010 0.019690 nrc010 -265.08242668 0 MFRFS MSP 4 -265.08251826-0.00033537 0.003644-0.001560 nrc003 0.005075 nrc002 -265.08254163 0 MFRFS MSP 5 -265.08254834-0.00003008 0.001274-0.000907 nrc012 0.026237! nrc016 -265.08257455 0 MFRFS MSP 6 -265.08251413 0.00003421 0.003036-0.002420 nrc016-0.024325 nrc016 -265.08254699 0 MFRFS MSP 7 -265.08254682-0.00003269 0.000837-0.000426 nrc012 0.012351 nrc017 -265.08255083 0 MFRFS MSP 8 -265.08255298-0.00000616 0.000470 0.000238 nrc016-0.005376 nrc017 -265.08255421 0 MFRFS MSP 9 -265.08255337-0.00000038 0.000329-0.000154 nrc012-0.004581 nrc014 -265.08255409 0 MFRFS MSP 10 -265.08255418-0.00000081 0.000206-0.000148 nrc012-0.000886 nrc014 -265.08255425 0 MFRFS MSP 11 -265.08255430-0.00000013 0.000123-0.000097 nrc012-0.001131 nrc014 -265.08255436 0 MFRFS MSP .. Note: contains a nbsp Here we note that the Hessian index is zero, i.e. the optimization is a constrained geometry optimization. The final structure is used as the starting geometry for the 2nd constrained optimization at 1.5 Å. This optimization did not find a negative eigenvalue either. However, starting the 3rd constrained optimization from the final structure of the 2nd constrained optimization resulted in the convergence pattern ::   Energy Grad Grad Step Estimated Hessian Geom Hessian Iter Energy Change Norm Max Element Max Element Final Energy Index Update Update 1 -265.03250948 0.00000000 0.384120 0.377945 Cns001-0.209028* nrc007 -264.99837542 0 MFRFS None 2 -265.01103140 0.02147809 0.120709 0.116546 Cns001-0.135181 nrc007 -265.01209656 0 MFRFS MSP 3 -265.00341440 0.00761699 0.121043-0.055983 nrc005-0.212301* nrc007 -264.98788416 1 MFRFS MSP 4 -264.99451339 0.00890101 0.089986 0.045423 nrc007 0.123178* nrc002 -264.99582814 1 MFRFS MSP 5 -264.99707885-0.00256546 0.044095-0.015003 nrc009 0.159069* nrc015 -265.00090995 1 MFRFS MSP 6 -264.99892919-0.00185034 0.033489-0.013653 nrc015-0.124146 nrc015 -265.00050567 1 MFRFS MSP 7 -265.00031159-0.00138240 0.009416-0.004916 nrc018-0.156924 nrc018 -265.00070286 1 MFRFS MSP 8 -265.00019076 0.00012083 0.009057 0.005870 nrc018 0.081240 nrc018 -265.00049408 1 MFRFS MSP 9 -265.00049567-0.00030490 0.003380 0.001481 nrc011-0.070124 nrc015 -265.00056966 1 MFRFS MSP 10 -265.00030276 0.00019291 0.159266-0.159144 Cns001 0.114927! nrc015 -264.99874954 0 MFRFS MSP 11 -265.00098377-0.00068101 0.031621-0.008700 nrc005-0.101187 nrc007 -265.00046906 1 MFRFS MSP 12 -265.00050857 0.00047520 0.003360 0.001719 nrc015 0.012580 nrc015 -265.00052069 1 MFRFS MSP 13 -265.00052089-0.00001233 0.001243-0.000590 nrc017-0.006069 nrc017 -265.00052323 1 MFRFS MSP 14 -265.00052429-0.00000340 0.000753 0.000259 nrc011-0.002449 nrc018 -265.00052458 1 MFRFS MSP 15 -265.00052441-0.00000011 0.000442-0.000136 nrc007 0.003334 nrc018 -265.00052464 1 MFRFS MSP 16 -265.00052435 0.00000006 0.000397 0.000145 nrc017 0.001628 nrc010 -265.00052459 1 MFRFS MSP .. Note: contains a nbsp Here a negative Hessian eigenvalue was found at iteration 3. At this point the optimization turn to a normal quasi-Newton--Raphson optimization without any constraints. We note that the procedure flips back to a constrained optimization at iteration 10 but is finished as an optimization for a transition state. The predicted activation energy is estimated to 60.6 kcal/mol (excluding vibrational corrections). The computed transition state is depicted in :numref:`fig:job3`. .. figure:: job3.* :name: fig:job3 :width: 50% :align: center Transition state The remaining issue is if this is a true transition state. This issue can only be resolved by doing a calculation of the analytical Hessian using the MCKINLEY module (execution of the MCLR module is automatic). The corresponding input is .. extractfile:: advanced/MCKINLEY.input &Seward Basis set C.cc-pVDZ.... C1 -1.8937541206 0.0797525492 0.5330826031 C2 -2.3239194706 -0.0748842444 3.0012862573 C3 0.7556108398 -0.0065134659 -0.5801137465 End of Basis Basis set H.cc-pVDZ.... H1 -4.2196708766 -0.0106202053 3.8051971560 H2 -0.7745261239 -0.2775291936 4.3506967746 H3 -1.9256618348 0.2927045555 -2.1370156139 End of Basis Basis set O.cc-pVDZ.... O1 0.2162486684 0.2196587542 -2.9675781183 O2 2.8171388123 -0.2187115071 0.3719375423 End of Basis End of input &SCF Charge = -1 &McKinley Perturbation Hessian .. compound:: From the output of the MCLR code ::   *********************************** * * * Harmonic frequencies in cm-1 * * Intensities in km/mole * * * * No correction due to curvlinear * * representations has been done * * * *********************************** Symmetry a ============== 1 2 3 4 5 6 Freq. i2027.40 i2.00 i0.07 0.05 0.07 2.02 ... 7 8 9 10 11 12 Freq. 3.57 145.36 278.41 574.44 675.27 759.94 ... 13 14 15 16 17 18 Freq. 927.78 943.60 1000.07 1225.34 1265.63 1442.57 ... 19 20 21 22 23 24 Freq. 1517.91 1800.86 1878.11 2294.83 3198.94 3262.66 we can conclude that we have one imaginary eigenvalue (modes 2--7 corresponds to the translational and rotational zero frequency modes) and that the structure found with this procedure indeed is a transition state. A post calculation analysis of the vibrational modes using the MOLDEN package confirm that the vibrational mode with the imaginary frequency is a mode which moves the proton from the oxygen to the carbon. Finding the reaction path -- an IRC study ----------------------------------------- A minimum energy path (MEP) is defined as the path defined by a sequence of geometries obtained by a series of optimizations on a hypersphere. The series of constrained optimization starts from some starting structure and the optimized structure at each step is taken as the start for the next step. The constraint in these optimizations is the radius (in mass weighted coordinates) of the hyper sphere with the origin defined by the starting geometry. If the starting structure is a transition state the path is called an Intrinsic Reaction Coordinate (IRC) path. Since the transition structure (TS) has a negative index of the Hessian we have two paths away from the TS. One leading us to the product(s) and one going to the reactant(s). The IRC analysis is used to verify whether the TS is really connecting the expected reactant(s) and product(s) and it is performed in forward and backward directions starting from the TS. This analysis is obtained using the keyword :kword:`IRC` with the :program:`SLAPAF` specifying the number of points and, if different from the default value (0.10 au), the radius of the hypersphere with the keywords :kword:`nIRC` and :kword:`IRCStep`, respectively. The reaction vector can be found on RUNOLD or it can be specified explicitly (see keyword :kword:`REACtion vector`). In the latter case, the vector can be find at the end of the optimization job in the ``The Cartesian Reaction vector`` section of the :program:`SLAPAF` output. A file named :file:`$Project.irc.molden` (read by :program:`MOLDEN`) will be generated in $WorkDir containing only those points belonging to the IRC. Here an example for an IRC analysis with 20 points back and forth and with 0.05 au as step. The reaction vector will be read on RUNOLD. :: >>> EXPORT MOLCAS_MAXITER=500 >>> Do while <<< ... &Slapaf &End IRC nIRC 20 IRCStep 0.05 Iterations 200 End of Input >>> EndDo <<< If the file :file:`RUNFILE` is not available, the reaction vector must be specified in the input. :: >>> EXPORT MOLCAS_MAXITER=500 >>> Do while <<< ... &Slapaf &End IRC nIRC 20 IRCStep 0.05 REACtion vector 0.140262 0.000000 0.179838 0.321829 0.000000 -0.375102 -0.006582 0.000000 -0.048402 -0.032042 -0.018981 -0.003859 -0.423466 0.000000 0.247525 Iterations 200 End of Input >>> EndDo <<<