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?