Save orbitals and restart SCF

Hello All,

A very basic question, that I didn’t manage to find a working solution for:

How do I save the orbitals after a calculation, and use them for an SCF restart? Searching the forum, I find mentions of a “180” file, the “-m” option to psi4 etc., but I have not figured it out yet…

I would need this specifically for two cases:

  1. Restart from the last orbitals, if maxiter was reached before convergence. Then I could switch to, say, SOSCF after a hundred standard iterations if convergence stagnates.

  2. Use converged orbitals as input for a SAPT calculation.

A step by step example would be most appreciated! I am using PSI4 version 1.3.

Cheers,
Mikael

Sorry it took so long to get to this.

For (1), try

try:
    energy('hf')
except SCFConvergenceError as e:
    unconverged_scf_wfn = e.wfn
    unconverged_scf_wfn.to_file(unconverged_scf_wfn.get_scratch_filename(180))
    set guess read
    #set other options
    energy('hf')

We recently changed file 180, so I’m not surprised to see it undocumented.

As for SAPT, assuming SAPT supports this, you should be able to pass an SCF wavefunction as the ref_wfn argument for the energy call.

1 Like