Example: Mode Tracking¶
Download VATools_cyclohexanone.run
#! /bin/sh
# This example demonstrates the usage of the AMS vibrational analysis tools
# on the cyclohexanone molecule.
# 1. Optimization with DFT
# ------------------------
AMS_JOBNAME=DFT $ADFBIN/ams << EOF
System
Atoms
C 0.00000000 -0.00000000 0.00000000
C 0.97860571 1.25132756 1.95058924
C 0.97860571 -1.25132756 1.95058924
C 0.81256878 -0.00000000 2.80673224
C -0.03962209 -1.27292583 0.80215060
C -0.03962209 1.27292583 0.80215060
O 0.06261908 0.00000000 -1.25128260
H 0.12330579 -2.12275790 0.11986078
H -1.06001189 -1.37219989 1.22906269
H 0.87152406 -2.16703679 2.56054100
H 2.00106532 -1.26374568 1.52181021
H -0.19678477 0.00000000 3.26831156
H 1.54931293 -0.00000000 3.63180857
H 0.87152406 2.16703679 2.56054100
H 2.00106532 1.26374568 1.52181021
H 0.12330579 2.12275790 0.11986078
H -1.06001189 1.37219989 1.22906269
End
End
Task GeometryOptimization
GeometryOptimization
Convergence Gradients=1.0e-4
End
Engine BAND
EndEngine
EOF
# 2. Obtain DFTB hessian and modes as preconditioner and guess
# ------------------------------------------------------------
AMS_JOBNAME=DFTB $ADFBIN/ams << EOF
LoadSystem
File DFT.results/ams.rkf
End
Task GeometryOptimization
GeometryOptimization
Convergence Gradients=1.0e-4
End
Properties
NormalModes Yes
End
Engine DFTB
Model DFTB3
ResourcesDir DFTB.org/3ob-freq-1-2
EndEngine
NumericalDifferentiation
Parallel nCoresPerGroup=1
End
EOF
# 3. ModeScanning of DFTB C=O stretch mode with DFT
# -------------------------------------------------
AMS_JOBNAME=ModeScanning $ADFBIN/ams << EOF
LoadSystem
File DFTB.results/ams.rkf
End
LoadEngine DFT.results/band.rkf
Task ModeScanning
ModeScanning
ModePath DFTB.results/dftb.rkf
ModeSelect
HighIR 1 # This should select the C=O stretch
End
End
NumericalDifferentiation
Parallel nCoresPerGroup=1
End
EOF
# 4. Mode tracking with DFT starting from DFTB C=O stretch mode
# -------------------------------------------------------------
AMS_JOBNAME=ModeTracking $ADFBIN/ams << EOF
LoadSystem
File DFT.results/ams.rkf
End
LoadEngine DFT.results/band.rkf
Task ModeTracking
ModeTracking
TrackedMode File
ModePath DFTB.results/dftb.rkf
HessianGuess File
HessianPath DFTB.results/dftb.rkf
ModeSelect
HighIR 1 # This should select the C=O stretch
End
End
NumericalDifferentiation
Parallel nCoresPerGroup=1
End
EOF
# 5. Mode tracking with DFT starting from a pure C=O stretch
# ----------------------------------------------------------
AMS_JOBNAME=ModeTracking_COStretch $ADFBIN/ams << EOF
LoadSystem
File DFT.results/ams.rkf
End
LoadEngine DFT.results/band.rkf
Task ModeTracking
ModeTracking
TrackedMode Inline
ModeInline
0.0 0.0 0.7071 # This is the C attached to the O
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 -0.7071 # This is the O
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
End
HessianGuess File
HessianPath DFTB.results/dftb.rkf
ModeSelect
HighIR 1 # This should select the C=O stretch
End
TrackingMethod OverlapPrevious
# ^-- Probably better than the default.
# Our initial mode is not particularly close yet ...
End
NumericalDifferentiation
Parallel nCoresPerGroup=1
End
EOF