Multiconfigurational methods (CI, CC, CASSCF, CASPT2)

It’s always hard to write about a computational method in a blog post since it could span for pages on end, so that’s why this post as the ones about NBO and PCM will only treat briefly the underlying physics (at a handwave level) and interpretation about the most popular choices within multiconfigurational methods which form part of the family of post Hartree-Fock methods*. If you are only interested in one of the many MC methods scroll down the post to find the one you need. As usual this post may become updated/expanded in time so come back to see what is new, or better yet subscribe to this and other posts to get those updates straight to your inbox.


The first and most intuitive approach to electronic structure calculations still is the Slater determinant (SD) in which a single electronic configuration is taken into account while obeying the aufbau principle (filling of the orbitals from the core up) and Pauli’s exclusion principle (antisymmetry of the wavefunction respect to the exchange of two particles). This procedure, under the regular HF Hamiltonian, neglects the instantaneous interactions between electrons which accounts to some extent for electron correlation. In order to fix this shortcoming one might use a wavefunction that is a sum of two or more Slater determinants in which each one represents a different electron configuration. This second SD represents the promotion of an electron to a virtual orbital (normally the lowest lying one) and we may add another SD in which this electron is promoted to another virtual orbital and even more we can assume double excitations, that is the promotion of two electrons at once. If we were to take into consideration ALL possible combinations, we say we are dealing with the Complete Active Space (the CAS in CASSCF), of course the amount of computing time scales rapidly as we increase the active space so real CASSCF are practically unachievable. The inclusion of these subsequent SD’s corrects the wavefunction as to yield a better description of the electron system by taking into consideration all possible configurations. MC methods are needed not only to account for electron correlation but also to allow orbital readjustments to   means of allowing polarized orbital pair formation.

It should be noticed that some of the following procedures while are variational (i.e. yield an upper bound to the total molecular energy) they are not size-extensive and therefore are unreliable in treating complex-associated systems or extended solids. Perturbation methods such as MPn and Coupled Cluster are not variational in nature but yield size-extensive energies.

Multiconfigurational self-consistent field (MCSCF)

When dealing with many determinants to optimize the function E, we run into the problem that convergence will be slow and sometimes located on local rather than on global minima. MCSCF wavefunctions are strongly dependant of the orbitals (or rather their coefficients) with high occupancy, while are least affected by those with lower occupancies. It is for this reason that the number of configurations in MCSCF is usually kept to a small to moderate number chosen to describe essential correlations and important dynamical corrlations. As a result the ad hoc wavefunction is designed to provide a good description of those orbitals with higher occupation numbers and neglects those that have low occupation numbers.

Configurations Interaction, CI

A set of orthonormal MO’s is first obtained from an SCF or a small MCSCF calculation. The orbitals thus obtained will be refered to as reference space. The coefficients of the LCAO expansion are no longer optimized but rather the Ci coefficients of the CI expansion, that is the coefficients with which each electron configuration is taken into account into the CI wavefunction, and for this reason one may include many more configurations than in the previous method. Of course the space can also be chosen in such a way that some excitations are neglected, for instance those arising from core electrons (a bond breaking process will be more affected by valence electrons than from those in the core).

Coupled Cluster, CC, CCS, CCSD, CCSDT

The CC methods rely on a far more elegant approach: the use of creation and anhiliation operators which eliminate an electron from a certain orbital while making it appear on another. For an extraordinary introduction to the underlying mathematics of these methods refer to the paper by H.F. Schaefer listed below under references. Because of the nature of the cluster operator T the CC equations are quartic and although it is a huge task to evaluate all of the commutator matrix elements, it can be done with rather available computational resources. In order to avoid convergence problems, non-linear terms should be neglected if possible. This a size extensive method but not a variational one.

Complete Active Space Self Consistent Field, CASSCF

CASSCF includes all configurations possible that can be created by distributing N valence electrons in M orbitals in such a manner that the spin is maintained constant. Clearly this makes the number of configurations scale rather rapidly so practical considerations dictate that CAS based approaches be limited to situations in which only a few electrons are to be correlated (hence using only a few orbitals).

