Skip to content

Complete CASSCF Algorithm (ORCA)

This page walks through ORCA's specific procedure for this tutorial's calculation, connecting each step to both the shared theory (linked from Mathematical Background) and the actual output produced (see Output File).

Read RHF Orbitals (dae-rhf.gbw, via %moinp)
Initial CI State Check
   (diagonalize CI problem in the
    active space, orbitals unchanged)
┌──────────────────────────────┐
│         MACRO-ITERATION       │
│                                │
│  Solve CI Problem              │
│  (within CAS(4,4),             │
│   state-averaged over 3 roots) │
│           │                    │
│           ▼                    │
│  Orbital Optimization step     │
│  (improve active + inactive    │
│   orbitals using CI results)   │
│                                │
└──────────────┬─────────────────┘
               │  repeat until converged
Converged State-Averaged CASSCF
   S₀, S₁, S₂ energies + CSF weights
Write Converged Orbitals
   (dae-cas.gbw)

Step by Step

  1. Read the RHF orbitals. !moread + %moinp "dae-rhf.gbw" load the converged orbitals from the RHF tutorial as the starting point, rather than building a fresh initial guess.

  2. Initial CI state check. Before touching the orbitals, ORCA solves the CI problem within the CAS(4,4) active space using the RHF orbitals exactly as given, as a diagnostic. This is the block in the output labeled INITIAL CI STATE CHECK, giving S₀/S₁/S₂ energies that are close to, but not yet, the final answer (see Output File).

  3. Macro-iterations. Each macro-iteration does two things in sequence:

    This calculation took 26 macro-iterations to converge.

  4. Final converged states. Once the orbitals stop changing meaningfully between macro-iterations, ORCA reports the final CAS-SCF STATES FOR BLOCK 0 MULT= 1 NROOTS= 3 block — the S₀, S₁, S₂ energies and CSF weights discussed in Output File and How CASSCF Works.

  5. Write the converged orbitals. The final, CASSCF-optimized orbitals are written to dae-cas.gbw — available for use in a subsequent calculation (e.g. an XMCQDPT correction), the same way dae-rhf.gbw from Step 1 was itself the output of an earlier RHF job.