Brueckner orbitals (BOs) are highly desirable when one is unsure whether artificial symmetry breaking occurs at the Hartree-Fock (HF) level. It is artificial because this symmetry beraking merely reflects the lack of dynamic correlation at the HF level, not the lack of strong correlation. On the other hand, it is possible for a single-reference approach to attempt to describe strongly correlated systems by essential symmetry breaking. Therefore, it is often crucial to distinguish these two by obtaining orbitals in the presence of electron correlation.547
Since orbital-optimized coupled-cluster doubles (OOCCD) can be computationally demanding (), Rohini Lochan working with Martin Head-Gordon proposed to obtain orbitals by optimizing MP2 correlation energy. To this end, BOs are introduced into SOSMP2 and MOSMP2 methods to resolve the problems of symmetry breaking and spin contamination that are often associated with Hartree-Fock orbitals. So the molecular orbitals are optimized with the mean-field energy plus a correlation energy taken as the opposite-spin component of the second-order many-body correlation energy, scaled by an empirically chosen parameter. This “optimized second-order opposite-spin” (O2) method590 requires fourth-order computation on each orbital iteration. O2 is shown to yield predictions of structure and frequencies for closed-shell molecules that are very similar to scaled MP2 methods. However, it yields substantial improvements for open-shell molecules, where problems with spin contamination and symmetry breaking are shown to be greatly reduced.
$molecule 1 2 F H 1 1.001 $end $rem UNRESTRICTED TRUE JOBTYPE FORCE Options are SP/FORCE/OPT EXCHANGE HF DO_O2 1 O2 with O(N^4) SOS-MP2 algorithm SOS_FACTOR 1000000 Opposite Spin scaling factor = 1.0 SCF_ALGORITHM DIIS_GDM SCF_GUESS GWH BASIS sto-3g AUX_BASIS rimp2-vdz SCF_CONVERGENCE 8 THRESH 14 SYMMETRY FALSE PURECART 1111 $end
$molecule 1 2 F H 1 1.001 $end $rem UNRESTRICTED TRUE JOBTYPE FORCE Options are SP/FORCE/OPT EXCHANGE HF DO_O2 2 O2 with O(N^4) MOS-MP2 algorithm OMEGA 600 Omega = 600/1000 = 0.6 a.u. SCF_ALGORITHM DIIS_GDM SCF_GUESS GWH BASIS sto-3g AUX_BASIS rimp2-vdz SCF_CONVERGENCE 8 THRESH 14 SYMMETRY FALSE PURECART 1111 $end
Although O2 (or OOMP2) was successful in numerous applications, there are two limiations of this model. First of all, the energy optimization often runs into a numerical instabillity caused by the singularity of the MP2 energy due to a small energy denominator. Secondly, the disappearance of Coulson-Fischer point hinders the use of essential symmetry breaking. This led David Stück and Martin Head-Gordon to regualrized OOMP2 where they employed a linear level shift parameter, , to stabilize small energy denominators.891 The thermochemistry performance of -OOMP2 was found to be disappoitning when one wishes to keep large enough to recover the Coulson-Fischer point.782
Joonho Lee working with Martin Head-Gordon developed a new regularized OOMP2 suite of methods that utilizes an energy-dependent regularizer (-ragularizer) unlike the -regularizer.546 The -regularizer modifies the MP2 correlation energy as follows:
(6.23) |
where the energy denominator and controls the regularization strength. Evidently, gives zero correlation energy (i.e., HF) and recovers the unregularized MP2 energy expression. In -OOMP2, orbitals are then determined as a minimizer for . The value of 1.45 is recommended due to its good balance between the Coulson-Fischer point recovery and thermochemistry performance. It should be noted that -OOMP2 runs through Q-Chem’s new SCF library, libgscf, and new MP2 library, libgmbpt. The older OOMP2 code (written by Rohini Locan and David Stück) is no longer supported and used with a greater caution. Furthermore, the new OOMP2 code can handle restricted (R), complex, restricted (cR), unrestricted (U), generalized (G), and complex, generalized (cG) orbital types. The complex, unrestricted (cU) orbital type is not yet supported due to its limited applicability.
Summary of rem variables relevant to run -OOMP2:
CORRELATION | None (default) |
---|---|
JOBTYPE | sp (default) single point energy evaluation (force is not yet supported) |
BASIS | user’s choice (standard or user-defined: GENERAL or MIXED) |
GEN_SCFMAN_FINAL | TRUE (default if -OOMP2 is requested) |
FALSE (default for other SCF jobs) | |
AUX_BASIS | corresponding auxiliary basis (standard or user-defined: |
AUX_GENERAL or AUX_MIXED) | |
REGULARIZED_O2 | 0 (no regularizer; default) |
1 (-regularizer) | |
2 (-regularizer; recommended) | |
3 (-regularizer) | |
REG_PARAMETER | regularization parameter multipled by 1e; no default |
1450 (Recommended value for -OOMP2) | |
N_FROZEN_CORE | 0 (Code supports this functionality but it is not |
recommended due to some convergence issues) | |
N_FROZEN_VIRTUAL | 0 (Code supports this functionality but it is not |
recommended due to some convergence issues) | |
SCS | 0 (default) |
1 Turns on spin-component scaling with SCS-OOMP2, | |
2 SOS-OOMP2, | |
3 arbitrary SCS-OOMP2 | |
SSS_FACTOR | 1000000 (default) Specify same-spin-component scaling factor (multipled by 1e) |
SOS_FACTOR | 1000000 (default) Specify opposite-spin-component scaling factor (multipled by 1e) |
DO_S2 | 0 (default) |
1 (Compute at the MP2 level) |
$molecule 0 2 O -2.766559046 0.187082886 0.566917837 H -3.6963043 1.179189102 -0.642506882 $end $rem jobtype sp basis cc-pvdz aux_basis rimp2-cc-pvdz exchange hf thresh 14 input_bohr true scf_convergence 8 scf_algorithm gdm maxscf 1000 symmetry false scf_guess sad gen_scfman true gen_scfman_final true n_frozen_core 0 no frozen core n_frozen_virtual 0 no frozen virtual do_o2 3 run OOMP2 REGULARIZED_O2 2 use kappa-regularizer REG_VARIABLE 1450 set kappa = 1.45 scs 3 use arbitrary SCS SOS_FACTOR 883532 use cos = 0.883532 SSS_FACTOR 883532 use css = 0.883532 do_s2 1 compute s^2 at the MP2 level unrestricted true use unrestricted ghf true use generalized complex true use complex $end
$molecule 0 1 O -2.766559046 0.187082886 0.566917837 H -3.6963043 1.179189102 -0.642506882 H -3.395837846 -1.509891173 0.389283582 O 2.587035064 0.275900014 -0.746441819 H 3.57914128 0.918406897 0.633058252 H 0.852266482 0.311804811 -0.156847268 $end $rem jobtype sp basis cc-pvdz aux_basis_corr rimp2-cc-pvdz exchange hf thresh 14 input_bohr true scf_convergence 8 scf_algorithm gdm maxscf 1000 scf_guess sad symmetry false gen_scfman true unrestricted false use restricted do_o2 3 run OOMP2 REGULARIZED_O2 2 use kappa-regularizer REG_VARIABLE 1450 set kappa = 1.45 $end