Adopting a new baby – v2RDM-CASSCF

In the previous post, I plan to use some “novel” multireference methods that can treat huge active spaces (up to 50 active orbitals). I now decide to adopt the first baby:  the variational two-electron reduced-density-matrix (2-RDM)-driven complete active space self consistent field (v2RDM-CASSCF). Why? Because

Fun fact: in the paper, DePrince wrote “the chemistry community has resisted adopting v2RDM-based approaches to the static correlation problem”. The chemistry community is a jerk.

Since I’m not a jerk, let me adopt this poor baby, no matter if he’s beautiful or ugly. I have a very low standard.

Tom Daley is an example of a gorgeous baby

First step: install psi4

This code can be downloaded at

Installing psi4 is easier than I expected. I managed to install psi4 and the plugin on the crappiest machine we have (no one is using it). Done.

Second step: learning psi4

Psi4 is an opensource code and is being actively developed. But this program should be improved, in particular the manual. I understand that writing manual is very boring, but this must be done properly for newbies like me. Since the manual is not very clear, preparing an input file is rather cumbersome with many trials & errors.

Keep calm and use psi4 (even it’s slow)

OK, done with psi4. Now back to the baby v2RDM-CASSCF.

Let me first explain how the baby looks like, just a little bit of math. I suppose you, the reader of this blog, know perfectly DFT (I mean the real DFT not the fake KS-DFT). Basically in DFT, the electron density determines everything, including the total energy and the wavefunction. The task is to find the correct density. Similarly in v2RDM-CASSCF, the two-electron reduced-density-matrix (layman’s term: matrix) determines the CASSCF energy and wavefunction. The task is to find the optimal 2RDM that truly represents the wavefunction. That’s it! You want more math, please check the paper.

So, I will give a toy for this baby to play, a tiny molecule: Cu2O22+. The task of the baby is to calculate the isomerization energy between the bis(μoxo) and peroxo isomers. Sound simple right? Wrong! It’s a one big challenge for multireference methods.

People like playing with Cu2O22+ bis(μoxo) (left) and peroxo (right) isomers

The baby v2RDM-CASSCF will play with Cu2O22+ with the following rules (inspired by the work of G. K-L. Chan):

  • Basis set: Stuttgart basis set and the corresponding pseudopotential for the Cu atoms [6s5p3d]; ANO basis set for O [4s3p2d]
  • Active space: 28 electrons in 32 active orbitals. This active space contains Cu 3d and 4d orbitals, O 2p and 3p orbitals. It’s huge, I haven’t done anything like this and I’m afraid that I cannot manage it properly ;). I hope that with the help of the baby, we can manage it.
  • For v2RDM, I keep many options default. I used the so-called “DQG approximation”. Yep! Every cheap thing comes with a hidden price. There is an approximation in the method, surprise! Basically, you will not have the exact CASSCF energy, but it should be close (how close?). Notice that this is not the best approximation, but it’s cheap, and it’s the default of the code.

The input files are prepared. I submit the calculation. Now wait!


My calculations crashed with error “Fatal Error: v2RDM did not converge”. This is so sad. More over the best result I have is E(bis) – E(per) = -0.8 kcal/mol. The best results by G. K-L. Chan is 25.6 kcal/mol. What??? The difference is humongous.

So what’s wrong with the calculations? Why do they fail?

  • I cannot control the active space. There is no option (as far as I see) to manually choose the active space. Everything is so black-box and there is no way I can check the active space is correct.
  • The calculations crashed and they didn’t produce me any output orbitals. How can I know if I have the correct active space?



It’s time to annoy the developers!





2 thoughts on “Adopting a new baby – v2RDM-CASSCF”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s