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,[Casanova and Head-Gordon(2009), Zimmerman et al.(2012)Zimmerman, Bell, Goldey, Bell, and Head-Gordon, Bell et al.(2013)Bell, Zimmerman, Casanova, Goldey, and Head-Gordon, Casanova(2013)] including strongly correlated systems. The RAS-SF approach is essentially a much lower computational cost alternative to Complete Active Space SCF (CASSCF) 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 CASSCF 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.[Casanova and Head-Gordon(2009), Bell et al.(2010)Bell, Casanova, and Head-Gordon, Zimmerman et al.(2011)Zimmerman, Bell, Casanova, and Head-Gordon, Casanova(2012), Zimmerman et al.(2012)Zimmerman, Bell, Goldey, Bell, and Head-Gordon, Bell et al.(2013)Bell, Zimmerman, Casanova, Goldey, and Head-Gordon]
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 7.7), other target RAS-CI wave functions 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.[Casanova(2013)]
Q-Chem features two versions of RAS-CI code with different, complementary, functionality. One code (invoked by specifying CORRRELATION = RASCI) has been written by David Casanova;[Casanova(2013)] below we will refer to this code as RASCI1. The second implementation (invoked by specifying CORRRELATION = RASCI2) is primarily due to Paul Zimmerman;[Zimmerman et al.(2012)Zimmerman, Bell, Goldey, Bell, and Head-Gordon] 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.8. A RASCI2 input requires the specification of an auxiliary basis set analogous to RI-MP2 computations (see Section 6.6.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. 7.2). The RAS-CI states are defined by the number of orbitals and the restrictions in each subspace.
The single reference RAS-CI electronic wave functions are obtained by applying a spin-flipping or excitation operator on the reference determinant .
(7.88) |
The operator must obey the restrictions imposed in the subspaces RAS1, RAS2 and RAS3, and can be decomposed as:
(7.89) |
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 ( super-index) in RAS1 and electrons in RAS3 ( super-index). 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. (7.89).
In general, the RAS-CI family of methods within the and approximation is unable to capture the necessary amounts of dynamic correlation for the computation of relative energies with chemical accuracy. The missed correlation can be added on top of the RAS-CI wave function using multi-reference perturbation theory (MRPT).[Casanova(2014)] The second order energy correction, i.e. RASCI(2), can be expressed as:
(7.90) |
where indicates the zero-order space and is the complementary set of determinants. There is no natural choice for the excited energies in MRPT, and two different models are available within the RASCI(2) approach, that is the Davidson-Kapuy and Epstein-Nesbet partitionings. As it is common practice in many second-order MRPT corrections, the denominator energy differences in Eq. (7.90) can be level shifted with a parameter .
The RAS-CI wave function of multi-chromophoric systems can be decomposed in terms of local excitations (LE), charge resonances (CR) and multi-exciton configurations (ME).
(7.91) |
The wave function decomposition scheme combines the use of fragment (localized) orbitals with the computation of charge and spin cumulant indexes.[Luzanov et al.(2015)Luzanov, Casanova, Feng, and Krylov, Casanova and Krylov(2016)] Such analysis is extremely useful in order to characterize in great detail the nature of the ground and excited states in the presence of two or more molecules or chromophoric moieties. The ME contributions can be further decomposed into different spin coupled configurations localized on each. Typically, the ME part of a singlet state in a molecular dimer can be decomposed as singlet-singlet (SS) and triplet-tripled (TT) contributions.
(7.92) |
At the moment, this analysis is only available for the decomposition of spin singlet states.
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 wave function.
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 wave function.
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.
RAS_PT2
Perform second-order perturbative correction to RAS-CI energy
TYPE:
LOGICAL
DEFAULT:
FALSE
OPTIONS:
TRUE
Compute RASCI(2) energy corrections
FALSE
Do not compute RASCI(2) energy corrections
RECOMMENDATION:
None. Only works with RASCI.
RAS_PT2_PARTITION
Specifies the partitioning scheme in RASCI(2)
TYPE:
INTEGER
DEFAULT:
1
Davidson-Kapuy (DK) partitioning
OPTIONS:
2
Epstein-Nesbet (EN) partitioning
0
Do both DK and EN partitionings
RECOMMENDATION:
Only for RASCI if RAS_PT2 is set to true.
RAS_PT2_VSHIFT
Defines the energy level shift () in RASCI(2)
TYPE:
INTEGER
DEFAULT:
0
OPTIONS:
User-defined integer
RECOMMENDATION:
Only for RASCI if RAS_PT2 is set to true.
RAS_NFRAG
If activates the excitation analysis in RASCI
TYPE:
INTEGER
DEFAULT:
0
OPTIONS:
Number of fragments to be considered
RECOMMENDATION:
Only for RASCI. The printed information level is controlled by RAS_PRINT.
RAS_NFRAG_ATOMS
Sets the number of atoms in each fragment.
TYPE:
INTEGER ARRAY
DEFAULT:
None
OPTIONS:
The sum of the numbers must be equal to the total number of atoms in the systems
RECOMMENDATION:
None. Only works with RASCI.
RAS_FRAG_SETS
Sets the number of atoms in each fragment.
TYPE:
INTEGER ARRAY
DEFAULT:
[NOcc,NAct,NVir]
Number of orbitals within RAS1, RAS2 and RAS3 spaces
OPTIONS:
Defines sets of canonical MOs to be localized into fragments
RECOMMENDATION:
Setting within RAS1, RAS2 and RAS3 spaces alleviates the computational cost of the localization procedure. It might also result in improved fragment orbitals. Only works with RASCI.
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 7.188 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
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 7.189 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 1.4136
$end
$rem
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 7.190 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
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 7.191 Methylene single spin-flip calculation using RASCI2
$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
$rem
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
Example 7.192 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.
$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
$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
RAS_N_ROOTS 8
SET_ITER 25
$end
Example 7.193 RASCI2 calculation of the nitrogen cation using double spin-flip.
$molecule
1 6
N
N 1 4.5
$end
$rem
EXCHANGE HF
CORRELATION RASCI2
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