7.6 Non-Orthogonal Configuration Interaction with Single Substitutions (NOCIS) and Static Exchange (STEX)

7.6.3 One-Center NOCIS (1C-NOCIS)

There is also another approximate method, one-center NOCIS (1C-NOCIS)Oosterbaan:2020, which is an intermediate between NOCIS and STEX. The open-shell determinants are separately optimized as in NOCIS, but the coupling between non-orthogonal determinants with core holes on different centers is ignored, and NOCI is used to compute the remaining matrix elements between non-orthogonal determinants. 1C-NOCIS constructs the orthogonal Slater-Condon components of the matrices, and then performs NOCI to obtain the relevant non-orthogonal components. The diagonal blocks are then projected against the ground state. For singlet NOCIS, 1C-NOCIS is the same as STEX, since there are no open-shell ground-state orbitals.

There are two main advantages of 1C-NOCIS. First, it is substantially cheaper to evaluate than NOCIS and so enables the treatment of larger molecules. Second, and in contrast to STEX, it allows the open-shell states to relax separately, which may have a substantial impact on accuracy.

7.6.3.1 Job Control

NOCIS, 1C-NOCIS, and STEX run as subroutines in GEN_SCFMAN. Thus, for all calculations, you must set GEN_SCFMAN = TRUE. It is also highly recommended that you run an open-shell ground state calculation prior to running your NOCIS/STEX/1C-NOCIS calculations, which are all restricted.

NOCIS
       Run a NOCIS calculation
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       False Do not run a NOCIS calculation. True Run a NOCIS calculation.
RECOMMENDATION:
       This variable must be set to true to run a NOCIS or a 1C-NOCIS calculation.

STEX
       Run a STEX calculation
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       False Do not run a STEX calculation. True Run a STEX calculation.
RECOMMENDATION:
       This variable must be set to true to run a STEX calculation. NOCIS cannot be set to true.

ONE_CENTER
       Run a 1C-NOCIS calculation
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       False Run a NOCIS calculation. True Run a 1C-NOCIS calculation.
RECOMMENDATION:
       This variable must be set to true to run a 1C-NOCIS calculation, and NOCIS must be set to true as well.

ORB_OFFSET
       Determine the starting orbital for a NOCIS/STEX/1C-NOCIS calculation
TYPE:
       Integer
DEFAULT:
       None
OPTIONS:
       n Positive integer
RECOMMENDATION:
       This variable determines the starting orbital for the calculation. As an example, for the oxygen K-edge in CO2, the starting orbital would be 0, whereas for carbon it would be 2.

NUM_REF
       Set the number of atoms (references) to be included in the excitation calculation
TYPE:
       Integer
DEFAULT:
       None
OPTIONS:
       n Positive integer
RECOMMENDATION:
       This variable determines the number of references for the calculation. As an example, for the oxygen K-edge in CO2, the number of references would be would be 2 (two oxygen atoms), whereas for carbon it would be 1 (one carbon atom).

Example 7.22  NOCIS for the N K-edge of N2

$molecule
0 1
N            0.000000     0.000000     0.564990
N            0.000000     0.000000    -0.564990
$end

$rem
unrestricted false
jobtype sp
method  hf
basis   sto-3g
gen_scfman  true
nocis 1
orb_offset  0
num_ref  2
thresh   14
symmetry false
sym_ignore true
max_scf_cycles 500
$end

Example 7.23  STEX for the C K-edge of CN

$molecule
0 2
C  0.0000000   0.0000000   -0.6258140
N  0.0000000   0.0000000   0.5364120
$end

$rem
jobtype sp
method hf
scf_guess   core
scf_algorithm  diis_gdm
basis sto-3g
symmetry false
sym_ignore  true
max_scf_cycles 5000
thresh   14
scf_convergence   10
$end

@@@

$molecule
read
$end

$rem
jobtype sp
method  hf
basis   sto-3g
unrestricted  false
scf_guess   read
scf_algorithm   diis_gdm
gen_scfman  true
stex  1
orb_offset  1
num_ref  1
symmetry false
sym_ignore  true
max_scf_cycles 5000
thresh   14
scf_convergence   10
$end

Example 7.24  1C-NOCIS for the O K-edge of O2

$molecule
0 3
O  0.0000000   0.0000000   0.6021380
O  0.0000000   0.0000000   -0.6021380
$end

$rem
jobtype sp
method  hf
basis   sto-3g
gen_scfman  true
thresh   14
symmetry false
sym_ignore true
max_scf_cycles 500
$end

@@@

$molecule
read
$end

$rem
unrestricted false
jobtype sp
scf_guess   read
method  hf
basis   sto-3g
gen_scfman  true
nocis 1
one_center  1
orb_offset  0
num_ref  2
thresh   14
symmetry false
sym_ignore true
max_scf_cycles 500
$end