Navigating exotic electronic states with DOCC and SOCC

I am interested in seeing qualitative differences in energies of electronic states of small molecules.

For example, I’d like to see if I can use Psi4 to run calculations to distinguish the ^1 \Sigma^+, ^3 \Sigma^+, ^3 \Pi^{+/-}, and ^1 \Pi^{+/-} states at different interatomic distances. I don’t care so much about quantitative accuracy, so small basis sets with a single reference method is fine (I suspect some will be spin contaminated, but maybe it’ll be less so with a KS-DFT method). I expect energies to go as:

^1 \Sigma^+ << ^3 \Pi^{+/-} < ^1 \Pi^{+/-} << ^3 \Sigma^+,

It seems that I’d want to use molecular symmetry and make specifications to the DOCC and SOCC arrays. To make things easy, I thought I’d use the C2v point group for FH and recognize that in bonding FH, F has the electronic configuration of 1s2 2s2 2px2 2py2 2pz1, and H has 1s1.

When I run a default singlet RHF calculation and don’t specify anything about DOCC or SOCC, the default calculation prints out DOCC = [3, 0, 1, 1], which makes sense for only doubly occupied orbitals. Psi4 found the ^1 \Sigma^+ state.

When I run a default triplet UHF calculation and don’t specify anything about DOCC or SOCC, the default calculation prints out DOCC = [3, 0, 0, 1]; SOCC = [1,0,1,0], which makes sense for FH with singly occupied A1 (H 1s1) and B1 (F 2px1). My understanding of B1 mapping to 2px might be wrong, so I reran the calculation with DOCC = [3, 0, 1, 0]; SOCC = [1,0,0,1] and got a nearly identical energy, so either way I’m pretty sure Psi4 found the ^3 \Pi^{+/-} state here.

When I run a triplet calculation with DOCC = [2, 0, 1, 1] and SOCC = [1,1,0,0], I think I should be requesting the ^3 \Sigma^+ state with singly occupied A1 (H 1s1) and A2 (F 2pz1). This energy is significantly larger than either calculation above, so I’m pretty confident Psi4 found the ^3 \Sigma^+ state here. (I also ran DOCC = [2, 0, 1, 1], SOCC = [2,0,0,0], that was slightly higher in energy than the ^3 \Pi^{+/-} state, I think that corresponds to a detached electron Rydberg state, which makes sense since experimentally the ^3 \Sigma^+ state isn’t observed.)

When I try to run an UHF singlet calculation with DOCC = [3, 0, 0, 1]; SOCC = [1,0,1,0], the program crashes and prints: “Fatal Error: Got 6 alpha electrons, expected 5.”, implying that Psi4 thinks that SOCC entries are always interpreted as alpha spins. I see in the documentation that there is a keyword to use a broken symmetry wavefunction, so I try using C1 symmetry with “guess_mix true”, but this ends up converging to the same energy as the ^1 \Sigma^+ state, while I want a ^1 \Pi^{+/-} state that should be between the ^3 \Pi^{+/-} state and the ^3 \Sigma^+ state.

Are there other tricks to trap this state somehow? Thanks in advance!

–john

It’s only recently that Psi’s internal DOCC/SOCC handling has been a little more consistent for cases like this, so sadly, we haven’t exposed this to the end users yet.

Your best bet is to use the maximum overlap method. Basically, you start converging the orbitals for one state, and then say you want an excitation from that state. That allows you to get states with unoccupied alpha and beta orbitals. See this test case, and let me know if you have further questions.