An alternative to level-shifting for cases exhibiting small (or zero) HOMO/LUMO gaps is
the pseudo-fraction occupation number (pFON) approach,^{Rabuck:1999}
which corresponds to a “smearing out” of the occupation numbers at the HOMO level.
Often, this improves the stability and accelerates the convergence by eliminating the discontinuous occupancy changes (from
one SCF iteration to the next) that can arise in small-gap systems. Essentially, more than one
electron configuration is allowed during the same orbital optimization, with fractional occupancies.
This is formally equivalent to a finite-temperature formalism.

The pFON method introduces a density matrix

$${P}_{\mu \nu}=\sum _{p=1}^{N}{n}_{p}{C}_{\mu p}{C}_{\nu p}$$ | (4.36) |

with occupancies $0\le {n}_{p}\le 1$ that can be fractional, whereas for a conventional SCF calculation either ${n}_{p}=1$ (occupied) or ${n}_{p}=0$ (virtual). In pFON, the occupation numbers follow a Fermi-Dirac distribution,

$${n}_{p}={\left(1+{e}^{({\u03f5}_{p}-{\u03f5}_{\mathrm{F}})/kT}\right)}^{-1},$$ | (4.37) |

where ${\u03f5}_{p}$ is an SCF eigenvalue (orbital energy) and $T$ is a temperature. In Q-Chem’s implementation, the Fermi energy is set to ${\u03f5}_{\mathrm{F}}=({\u03f5}_{\mathrm{HOMO}}+{\u03f5}_{\mathrm{LUMO}})/2$. To ensure conservation of the total number of electrons, the pFON approach re-scales the occupation numbers so that ${\sum}_{p}{n}_{p}={N}_{\mathrm{el}}$.

There are several parameters to control the electronic temperature $T$ throughout a pFON SCF run. The temperature can either be held constant at finite temperature (${T}_{\mathrm{init}}$ = ${T}_{\mathrm{final}}$), or the system can be cooled from a higher temperature down to the final temperature. So far, no zero-temperature extrapolation has been implemented.

OCCUPATIONS

Activates pFON calculation.

TYPE:

INTEGER

DEFAULT:

0

OPTIONS:

0
Integer occupation numbers
1
Not yet implemented
2
Pseudo-fractional occupation numbers (pFON)

RECOMMENDATION:

Use pFON to improve convergence for small-gap systems.

FON_T_START

Initial electronic temperature (in K) for FON calculation.

TYPE:

INTEGER

DEFAULT:

1000

OPTIONS:

Any desired initial temperature.

RECOMMENDATION:

Pick the temperature to either reproduce experimental conditions (*e.g.* room
temperature) or as low as possible to approach zero-temperature.

FON_T_END

Final electronic temperature for FON calculation.

TYPE:

INTEGER

DEFAULT:

0

OPTIONS:

Any desired final temperature.

RECOMMENDATION:

Pick the temperature to either reproduce experimental conditions (*e.g.* room
temperature) or as low as possible to approach zero-temperature.

FON_NORB

Number of orbitals above and below the Fermi level that are allowed to have
fractional occupancies.

TYPE:

INTEGER

DEFAULT:

4

OPTIONS:

$n$
number of active orbitals

RECOMMENDATION:

The number of valence orbitals is a reasonable choice.

FON_T_SCALE

Determines the step size for the cooling.

TYPE:

INTEGER

DEFAULT:

90

OPTIONS:

$n$
temperature is scaled by $0.01\cdot n$ in each cycle (cooling method 1)
$n$
temperature is decreased by n K in each cycle (cooling method 2)

RECOMMENDATION:

The cooling rate should be neither too slow nor too fast. Too slow may lead to
final energies that are at undesirably high temperatures. Too fast may lead to
convergence issues. Reasonable choices for methods 1 and 2 are 98 and 50,
respectively. When in doubt, use constant temperature.

FON_E_THRESH

DIIS error below which occupations will be kept constant.

TYPE:

INTEGER

DEFAULT:

4

OPTIONS:

$n$
freeze occupations below DIIS error of ${10}^{-n}$

RECOMMENDATION:

This should be one or two numbers bigger than the desired SCF convergence
threshold.

FON_T_METHOD

Selects cooling algorithm.

TYPE:

INTEGER

DEFAULT:

1

OPTIONS:

1
temperature is scaled by a factor in each cycle
2
temperature is decreased by a constant number in each cycle

RECOMMENDATION:

We have made slightly better experience with a constant cooling rate. However,
choose constant temperature when in doubt.

$molecule 0 1 Pt -0.20408 1.19210 0.54029 Pt 2.61132 1.04687 0.66196 Pt 0.83227 0.03296 -1.49084 Pt 0.95832 -1.05360 0.92253 Pt -1.66760 -1.07875 -1.02416 $end $rem METHOD pbe MAX_SCF_CYCLES = 200 ECP fit-lanl2dz SYMMETRY false OCCUPATIONS 2 ! pseudo-fractional occupation numbers FON_NORB 10 ! 10 fractionally occupied orbitals above and below the Fermi level FON_T_START 1000 ! starting electronic temperature: 1000 K FON_T_END 0 ! final electronic temperature: 0 K FON_T_METHOD 2 ! constant cooling scheme FON_T_SCALE 25 ! reduce the temperature by 25 K per cooling step FON_E_THRESH 5 ! freeze occupation numbers once DIIS error is 10-5 GEN_SCFMAN false $end