Whereas the range-separation parameters for the functionals described in Section 5.6.1 are wholly empirical in nature and should not be adjusted, for the functionals described in Section 5.6.2 some adjustment was suggested, especially for TDDFT calculations and for any properties that require interpretation of orbital energies, e.g., HOMO/LUMO gaps. This adjustment can be performed in a non-empirical, albeit system-specific way, by “tuning” the value of in order to satisfy certain criteria that ought rigorously to be satisfied by an exact density functional.
System-specific optimization of is based on the Koopmans condition that would be satisfied for the exact density functional, namely, that for an -electron molecule43
(5.17) |
In other words, the HOMO eigenvalue should be equal to minus the ionization energy (IE), where the latter is defined by a SCF procedure.940, 1018 When an RSH functional is used, all of the quantities in Eq. (5.17) are -dependent, so this parameter is adjusted until the condition in Eq. (5.17) is met, which requires a sequence of SCF calculations on both the neutral and ionized species, using different values of . For proper description of charge-transfer states, Baer and co-workers43 suggest finding the value of that (to the extent possible) satisfies both Eq. (5.17) for the neutral donor molecule and its analogue for the anion of the acceptor species. Note that for a given approximate density functional, there is no guarantee that the IE condition can actually be satisfied for any value of , but in practice it usually can be, and published benchmarks suggest that this system-specific approach affords the most accurate values of IEs and TDDFT excitation energies.589, 810, 43 It should be noted, however, that the optimal value of can very dramatically with system size, e.g., it is very different for the cluster anion (HO) than it is for cluster (HO).937
A script that optimizes , called OptOmegaIPEA.pl
, is located in
the $QC/bin directory. The script scans over the range
0.1–0.8 bohr, corresponding to values of the $rem variable
OMEGA in the range 100–800. See the script for the instructions how
to modify the script to scan over a wider range. To execute the script, you
need to create three inputs for a BNL job using the same geometry and basis
set, for a neutral molecule (N.in
), its anion (M.in
), and its
cation (P.in
), and then run the command
OptOmegaIPEA.pl >& optomega
which both generates the input files (N_*
, P_*
, M_*
) and
runs Q-Chem on them, writing the optimization output into optomega
.
This script applies the IE condition to both the neutral molecule and its
anion, minimizing the sum of for
these two species. A similar script, OptOmegaIP.pl
, uses
Eq. (5.17) for the neutral molecule only.
Note: 1. If the system does not have positive EA, then the tuning should be done according to the IP condition only. The IP/EA script will yield an incorrect value of in such cases. 2. In order for the scripts to work, one must specify SCF_FINAL_PRINT = 1 in the inputs. The scripts look for specific regular expressions and will not work correctly without this keyword.