Systems such as transition metals, open-shell species, and molecules with
highly-stretched bonds often exhibit multiple, near-degenerate solutions to the
SCF equations. Multiple solutions can be located using SCF metadynamics
(Section 4.9.2), but given the approximate nature of the SCF
calculation in the first place, there is in such cases no clear reason to
choose one of these solutions over another. These SCF solutions are not
subject to any non-crossing rule, and often do cross (*i.e.*, switch energetic
order) as the geometry is changed. Consequently, the lowest energy state may switch
abruptly with consequent discontinuities in the energy gradients. It is
therefore desirable to have a method that treats all of these near-degenerate
SCF solutions on an equal footing and might yield a smoother, qualitatively
correct potential energy surface. This can be achieved by using multiple SCF
solutions (obtained, via *e.g.* SCF metadynamics) as a basis for a
configuration interaction (CI) calculation. Since the various SCF solutions
are not orthogonal to one another — meaning that one solution cannot be
constructed as a single determinant composed of orbitals from another
solution — this CI is a bit more complicated and is denoted as a non-orthogonal
CI (NOCI).^{Thom:2009b}

NOCI can be viewed as an alternative to CASSCF within an “active space” consisting of the SCF states of interest, and has the advantage that the SCF states, and thus the NOCI wave functions, are size-consistent. In common with CASSCF, it is able to describe complicated phenomena such as avoided crossings (where states mix instead of passing through each other) as well as conical intersections (whereby via symmetry or else accidental reasons, there is no coupling between the states, and they pass cleanly through each other at a degeneracy).

Another use for a NOCI calculation is that of symmetry restoration. At some geometries, the SCF states break spatial or spin symmetry to achieve a lower energy single determinant than if these symmetries were conserved. As these symmetries still exist within the proper electronic Hamiltonian, its exact eigenfunctions should preserve them. In the case of spin, this manifests as spin contamination, while for spatial symmetries it usually manifests as artefactual localization. To recover a (yet lower energy) wave function retaining the correct symmetries, one can include these broken-symmetry states (with all relevant symmetry permutations) in a NOCI calculation; the resultant eigenfunction will have the true symmetries restored, as a linear combination of the broken-symmetry states.

A common example occurs in the case of a spin-contaminated UHF reference state.
Performing a NOCI calculation in a basis consisting of this state, plus a
second state in which all $\alpha $ and $\beta $ orbitals have been switched,
often reduces spin contamination in the same way as the half-projected
Hartree-Fock method,^{Mayer:1993} although there is no guarantee that the
resulting wave function is an eigenfunction of ${\widehat{S}}^{2}$. Another example
consists of using a UHF wave function with ${M}_{S}=0$, along with its
spin-exchanged version (wherein all $\alpha \leftrightarrow \beta $ orbitals are
switched), resulting in two new NOCI eigenfunctions, one with even $S$ (a
mixture of $S=0,2,\mathrm{\dots}$), and one with odd $S$ (mixing $S=1,3,\mathrm{\dots}$).
These may be used to approximate singlet and triplet wave functions.

NOCI can be enabled by specifying CORRELATION = NOCI, and will
automatically use all of the states located with SCF metadynamics. Two
spin-exchanged versions of a UHF wave function can be requested simply by
*not* turning on metadynamics. For more customization, a *$noci* input
section can be included having, *e.g.*, the following format:

$noci 1 2 -2 4 2 $end

In this particular case, the first line specifies that states 1, 2, and 4 are
to be included in the NOCI calculation, along with state “$-$2”, which
indicates the spin-exchanged version of state 2. The second (optional) line
indicates which eigenvalue is to be returned to Q-Chem, with the convention
that 0 indicates the lowest state so the *$noci* input section above is
requesting the third state.

Analytic gradients are not available for NOCI but geometry optimizations can be performed automatically using finite-difference gradients.

Q-Chem 5.2 features a new package LIBNOCI dedicated to running
NOCI calculations, and accessed using

USE_LIBNOCI = TRUE.
The LIBNOCI implementation introduces flexible job control, whereby the method
used to generate multiple states for the NOCI basis can be defined by
the user.
Initially, a set of reference determinants must be chosen, either using a
single SCF calculation or by reading sets or orbital coefficients from file
as requested by the *$rem* variable NOCI_REFGEN.
From these reference states, multiple non-orthogonal states are then
created either using SCF metadynamics, or as excitations from the reference
determinants, as requested by the *$rem* variable NOCI_DETGEN.
When generating multiple using excitations within an active space, the
active orbitals are controlled using the *$active_orbitals* keyword, *i.e.*

$active_orbitals 1 4 11 14 $end

where the $\beta $ orbitals are offset by the total number of $\alpha $ molecular
orbitals (*e.g.* the above example selects $\alpha $ orbitals 1 and 4, along with
$\beta $ orbitals 1 and 4, with a total of 10 $\alpha $ MOs including occupied
and virtual orbitals). The resulting multiple determinants are then
individually relaxed at the SCF level, unless this is explicitly skipped using
SKIP_SCFMAN = TRUE. Finally, NOCI is run using the full set of
multiple determinants identified.

The LIBNOCI package also incorporates compatibility with the new SCF metadynamics implementation (see Section 4.9.3), as well as the holomorphic Hartree–Fock approach which allows multiple Hartree–Fock solutions to be continued across all geometries (see Section. 4.9.4).

USE_LIBNOCI

Turn on the use of LIBNOCI for running NOCI calculations.

TYPE:

LOGICAL

DEFAULT:

FALSE

OPTIONS:

False
Do not use LIBNOCI (uses original Q-Chem implementation).
True
Use the LIBNOCI implementation.

RECOMMENDATION:

The *$rem* variables detailed below are only available in LIBNOCI.

NOCI_REFGEN

Control how the initial reference determinants are created.

TYPE:

INTEGER

DEFAULT:

0

OPTIONS:

0
Generate initial reference determinant from a single SCF calculation.
1
Read (multiple) initial reference determinants from a previous calculation.

RECOMMENDATION:

The specific reference determinants to be read from a previous calculation
can be indicated using the *$scf_read* keyword.

NOCI_DETGEN

Control how the multiple determinants for NOCI are created.

TYPE:

INTEGER

DEFAULT:

0

OPTIONS:

0
Use only the initial reference determinants.
1
Generate CIS excitations from each reference determinant.
2
Generate all FCI excitations from each reference determinant.
3
Generate $n$ multiple determinants using SCF metadynamics,
where $n$ is given by SCF_SAVEMINIMA = $n$.
4
Generate all CAS excitations from each reference determinant,
where the active orbitals are specified using *$active_orbitals*.

RECOMMENDATION:

By default, these multiple determinants are optimized at the SCF level before
running NOCI. This behaviour can be turned off using by specifying
SKIP_SCFMAN = TRUE.

NOCI_NEIGVAL

The number of NOCI eigenvalues to be printed.

TYPE:

INTEGER

DEFAULT:

10

OPTIONS:

$n$
Positive integer

RECOMMENDATION:

Increase this to print progressively higher NOCI energies.

NOCI_PRINT

Specify the debug print level of NOCI.

TYPE:

INTEGER

DEFAULT:

1

OPTIONS:

$n$
Positive integer

RECOMMENDATION:

Increase this for additional debug information.

$molecule 0 1 H 0.0000000 0.0000000 0.0000000 H 0.0000000 0.0000000 4.0000000 $end $rem EXCHANGE hf CORRELATION noci UNRESTRICTED true BASIS sto-3g SCF_CONVERGENCE 10 MAX_SCF_CYCLES 1000 MOM_START 1 USE_LIBNOCI true SCF_SAVEMINIMA 4 SCF_MINFIND_RANDOMMIXING 30000 SCF_MINFIND_MIXMETHOD 1 NOCI_REFGEN 0 NOCI_DETGEN 3 NOCI_NEIGVAL 4 $end