Casscf on open-shell singlet

How does one set up a CASSCF calculation on an open-shell singlet using PSI4?

I first thought to just create the reference using the guess_mix option, but that only works for UHF, and CASSCF won’t take UHF wfns or allow setting ‘reference uhf’. I thought perhaps the docc and socc arrays could be used to control the reference, since they seem to be ignored in detci, but using them in a casscf causes a segfault. The documentation on the keywords for the detci and mcscf modules could do with some fleshing out.

Starting with the following (the simplest input I could think of), what should be added/altered to do a full-valence casscf calculation on the 1B1 biradical state of methylene?

molecule {
0 1
H2 C1 1.08
H3 C1 1.08 H2 116.

set {
basis 6-31++G**
active = [3, 0, 2, 1]

If this can be made to work, perhaps it could be added to the input/samples to help others.

That’s a good question. However, it requires defining what one means by an “open shell singlet”.

Namely, if you run the calculation you supplied, you’ll see that the wave function you get from CASSCF is not single-reference; you have two major configurations in it that contribute 95% and 4% of the norm. Systems like this one that are not single-reference are often called open-shell singlets.


By the way, looking at the CASSCF wave function, you can actually see that you have the wrong reference state: the SCF converges to

      Final Occupation by Irrep:
          A1    A2    B1    B2 
DOCC [     2,    0,    1,    1 ]

whereas in the CAS wave function this configuration only has the 4% weight. If you set

          A1    A2    B1    B2 
DOCC [     3,    0,    0,    1 ]

then you’ll get a much lower Hartree-Fock energy: -38.87720372911416 instead of -38.75428141573684, i.e. a decrease of 0.123 Hartree which is pretty huge.


Now, the second alternative for an open-shell singlet, which typically refers to SCF level calculations is dependent on broken spin symmetry: the alpha and beta orbitals have different spatial parts.

In principle nothing would prevent you from treating these cases with high-level ab initio methods. However, since basically all CASSCF codes are formulated using spin-restricted orbitals, you can’t feed in symmetry broken orbitals. The main reason for this is that defining an active space would be very difficult, if the spatial parts could be different; your alpha and beta spaces might be totally different.

Still, broken symmetries are typically just artefacts caused by the lack of proper treatment of electron correlation in the wave function. Going from RHF to UHF may give you lower energy, because you’re freeing the opposite-spin electrons to avoid each other. But, if you include opposite-spin correlation, which is missing from Hartree-Fock, in your treatment like in CASSCF, then you probably won’t get spin symmetry breaking anymore.

OK, thanks.

Actually, the input I supplied was not supposed to be for an open-shell singlet, but rather a template starting point which could hopefully become an appropriate input for an OSS by adding the requisite keywords, if possible.

My understanding (from just Googling casscf with open shell singlet or diradical or biradical) is that CASSCF is typically used to study both “pure” diradicals (OSS) and “impure” diradicals (aka diradicaloids), so there must be ways to do it, though not in PSI4 yet. I guess what is needed is a more general way of setting up the spinorbital occupancies of the reference wfn.

OK, so never mind casscf. What is the recommended method in PSI4 for studying diradicals in general?

The best available might be Mk-MRCCSD(T) based on CAS(2,2) using either the default TCSCF code or CASSCF code (this one needs bypass reference wavefunction).