Some common problems and their solutions

Which one to use? Of course it depends on the properties to be calculated as well as on the kind of system at hand. Some systems require size extensive methods (solids, aggregates, complexes, etc.) Other scenarios such as chemical reactions or bond breaking events require

Selection of the active space is critical!

All these methods are very demanding both in terms of computing time and memory available, which makes it very common to reach disk limits. In GaussianX you may see an error of the following sort:

“Erroneous write. write -1 instead of -1472711800” (numbers here are only examples)

I suggest to make use of %rwf capabilities whenever possible. Some clusters have queues with different memory sizes, try queuing your job to a queue with a larger disk. Maybe Gaussian is not the best way to go when it comes to multireference methods; if available try using MOLCAS or MOLPRO.

As usual feel free to comment and rate this post (criticism is also very much welcome, so please!) that allows me to know somebody is reading and further encourages me to keep this blog not only as a place I rant in soliloquies 😀


– Reviews in Computational Chemistry Vol.14 (Mathematical grounds for MC methods for beginners, if you are rusty on your matrix algebra or series, try brushing them up first) (Click here for an old post on Henry Schaefer in this same blog; don’t get me wrong! I like the guy’s science and I think he is brilliant but this is a controversial man and I wrote about that too, back in the days when posts on this blog were mostly short random thoughts).

-Gaussian’s tech support site.

-Quantum Mechanics in Chemistry, Jack Simons & Jeff Nichols (1997) Oxford University Press

*The name post HF method does not imply that the procedures are not applicable to DFT constructed wavefunctions (but I thought DFT fans didn’t like to work with wavefunctions? Well, so did I!)


About joaquinbarroso

Computational and theoretical chemist in his early forties, in love with life, science, baseball, and literature. Science literacy makes us responsible citizens, it is therefore a scientific duty to talk, write, and engage with the general public; as Feynman said, if you find science boring, your learning from the wrong teacher. "Make like a molecule and react!"

Posted on June 23, 2010, in Computational Chemistry, Gaussian, Models, White papers and tagged , , . Bookmark the permalink. 28 Comments.

  1. Claudio Tellez

    Muy instructivo! Muchas Gracias por las informaciones! Y como estás en tu nuevo trabajo en México? Tal vez el próximo año me de una vuelta por el Instituto de Fisica – UNAM que está en Querétaro.

    Un abrazo!


    • Gracias Claudio!
      No sabía que hubiera un Instituto de Física en Querétaro, yo voy muy seguido por aquellas tierras. De momento el trabajo en Toluca va bien aunque un poco lento en cuanto a la asignación de recursos; extraño aquellos días en el centro privado de investigación que laboraba donde todo se movía más rápido y sin tanta burocracia, sin embargo la burocracia mexicana es más ordenada que la rumana por díficil de creer que parezca.

      Un abrazo de vuelta y ojalá nos veamos en Querétaro para platicar un rato

  2. Hi Joaquin,
    thanks a lot for starting a post on Multiconfigurational methods.

  3. Thanks. Very nice introduction to MC methods.

  4. Maybe off topic, but you might help.

    I wish to do a relaxed PES scan along ‘r1+r2’, where r1 and r2 are two bond distances. How can I do that in Gaussian?


    • Hi Mishra!
      You can do it the same way you do it with only one bond distance. Define both scans in the same file and Gaussian will perform all possible combinations. After the first line in which you request a scan add the second one and don’t forget about leaving a blank line in the end.

      Hope this helps!
      PS Sorry for my delay I hope you can still find this useful

  5. Nguyen Ngoc Ty

    I’m using G03 to run CASSCF (for HOMO, anergy and dipoel moment of HCN molecule) but sometimes the converge failure appears. Can you help me to overcome it?
    Thanks in advance

    • Hi Nguyen

      The initial guess is key! try getting an initial geometry with another level of theory (HF, DFT, or even MP2). Then use that geometry to run your CASSCF. If that doesn’t work then use the following


      # ..all your keywords… guess=check

      This will use the wavefunction from your previous calculation as a guess for the CASSCF.
      If still you have convergence problems then try changing the SCF options to SCF=QC. Check for more information on the SCF keyword

      I hope this helps. Thanks for reading!

  6. Nguyen Ngoc Ty

    Thank you for your reply. I’m a newcomer in CASSCF. Please help me
    1. How to use initial guess because I used %chk=calculationwithpreviousleveloftheory.chk
    %NoSave but I doesn’t work.
    2. Assume that I want to calculate potential energy surface and dipole moment surface of HCN (for example 100 points), I will prepare 100 initial guess. Is it right?
    Thank you for your help

    • Ok, what I meant with that example was to tell you that you should send a previous calculation just to get a first wave function, lets call it fileA.gjf from which you get fileA.chk, lets say fileA is an optimization at the MP2 level of theory.
      You then run your CASSCF calculation as fileB.gjf BUT! you have to define the chk as the one for the previous calculation (%chk=fileA.chk %NoSave in different lines of course) this will tell fileB to associate the chk file to fileA.chk but the %NoSave option will ask Gaussian no to overwrite it (if you miss this option you will loose all information on fileA.chk)
      then you have to use the guess=check option in your Route Section and this will ask the program to use the info in the chk file (fileA.chk in this case) to generate the trial function from which the CASSCF will start.

      As for point 2. in principle yes! I would try to use the scan option but I don’t know if it works. You may also try the Opt=Modredundant option but you have to define variables just as described in another post in this blog entitled somthing like RIGID AND RELAXED PES SCAN. Search for it in the archives of this blog.
      If you need more help send me an email with more details on what you want to calculate and attach your input file so I can take a better look at it, ok?

      I’m glad I can help. Have a nice day!

  7. Nguyen Ngoc Ty

    Hi Dr. Joaquin Barroso

    Now I can run casscf with initial guess which is from DFT method for HCN molecule.
    Thank you very much.

  8. I’m a newcomer in CASSCF. Please help choose active space in CASSCF.please explain with an example

  9. Hi Dr. Joaquin Barroso
    I tried to do a casscf calculation, but I get the following error
    Use %mem=1025MW to provide the minimum amount of memory required to complete this step.
    Error termination via Lnk1e in /opt/g09/l405.exe
    my pc has ,nprocs=8 and mem=8GB

    How can I convert megaword(MW) into gigabayt(GB)?
    Can I use the layer or freeze in casscf calculation?

    • 1W = 8 B (assuming a 64bits configuration, otherwise, with a 32b 1W = 4B); therefore 1025 MW is around 8 GB (8,000 MB). If you use the following Link0 section:

      you are assigning 1GB per processor. Now, are those 8GB the total available memory or the memory available for each processor? If the latter then increase the amount of shared memory in %mem, if not, try using rwf files with the %rwf option in your Link0 (google for “efficiency considerations gaussian 09).

      I hope this helps

  10. How could I found c.i expansion coefficients from CASSCF results in G09

  11. Hi Dr. Joaquin Barroso, thanks very much for the very interesting explanation. Still I have a doubts about the choose of the active space. Consider to be interested into the spin orbit coupling (in G09) between two states, with a different multiplicity, how could I request the calculation between such states?
    Thanks in advance.

  12. Dear Sir, I want to optimize the Cr_2 molecule using CASPT2(12,12) method with Def2-TZVP basis set in molpro. I optimize the molecule at CASSCF level. Can you please help me to prepare the input file for CASPT2 optimization….

  13. Hi, I am getting different CAS energies for the same active space for different initial guess(e.g. HF, B3LYP, PBE). Can you explain why this is happening please ?

  14. I mean using DFT orbitals as initial guess instead of HF orbitals. CASSCF procedure from both should give the same lower energy. But I am getting it different.

  15. Is it possible to optimize a molecule with caspt2 method in gaussian? If so how the input is given??

  16. Hello Sir, How can I optimize metal fluoride “KF, CsF, AgF etc.” and Phase transfer catalysts in gaussian?

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 )

Connecting to %s

%d bloggers like this: