I have experience with scf convergence but not with mcscf convergence, and since I’m starting to learn how to do casscf calculations, I would like to ask for some tips and advice on getting the mscsf to converge.

Here is my input:

molecule {

0 1

LI1

LI2 LI1 1.25

}

set {

basis def2-tzvppd

scf_type df

guess sad

e_convergence 8

d_convergence 8

docc = [2, 0, 0, 0, 0, 1, 0, 0 ]

active = [5, 0, 0, 0, 0, 5, 3, 3 ]

mcscf_maxiter 150

}

nrg, wfn = energy(‘casscf’, return_wfn=True)

I’m using the latest official release, v. 1.2.1. I have fiddled with the following keywords:

mcscf_diis_max_vecs

mcscf_algorithm

mcscf_guess

mcscf_max_rot

but can’t get convergence. The output looks like this:

```
Iter Total Energy Delta E Orb RMS CI RMS NCI NORB
```

@MCSCF 1: -14.747202187152 -4.4845e-02 1.86e-03 8.25e-07 8 1 Initial CI

@MCSCF 2: -14.747822251858 -6.2006e-04 2.95e-03 1.76e-06 9 1 TS

@MCSCF 3: -14.750749659836 -2.9274e-03 4.57e-03 2.88e-06 9 1 TS

Warning! Maxstep = 0.53, scaling to 0.40

@MCSCF 4: -14.763163367127 -1.2414e-02 7.38e-03 0.00e+00 12 1 TS, DIIS

@MCSCF 5: -14.770851477915 -7.6881e-03 8.82e-03 0.00e+00 12 1 TS, DIIS

Warning! Maxstep = 0.41, scaling to 0.40

@MCSCF 6: -14.767722215456 3.1293e-03 1.18e-02 0.00e+00 12 1 TS, DIIS

Warning! Maxstep = 0.81, scaling to 0.40

@MCSCF 7: -14.772742137647 -5.0199e-03 4.61e-03 0.00e+00 12 1 TS, DIIS

@MCSCF 8: -14.775008962244 -2.2668e-03 2.50e-03 0.00e+00 12 1 TS, DIIS

@MCSCF 9: -14.776136982925 -1.1280e-03 4.43e-03 0.00e+00 12 1 TS, DIIS

@MCSCF 10: -14.777304284512 -1.1673e-03 3.27e-03 0.00e+00 12 1 TS, DIIS

[omitting intermediate iters for brevity]

@MCSCF 140: -14.779945230548 -1.3116e-06 1.41e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 141: -14.779954395044 -9.1645e-06 1.42e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 142: -14.779958330966 -3.9359e-06 1.35e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 143: -14.779950735865 7.5951e-06 1.35e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 144: -14.779956146509 -5.4106e-06 1.71e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 145: -14.779952971461 3.1750e-06 1.82e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 146: -14.779991472404 -3.8501e-05 1.64e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 147: -14.779981025679 1.0447e-05 1.61e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 148: -14.780009679953 -2.8654e-05 2.09e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 149: -14.779991854334 1.7826e-05 2.14e-04 0.00e+00 12 1 TS, DIIS

@MCSCF 150: -14.780004212604 -1.2358e-05 2.08e-04 0.00e+00 12 1 TS, DIIS

Often after 150 iterations the orbitals RMS is only 1e-3, so I did a little better here using mcscf_max_rot=0.4, but I’m just stabbing in the dark at this point. When one has this kind of problem, what are the recommended things to try?