The restricted active space spin-flip (RAS-SF) is a special form of configuration interaction that is capable of describing the ground and low-lying excited states with moderate computational cost in a single-reference formulation [390, 391, 392, 393], including strongly correlated systems. The RAS-SF approach is essentially a much lower computational cost alternative to Complete Active Space SCF (CAS-SCF) methods. RAS-SF typically works by performing a full CI calculation within an active space that is defined by the half-occupied orbitals of a restricted open shell HF (ROHF) reference determinant. In this way the difficulties of state-specific orbital optimization in CAS-SCF are bypassed. Single excitations into (hole) and out of (particle) the active space provide state-specific relaxation instead. Unlike most CI-based methods, RAS-SF is size-consistent, as well as variational, and, the increase in computational cost with system size is modest for a fixed number of spin flips. Beware, however, for the increase in cost as a function of the number of spin-flips is exponential! RAS-SF has been shown to be capable of tackling multiple low-lying electronic states in polyradicals and reliably predicting ground state multiplicities [390, 394, 395, 396, 391, 392].
RAS-SF can also be viewed as one particular case of a more general RAS-CI family of methods. For instance, instead of defining the active space via spin-flipping as above, initial orbitals of other types can be read in, and electronic excitations calculated this way may be viewed as a RAS-EE-CI method (though size-consistency will generally be lost). Similar to EOM-CC approaches (see Section 6.7), other target RAS-CI wavefunctions can be constructed starting from any electronic configuration as the reference and using a general excitation-type operator. For instance, one can construct an ionizing variant that removes an arbitrary number of particles that is RAS-IP-CI. An electron attaching variant is RAS-EA-CI [393].
Q-Chem features two versions of RAS-CI code with different, complementary, functionalities. One code (invoked by specifying CORR=RASCI) has been written by David Casanova [393]; below we will refer to this code as RASCI1. The second implementation (invoked by specifying CORR=RASCI2) is primarily by Paul Zimmerman [391]; we will refer to it as RASCI2 below.
The RASCI1 code uses an integral-driven implementation (exact integrals) and spin-adaptation of the CI configurations which results in a smaller diagonalization dimension. The current Q-Chem implementation of RASCI1 only allows for the calculation of systems with an even number of electrons, with the multiplicity of each state being printed alongside the state energy. Shared memory parallel execution decreases compute time as all the underlying integrals routines are parallelized.
The RASCI2 code includes the ability to simulate closed and open shell systems (i.e., even and odd numbers of electrons), fast integral evaluation using the resolution of the identity (RI) approximation, shared memory parallel operation, and analysis of the values and natural orbitals. The natural orbitals are stored in the QCSCRATCH directory in a folder called “NOs” in Molden-readable format. Shared memory parallel is invoked as described in Section 2.7.1. A RASCI2 input requires the specification of an auxiliary basis set analogous to RI-MP2 computations (see Section 5.5.1). Otherwise, the active space as well as hole and particle excitations are specified in the same way as in RASCI1.
Note: Because RASCI2 uses the RI approximation, the total energies computed with the two codes will be slightly different; however, the energy differences between different states should closely match each other.
In the RAS formalism, we divide the orbital space into three subspaces called RAS1, RAS2 and RAS3 (Fig. 6.2). The RAS-CI states are defined by the number of orbitals and the restrictions in each subspace.
The single reference RAS-CI electronic wavefunctions are obtained by applying a spin-flipping or excitation operator on the reference determinant .
(6.56) |
The operator must obey the restrictions imposed in the subspaces RAS1, RAS2 and RAS3, and can be decomposed as:
(6.57) |
where contains all possible electronic promotions within the RAS2 space, that is, a reduced full CI, and the rest of the terms generate configurations with different number of holes ( superindex) in RAS1 and electrons in RAS3 ( superindex). The current implementation truncates this series up to the inclusion of hole and particle contributions, i.e. the first three terms on the right hand side of Eq. (6.57).
At present the RASCI1 and RASCI2 implementations employ different keywords (which will be reconciled in a future version). This subsection applies to RASCI1 (even electron systems, spin adapted algorithm using exact integrals).
The use of the RAS-CI1 methodology is controlled by setting the $rem variable CORRELATION to RASCI and EXCHANGE should be set to HF. The RASCI1 implementation is only compatible with even numbers of electrons and restricted orbitals, i.e., UNRESTRICTED = FALSE.
The minimum input also requires specifying the desired (non-zero) value for RAS_ROOTS, the number of electrons in the “active” RAS2 space and the number of orbitals in RAS1 and RAS2 subspaces.
RAS_ROOTS
Sets the number of RAS-CI roots to be computed.
TYPE:
INTEGER
DEFAULT:
None
OPTIONS:
Compute RAS-CI states
RECOMMENDATION:
None. Only works with RASCI.
RAS_ELEC
Sets the number of electrons in RAS2 (active electrons).
TYPE:
INTEGER
DEFAULT:
None
OPTIONS:
User-defined integer,
RECOMMENDATION:
None. Only works with RASCI.
RAS_ACT
Sets the number of orbitals in RAS2 (active orbitals).
TYPE:
INTEGER
DEFAULT:
None
OPTIONS:
User-defined integer,
RECOMMENDATION:
None. Only works with RASCI.
RAS_OCC
Sets the number of orbitals in RAS1
TYPE:
INTEGER
DEFAULT:
0
OPTIONS:
User-defined integer,
RECOMMENDATION:
These are the initial doubly occupied orbitals (RAS1) before including type of excitations. The RAS1 space starts from the lowest orbital up to RAS_OCC, i.e. no frozen orbitals option available yet. Only works with RASCI.
RAS_DO_HOLE
Controls the presence of hole excitations in the RAS-CI wavefunction.
TYPE:
LOGICAL
DEFAULT:
TRUE
OPTIONS:
TRUE
Include hole configurations (RAS1 to RAS2 excitations)
FALSE
Do not include hole configurations
RECOMMENDATION:
None. Only works with RASCI.
RAS_DO_PART
Controls the presence of particle excitations in the RAS-CI wavefunction.
TYPE:
LOGICAL
DEFAULT:
TRUE
OPTIONS:
TRUE
Include particle configurations (RAS2 to RAS3 excitations)
FALSE
Do not include particle configurations
RECOMMENDATION:
None. Only works with RASCI.
RAS_AMPL_PRINT
Defines the absolute threshold () for the CI amplitudes to be printed.
TYPE:
INTEGER
DEFAULT:
10
0.1 minimum absolute amplitude
OPTIONS:
User-defined integer,
RECOMMENDATION:
None. Only works with RASCI.
RAS_ACT_ORB
Sets the user-selected active orbitals (RAS2 orbitals).
TYPE:
INTEGER ARRAY
DEFAULT:
From RAS_OCC+1 to RAS_OCC+RAS_ACT
OPTIONS:
The number of orbitals must be equal to the RAS_ACT variable
RECOMMENDATION:
None. Only works with RASCI.
RAS_NATORB
Controls the computation of the natural orbital occupancies.
TYPE:
LOGICAL
DEFAULT:
FALSE
OPTIONS:
TRUE
Compute natural orbital occupancies for all states
FALSE
Do not compute natural orbital occupancies
RECOMMENDATION:
None. Only works with RASCI.
RAS_NATORB_STATE
Allows to save the natural orbitals of a RAS-CI computed state.
TYPE:
INTEGER
DEFAULT:
0
OPTIONS:
Saves the natural orbitals for the -th state
RECOMMENDATION:
None. Only works with RASCI.
RAS_GUESS_CS
Controls the number of closed shell guess configurations in RAS-CI.
TYPE:
INTEGER
DEFAULT:
0
OPTIONS:
Imposes to start with closed shell guesses
RECOMMENDATION:
Only relevant for the computation of singlet states. Only works with RASCI.
RAS_SPIN_MULT
Specifies the spin multiplicity of the roots to be computed
TYPE:
INTEGER
DEFAULT:
1
Singlet states
OPTIONS:
0
Compute any spin multiplicity
User-defined integer,
RECOMMENDATION:
Only for RASCI, which at present only allows for the computation of systems with an even number of electrons. Thus, RAS_SPIN_MULT only can take odd values.
At present the RASCI1 and RASCI2 implementations employ different keywords (which will be reconciled in a future version). This subsection applies to RASCI2 (even and odd electron systems, determinant-driven algorithm using the resolution of the identity approximation).
The use of the RAS-CI2 methodology is controlled by setting the CORRELATION = RASCI2 and EXCHANGE = HF. The minimum input also requires specifying the desired (non-zero) value for RAS_N_ROOTS, and the number of active occupied and virtual orbital comprising the “active” RAS2 space. RASCI2 calculations also require specification of an auxiliary basis via AUX_BASIS.
RAS_N_ROOTS
Sets the number of RAS-CI roots to be computed.
TYPE:
INTEGER
DEFAULT:
None
OPTIONS:
Compute RAS-CI states
RECOMMENDATION:
None. Only works with RASCI2
RAS_ACT_OCC
Sets the number of occupied orbitals to enter the RAS active space.
TYPE:
Integer
DEFAULT:
None
OPTIONS:
n
user defined integer
RECOMMENDATION:
None. Only works with RASCI2
RAS_ACT_VIR
Sets the number of virtual orbitals to enter the RAS active space.
TYPE:
Integer
DEFAULT:
None
OPTIONS:
n
user defined integer
RECOMMENDATION:
None. Only works with RASCI2.
RAS_ACT_DIFF
Sets the number of alpha vs. beta electrons
TYPE:
Integer
DEFAULT:
None
OPTIONS:
n
user defined integer
RECOMMENDATION:
Set to 1 for an odd number of electrons or a cation, -1 for an anion. Only works with RASCI2.
Other $rem variables that can be used to control the evaluation of RASCI2 calculations are SET_ITER for the maximum number of Davidson iterations, and N_FROZEN_CORE and N_FROZEN_VIRTUAL to exclude core and/or virtual orbitals from the RASCI2 calculation.
Example 6.169 Input for a RAS-2SF-CI calculation of three states of the DDMX tetraradical using RASCI1. The active space (RAS2) contains electrons in the singly occupied orbitals in the ROHF quintet reference. Natural orbital occupancies are requested.
$molecule
0 5
C 0.000000 0.000000 1.092150
C -1.222482 0.000000 0.303960
C -2.390248 0.000000 1.015958
H -2.344570 0.000000 2.095067
H -3.363161 0.000000 0.537932
C -1.215393 0.000000 -1.155471
H -2.150471 0.000000 -1.702536
C 0.000000 0.000000 -1.769131
C 1.215393 0.000000 -1.155471
H 2.150471 0.000000 -1.702536
C 1.222482 0.000000 0.303960
C 2.390248 0.000000 1.015958
H 2.344570 0.000000 2.095067
H 3.363161 0.000000 0.537932
$end
$rem
jobtype sp
exchange hf
correlation rasci
basis 6-31g
unrestricted false
mem_total 4000
mem_static 100
ras_roots 3
ras_act 4
ras_elec 4
ras_occ 25
ras_spin_mult 0
ras_natorb true
$end
Example 6.170 Input for a RAS-2IP-CI calculation of triplet states of F molecule using the dianion closed shell F as the reference determinant. RASCI1 code is used
$molecule
-2 1
F
F 1 rFF
rFF = 1.4136
$end
$rem
jobtype sp
exchange hf
correlation rasci
basis cc-pVTZ
mem_total 4000
mem_static 100
ras_roots 2
ras_act 6
ras_elec 10
ras_occ 4
ras_spin_mult 3
$end
Example 6.171 Input for a FCI/6-31G calculation of water molecule expanding the RAS2 space to the entire molecular orbital set. RASCI code is used.
$molecule
0 1
O 0.000 0.000 0.120
H -0.762 0.000 -0.479
H 0.762 0.000 -0.479
$end
$rem
jobtype sp
exchange hf
correlation rasci
basis 6-31G
mem_total 4000
mem_static 100
ras_roots 1
ras_act 13
ras_elec 10
ras_occ 0
ras_spin_mult 1
ras_do_hole false
ras_do_part false
$end
Example 6.172 Methylene single spin-flip calculation using RASCI2
$rem
jobtype sp
exchange HF
correlation RASCI2
basis cc-pVDZ
aux_basis rimp2-cc-pVDZ
unrestricted false
RAS_ACT_OCC 1 ! # alpha electrons
RAS_ACT_VIR 1 ! # virtuals in active space
RAS_ACT_DIFF 0 ! # set to 1 for odd # of e-s
ras_n_roots 4
set_iter 25 ! number of iterations in RASCI
$end
$molecule
0 3
C 0.0000000 0.0000000 0.0000000
H -0.8611113 0.0000000 0.6986839
H 0.8611113 0.0000000 0.6986839
$end
Example 6.173 Two methylene separated by 10 ; double spin-flip calculation using RASCI2. Note that the values for this case will not be uniquely defined at the triply-degenerate ground state.
$rem
exchange HF
correlation RASCI2
basis cc-pVDZ
aux_basis rimp2-cc-pVDZ
RAS_ACT_OCC 2 ! # alpha electrons
RAS_ACT_VIR 2 ! # virtuals in active space
RAS_ACT_DIFF 0 ! # set to 1 for odd # of e-s
unrestricted false
jobtype sp
ras_n_roots 8
set_iter 25
$end
$molecule
0 5
C 0.0000000 0.0000000 0.0000000
H -0.8611113 0.0000000 0.6986839
H 0.8611113 0.0000000 0.6986839
C 0.0000000 10.0000000 0.0000000
H -0.8611113 10.0000000 0.6986839
H 0.8611113 10.0000000 0.6986839
$end
Example 6.174 RASCI2 calculation of the nitrogen cation using double spin-flip.
$rem
exchange HF
correlation RASCI2
jobtype sp
basis 6-31G*
aux_basis rimp2-VDZ
RAS_ACT_OCC 3 ! # alpha electrons
RAS_ACT_VIR 3 ! # virtuals in active space
RAS_ACT_DIFF 1 ! # for odd # e-s, cation
unrestricted false
n_frozen_core 2
n_frozen_virtual 2
ras_n_roots 8
set_iter 25
$end
$molecule
1 6
N 0.0000000 0.0000000 0.0000000
N 0.0000000 0.0000000 4.5
$end