Convergence algorithms


Where can I find more information about the convergence algorithms implemented in PSI4 ?
I want more information about DIIS, MOM and SOSCF.

Thank you.

Do you want to know the mathematical ideas and theory behind them, or do you want advice on when and how to use them?

Actually, both please.
I need to understand the mathematical idea implemented in PSI4. I set soscf = true but I have calculation that do not use SOSCF so I would like to understand the mathematical idea behind all these convergence algorithm in order to figure out how to get my systems to converge. I am struggling with my systems (compounds that encompass for amino acids functional group including imidazole, indole, etc …) with iodide and it seems that no matter what I do it does not converge.

Thank you for your help.

Assuming that you are referring to your other topic
RI-MP2/def2-tzvppd convergence issue for calculations with iodide, I will warn you that the ECP technology in Psi4 is still in testing. I would be unsurprised if the problem is some bug in the ECP that we have yet to root out. A complete swap of the ECP technology is in in the works. To test whether these could be ECP problems, I recommend that you switch to a basis set without an ECP, perhaps cc-pvdz, and see if that fixes your problems. If it does, I will take that as good evidence that this is an ECP problem. I would investigate this myself, but some other obligations are taking a massive bite out of my time.

As for your question here:
DIIS Mathematics:
DIIS Suggestions: The DIIS settings work well for a large number of systems. Changing these rarely fixes problems, and if it does, it will require a lot of trial and error to find settings that “work.” The biggest indicator that DIIS may need adjusting is if your iterations begin to increase in energy around the time when DIIS starts.

SOSCF Mathematics: Just like the energy has a gradient and hessian with respect to geometry changes, it has one with respect to orbital changes. One way to think of an SCF procedure is that it finds the orbitals that make the orbital gradient 0. In SOSCF, you find the orbital hessian, and use that to take your next orbital step. Specifically, you can write the energy as a function of orbitals via Taylor series. If you truncate all terms higher than second order, the SOSCF step will exactly zero the orbital gradient. Of course, these higher order terms matter, so the step isn’t perfect.
SOSCF Suggestions: SOSCF can’t be used immediately. You need to be “close” enough to the right orbitals that this Taylor expansion will converge to the right thing. That said, if you can converge the SCF at a similar geometry, you should be close enough that this won’t be a problem. The failure of SOSCF methods to converge the SCF is troubling.

MOM (Maximum Overlap Method): I lack a good reference for this one. The core idea is that instead of picking guess orbitals based on low orbital energies, you pick orbitals with maximum overlap with your previous orbitals. This is usually used to find orbitals for an excited state, given orbitals for the ground state. Try this, but don’t be surprised if this fails.

Is there a reason that in your original input file, you’re using a SAD guess rather than a read guess? With a read guess, your starting orbitals are the ones from your previous geometry, which should be closer to the correct answer than the SAD guess.

1 Like

SOSCF Implementation:

It does not appear I can upload my SOSCF (pdf) white paper, join the Psi4 slack and send me a message (dgasmith) and I can shoot you additional details.

1 Like