Transition State (TS) Finding Tutorial
This tutorial demonstrates how to use ChemRefine to locate and validate transition states (TS) using a stepwise pipeline that combines PES scans, optimizations, frequency analysis, and final single-point energy evaluation.
Overview
Transition states are critical for understanding chemical reactivity and kinetics.
ChemRefine automates TS exploration with the following workflow:
- PES Scan: Explore bond distances/angles to identify high-energy regions.
- TS Optimization (Top 5): Optimize the five highest-energy structures from the PES scan.
- Frequency Analysis: Confirm the presence of one imaginary mode.
- Imaginary Mode Displacement: Remove the mode and generate corrected geometries.
- Final SP Calculation: Compute high-level single-point energies on the corrected TS structure.
Prerequisites
- Installed ChemRefine (see Installation Guide)
- Access to an ORCA executable
- Example input (
ts_input.yaml
) from this tutorial folder - Initial structure (
step1.xyz
)
Input Files
We start with an initial structure located in the templates folder:
## Orca Input Files
You can find the ORCA input files here
Interactive 3D Viewer
YAML Configuration
➡️ Examples/Tutorials/Transition-State/ts_input.yaml
Example content (excerpt):
template_dir: ./templates
scratch_dir: /scratch/ts_jobs
output_dir: ./outputs/ts
orca_executable: /mfs/io/groups/sterling/software-tools/orca/orca_6_1_0_avx2/orca
initial_xyz: ./templates/step1.xyz
steps:
# Step 1: PES scan
- step: 1
operation: "PES"
engine: "DFT"
sample_type:
method: "integer"
parameters:
num_structures: 20
constraints:
bonds: [(82-91), (0-79), (0-80), (0-82)]
# Step 2: Optimize top 5 high-energy structures
- step: 2
operation: "OPT+SP"
engine: "DFT"
sample_type:
method: "energy_window"
parameters:
energy: top5
# Step 3: Frequency calculation
- step: 3
operation: "FREQ"
engine: "DFT"
# Step 4: Displace along imaginary mode
- step: 4
operation: "NORMAL_MODE_SAMPLING"
engine: "DFT"
parameters:
mode: imaginary
# Step 5: Final SP calculation on corrected TS
- step: 5
operation: "SP"
engine: "DFT"
How to Run
Before running ChemRefine, ensure that:
- The ChemRefine environment is activated
- The ORCA executable is in your
PATH
- The template directory (
./templates/
) is set up - The input structure file (e.g.,
step1.xyz
) is prepared
Option 1: Run from the Command Line
chemrefine ts_input.yaml --maxcores <N>
Here <N>
is the maximum number of simultaneous jobs.
Option 2: Run with SLURM
On HPC systems with SLURM:
sbatch ./Examples/templates/chemrefine.slurm
➡️ Example ChemRefine SLURM script
Expected Outputs
- PES scan geometries in
outputs/ts/step1/
- Top 5 optimized candidates in
outputs/ts/step2/
- Frequency analysis files in
outputs/ts/step3/
- Imaginary mode displacement results in
outputs/ts/step4/
- Final single-point energy in
outputs/ts/step5/
Each directory contains .out
logs, .xyz
geometries, and summary files.
Notes & Tips
- Increase the PES scan resolution for difficult reactions.
- Ensure only one imaginary frequency is present for a valid TS.
- Use
NORMAL_MODE_SAMPLING
to visualize imaginary modes. - Always double-check
.xyz
files to confirm correct TS geometry.
Identifying Good vs Bad Imaginary Modes
ChemRefine helps distinguish spurious imaginary modes (bad TS guesses) from true transition states.
-
❌ Bad imaginary frequency:
-
✅ Corrected good imaginary frequency: