Skip to content

Complete Active Space SCF (CASSCF)

CASSCF (Complete Active Space Self-Consistent Field) is a multireference method that goes beyond the single-determinant picture of Restricted Hartree–Fock. Rather than describing the wavefunction with one Slater determinant, CASSCF distributes a chosen set of electrons among a chosen set of orbitals — the active space — and builds a full configuration interaction expansion within it, while simultaneously re-optimizing the orbitals themselves.

This tutorial builds directly on the ORCA RHF tutorial: the converged RHF orbitals from that calculation are read in as the starting guess for CASSCF here, exactly as RHF is described as "the reference wavefunction ... required by correlated methods such as ... CASSCF" on that page.

The theory of CASSCF itself does not depend on which software is running it, so the full mathematical treatment lives on the GAMESS CASSCF pages and is linked from here rather than duplicated — see Mathematical Background for exactly what carries over and what's specific to ORCA.


Learning Objectives

After completing this tutorial you will be able to:

  • Understand why RHF is inadequate for the system studied here, and what CASSCF adds.
  • Prepare a state-averaged CASSCF input in ORCA, reading in RHF orbitals as a starting guess.
  • Interpret ORCA's CASSCF macro-iteration output and final state energies.
  • Read the configuration state function (CSF) weights that describe each electronic state.
  • Compare an ORCA CASSCF result against the equivalent GAMESS CASSCF calculation on the same molecule.

Calculation Workflow

┌──────────────────────┐
│ Optimized Geometry    │
│ (Gaussian, converted  │
│  via Open Babel)      │
└──────────┬────────────┘
┌──────────────────────┐
│ RHF Calculation       │
│ → dae-rhf.gbw         │
└──────────┬────────────┘
┌──────────────────────┐
│ Prepare CASSCF Input  │
│ (moread dae-rhf.gbw)  │
└──────────┬────────────┘
┌──────────────────────┐
│ Run ORCA CASSCF       │
└──────────┬────────────┘
┌──────────────────────┐
│ Macro-Iterations      │
│ (orbitals + CI solved │
│  alternately)         │
└──────────┬────────────┘
┌──────────────────────┐
│ Converged State-      │
│ Averaged CASSCF       │
│ Wavefunction          │
└──────────┬────────────┘
┌──────────────────────┐
│ Vertical Excitation   │
│ Energies (S0, S1, S2) │
└──────────────────────┘

Tutorial Contents

  1. Introduction – Overview of CASSCF and how it builds on the RHF tutorial.
  2. Input File – Constructing a state-averaged CASSCF input in ORCA.
  3. Output Analysis – Reading macro-iterations, state energies, and CSF weights.
  4. How CASSCF Works – Conceptual walkthrough of what the calculation is actually doing.
  5. Mathematical Background – Linked from the GAMESS CASSCF tutorial, plus what's ORCA-specific.
  6. Complete CASSCF Algorithm – Step-by-step overview of ORCA's CASSCF procedure.

Example System

This tutorial uses DAE, a diarylethene photoswitch (39 atoms, including two thiophene rings and a perfluorocyclopentene bridge) — the same molecule used in the GAMESS CASSCF tutorial. The active space is CAS(4,4) — 4 electrons in 4 orbitals — with 3 states computed (state-averaged, equal weights), using the def2-SVP basis set.

Because the GAMESS tutorial uses the identical molecule, the identical (4,4) active space, and the identical 3 states (at the CCD basis set rather than def2-SVP), the two tutorials are set up to be compared directly — see the note in Output File and How CASSCF Works.


Prerequisites

Before beginning this tutorial, you should be familiar with:


  • Input File

    Complete CASSCF input discussed in this tutorial.

    Input

  • Output File

    Complete output discussed in this tutorial.

    Output

  • Geometry (.xyz)

    Molecular geometry, converted from an optimized Gaussian structure via Open Babel.

    Geometry

  • RHF Orbitals (gbw)

    Converged RHF orbitals, read in as the CASSCF starting guess. Generated in the RHF tutorial.

    RHF GBW

  • CASSCF Orbitals (gbw)

    Converged, optimized CASSCF orbitals from this tutorial.

    CASSCF GBW