Example: TS search using partial Hessian: C2H6 internal rotation

Download TS_C2H6.run

#! /bin/sh

# Frequently when searching for a transition state, one needs an accurate second
# derivatives matrix, a Hessian. An exact Hessian may be obtained analytically
# but this may be very expensive for large molecules. In such cases it may be
# beneficial to calculate Hessian matrix elements only for atoms directly
# involved in the reaction for which a transition state is sought for. The rest
# of the Hessian can then be approximated using a cheaper method.

# In this example, a saddle point of the ethane internal rotation around C-C
# bond is found. In principle, only hydrogen atoms contribute to the normal mode
# we are interested in. Therefore we calculate a partial Hessian matrix
# including hydrogen atoms only. For this purpose, the AnalyticalFreq block key
# is used. In this block, a NUC keyword is added specifying that the second
# derivatives are calculated for atom 3 (and its symmetry-equivalents) only.
# Note that the Hessian matrix elements between symmetry-equivalent atoms, for
# example between 3,H and 4.H are also calculated. The rest of the matrix is
# estimated using the default method.

"$ADFBIN/adf" <<eor
TITLE Ethane transition state search using partial Hessian

ATOMS
1 C       0.000000000000       0.000000000000       0.767685465031  
2 C       0.000000000000       0.000000000000      -0.767685465031  
3 H       0.964354016767       0.347635559279       1.177128271450  
4 H      -0.181115782790      -1.008972856410       1.177128271450  
5 H      -0.783238233981       0.661337297125       1.177128271450  
6 H      -0.500471876676       0.894626767091      -1.177128271450  
7 H      -0.524533568868      -0.880734742626      -1.177128271450  
8 H       1.025005445540      -0.013892024465      -1.177128271450  
END

BASIS
type DZ
core Large
END

AnalyticalFreq
 NUC 3
End

BeckeGrid
 quality good
End

eor

rm TAPE13
mv TAPE21 ethane-frq.t21

# After the Hessian is calculated, the resulting TAPE21 file is used for a
# subsequent transition state search:

"$ADFBIN/adf" <<eor
TITLE Ethane transition state search using partial Hessian

ATOMS
1 C       0.000000000000       0.000000000000       0.767685465031  
2 C       0.000000000000       0.000000000000      -0.767685465031  
3 H       0.964354016767       0.347635559279       1.177128271450  
4 H      -0.181115782790      -1.008972856410       1.177128271450  
5 H      -0.783238233981       0.661337297125       1.177128271450  
6 H      -0.500471876676       0.894626767091      -1.177128271450  
7 H      -0.524533568868      -0.880734742626      -1.177128271450  
8 H       1.025005445540      -0.013892024465      -1.177128271450  
END

Fragments
  H t21.H
  C t21.C
END

GEOMETRY
    transitionstate mode=1
    iterations 30
    step rad=0.15
    hessupd BOFILL
    converge e=1.0e-4 grad=1.0e-4 rad=1.0e-3
END

RESTART 
   File ethane-frq.t21
End

BeckeGrid
 quality good
End
eor

# Important note: care should be taken to specify correct mode in the
# TransitionState keyword. Because a significant part of the Hessian will not be
# calculated exactly, it is possible that it will have more than one negative
# eigenvalue, in which case the one we are interested in may not be the first
# one. In such a case, one needs to specify the correct mode number in the
# TransitionState keyword.