With the new Q-Chem, how can I avoid calculating the full Hessian and only calculate the diagonals during a TS optimization ? I have a system consisting of 71 atoms at 6-311G* basis set.

Hi Sourav, can you post the REM section you are using? Are you referring to the GEOM_OPT_HESSIAN REM setting for the initial hessian, which defaults to the diagonal hessian? Consider Example 9.3 in the manual (9.2.4 OptimizeJob ExamplesĂ˘Â€ÂŁ 9.2 Geometry Optimization Job Controls Ă˘Â€ÂŁ Chapter 9 Exploring Potential Energy Surfaces: Searches for Critical Points and Molecular Dynamics Ă˘Â€ÂŁ Q-Chem 6.2 UserĂ˘Â€Â™s Manual), which computes the exact hessian and then reads it during the TS search. If you want to avoid calculating the exact hessian, you can skip the first calculation in Example 9.3 and comment out the REM settings of SCF_GUESS and GEOM_OPT_HESSIAN in the REM of the second calculation. Is this what you want?

Depending on your use case, you may also consider the Hessian-Free Transition-State Search (9.3.3 Hessian-Free Transition-State SearchĂ˘Â€ÂŁ 9.3 Improved Algorithms for Transition-Structure Optimization Ă˘Â€ÂŁ Chapter 9 Exploring Potential Energy Surfaces: Searches for Critical Points and Molecular Dynamics Ă˘Â€ÂŁ Q-Chem 6.2 UserĂ˘Â€Â™s Manual).

Thanks for answering.

My $rem section is attached.

$rem

BASIS = 6-311G*

JOB_TYPE = TS

METHOD = WB97X-D

SCF_CONVERGENCE = 8

SCF_MAX_CYCLES = 250

GEOM_OPT_MAX_CYCLES = 250

GEOM_OPT_DMAX = 50

MEM_TOTAL = 50000

$end

The problem is it still starts CPSCF calculation to calculate the exact Hessian.

Calculating MO derivatives via CPSCF

Running CPSCF using 18 segments, with a maximum of 4 atoms in each segement.

1 0 12 0.0045371

2 0 12 0.0008703

3 0 12 0.0001494

4 0 12 0.0000750

5 0 12 0.0000285

6 0 12 0.0000119

7 0 12 0.0000052

8 6 6 0.0000027

9 11 1 0.0000015

10 12 0 0.0000008 Converged

1 0 12 0.0047250

2 0 12 0.0008682

:

:

In Q-Chem 5.4, the default was calculating the diagonals. A snippet is given below.

Attempting to generate delocalized internal coordinates

Initial Hessian constructed with Jon Bakerâ€™s OPTIMIZE code

207 Hessian modes will be used to form the next step

Hessian Eigenvalues:

0.002000 0.002000 0.002000 0.002444 0.003743 0.004894

0.007517 0.007962 0.008385 0.008838 0.008852 0.014906

0.017894 0.018253 0.018479 0.019405 0.019493 0.019941

0.020023 0.020091 0.020228 0.021266 0.021312 0.021954

0.022066 0.022324 0.022352 0.022864 0.023066 0.023106

I tried setting GEOM_OPT_HESSIAN = DIAGONAL as given in the manual but the Q-Chem crashed.

Thanks

You can revert back to the old OPTIMIZE geometry optimization driver by setting â€śGEOM_OPT_DRIVER = optimizeâ€ť. Then, you will see that the diagonal hessian is set as the initial hessian and that should address your question. You are right about the crash with â€śGEOM_OPT_HESSIAN = DIAGONALâ€ť, which is a known bug in v6.2.1.

Thanks for the help.

You can also do this without switching back to old optimizer. Basically, what you need to do is to specify the `INITIAL_HESSIAN`

keyword under `$geom_opt`

. For example, you can set

```
$geom_opt
INITIAL_HESSIAN Model
$end
```

which will probably resemble the default behavior of the old optimizer. If you are reading in a hessian from a previous job, then it should be set to â€śREADâ€ť. You are right that the current default TS optimizer uses â€śExactâ€ť as the default.