CASSCF calculations of excited states benefit from the use of Natural Transition orbitals. In particular, SA-CASSCF requires state-averaged NTOs. They can be generated from a CIS calculation by the following procedure. How to construct state-averaged Natural Transition Orbitals from CIS calculation 1. Run the calculation with the header as in sample_cisnos.inp 2. Cut $VEC and $CISVEC groups from the resulting *.dat file (these groups are consecutive, so it is easier to remove $DATA group from *.dat to leave only $VEC and $CISVEC). Concatenate these to the end of the *.inp file 3. In the *.inp file uncomment runtyp=prop, $GUESS GUESS=moread norb=$END, $GUESS ASIS=.t. $END, $CISPRP=.t. istate=- RDCISV=.t., $CISPRP istate=- $END 4. Run this file, it takes a couple of minutes (just to read the input and write the output). The *.dat file now contains $VEC group preceded by a string CIS NATURAL ORBITALS without specified state. This means that the orbitals are averaged over the specified number of states. 5. Remove old $VEC+$CISVEC from the *.inp file and concatenate the new $VEC. These are the target CIS-averaged NTOs, and we are going to visualize them. 6. In the *.inp file replace cityp=cis by cityp=none or just comment cityp=cis, uncomment $guess prtmo=.t. $end 7. Run again (it takes a couple of minutes) and open the output with Chemcraft. Don't look at the "orbital energies", because they are nonsense. You need the frontier orbitals: If you like their shape, use them for further CASSCF calculation. If not, go to step 1, change the number of states to average and run again. Example: $CONTRL SCFTYP=RHF MAXIT=100 INTTYP=HONDO ICUT=11 ITOL=30 cityp=cis ! runtyp=prop ECP=none COORD=UNIQUE EXETYP=run fstint=.t. gencon=.t. d5=.t. $END $SYSTEM TIMLIM=360000 MWORDS=350 $END $smp load=0 call64=.t. $end $p2p p2p=.t. dlb=.t. mixed=.t. $end $trans mptran=2 dirtrf=.t. aoints=dist altpar=.t. mode=112 $end $SCF DIRSCF=.TRUE. nconv=6 $END ! $GUESS GUESS=moread norb= $END ! $guess prtmo=.t. $end ! $guess asis=.t. $end $BASIS GBASIS= $END $CIS NSTATE= mult=1 NDAVIT=100 ! Minus sing in ISTATE here means averaging over ISTATE states ! cisprp=.t. ISTATE=- RDCISV=.t. $END ! $cisprp ISTATE=- $end $DATA $END
Last updated: September 29, 2020