Read SCF guess wfn from external (previously generated) files


I am new to psi4 and am having a question about how to read in initial guess wfn. Below is my input:

memory 4000 mb
molecule mol {
    0 3
	O          1.09800       -0.01685        0.05354
	O          2.24893       -0.01685        0.05354
set basis 6-31g*
set puream false
set reference uhf
set scf_type direct
set guess read
e, wfn = energy('scf', molecule=mol, return_wfn=True, restart_file="./psi-wfn.npy") 
molden(wfn, 'psi4-out.molden')

But it does not seem to use the guess wfn (psi-wfn.npy) and still needs 12 cycles to converge (I kept the same basis set and method in this test).

SCF Guess: Superposition of Atomic Densities via on-the-fly atomic UHF.

I also did a comparison test where I have these two subsequential jobs in the same input file, and I found the second job loaded the wfn file from the previous job.

Do I need to change the naming of the wfn file to a specific format? Or does psi4 currently support reading .npy (or other types of the wfn files) from different jobs? Thanks in advance for you help!

Note added. I also raised an issue on github ( Then I found this place. Sorry for the trouble.

Update: I found I could read the wfn file (.npy) by doing:

wfn_loaded = psi4.core.Wavefunction.from_file("psi-wfn.npy")

But I am still unsure about how I can feed this wfn_loaded as an initial guess for an energy calculation.


I found the issue. It is because the name of the wfn file does not match the exact naming convention required.