X

Search Results

Searching....

11.6 Projection-Based Density Embedding

11.6.2 Job Control for DFT-in-DFT and WFT-in-DFT Calculations

(November 19, 2024)

The DFT-in-DFT and WFT-in-DFT calculations are implemented in Q-Chem under the framework of its default SCF engine GEN_SCFMAN, which is triggered by setting GEN_SCFMAN_EMBED = TRUE. The embedding job requires specification of fragments through the $molecule section (see Section 12.2). Unless otherwise specified, the first fragment is regarded as the embedded (“active”) fragment. The user is allowed to select the embedded fragment through the $embed_fragment section.

The high-level electronic structure method is given by $rem variable METHOD, and the low-level method can be specified via ENV_METHOD. Note that one should choose a mean-field method as the low-level theory, such as pure or hybrid density functionals. Unlike the previous implementation of this embedding theory based on “EmbedMan” (Sec. 11.6.3), there is no specific limitation to the high-level methods. Currently supported options include hybrid DFT (e.g., ωB97X-V) and correlated wavefunction methods (e.g., MP2, CCSD(T), etc.) for ground-state calculations, as well as TDDFT and WFT-based methods such as EOM-CCSD for excited states.

The calculation starts with an SCF calculation at the low-level theory, and then it performs an embedded SCF calculation with the higher-level DFT (for DFT-in-DFT cases) or Hartree-Fock (for WFT-in-DFT cases). To make post-SCF correlated methods directly applicable, the molecular orbitals are stored on disk in the “[Occ(environment) | Occ(active) | Vir (active) | Vir(inactive)]” order, and the environment occupied orbitals and the excluded inactive virtual orbitals are treated as frozen core and frozen virtual orbitals in the correlated WFT method, respectively. Note that the virtual orbitals are not truncated unless the concentric localization method is invoked by setting CONCENTRIC_VIRTS = TRUE since that is the only virtual space truncation scheme for projection-based embedding theory that is currently available in Q-Chem.

In Q-Chem 5.3, the use of projection-based embedding theory is limited to overall closed-shell systems (“restricted-in-restricted” embedding). The extension to open-shell systems based on unrestricted SCF calculations has been enabled in Q-Chem 5.4.1 and future releases.

From Q-Chem 5.4.2, projection-based embedding is extended to work with complex basis functions. This enables the possibility to combine CBF high-level methods, namely CBF-(EOM-)CCSD and CBF-(EOM-)CC2 with complex HF (theory and functioning of these methods are described in Sections 7.10.9 and 4.9.5, respectively). The keyword to trigger this feature is GEN_SCFMAN_NH_EMBED. SPADE partition is not implemented in this framework, and the orbitals are partitioned via Pipek-Mezey localization and Mulliken population analysis of the real part.

GEN_SCFMAN_EMBED

GEN_SCFMAN_EMBED
       Run a projection-based embedding calculation using the implementation based onGEN_SCFMAN
TYPE:
       BOOLEAN
DEFAULT:
       FALSE
OPTIONS:
       TRUE Perform a projection-based embedding calculation FALSE Do not perform an embedding calculation
RECOMMENDATION:
       None

ENV_METHOD

ENV_METHOD
       Specify the low-level theory in a projection-based embedding calculation
TYPE:
       STRING
DEFAULT:
       NONE
OPTIONS:
       Parsed in the same way as $rem variable “METHOD
RECOMMENDATION:
       A mean-field method (pure or hybrid density functional) should be chosen.

FIXING_V_EMBED

FIXING_V_EMBED
       Invoke the linearized approximation for the energy functional used for embedding calculations
TYPE:
       BOOLEAN
DEFAULT:
       TRUE
OPTIONS:
       TRUE Use the linearized approximation for energy functional [Eq. (11.106)] FALSE Use the original energy functional [Eq. (11.100)]
RECOMMENDATION:
       Use the default to achieve savings in computational costs

SPADE_PARTITION

SPADE_PARTITION
       Use the SPADE approach to determine the initial set of embedded (active) orbitals
TYPE:
       BOOLEAN
DEFAULT:
       FALSE
OPTIONS:
       TRUE Use SPADE to partition the occupied space FALSE Use the Pipek-Mezey localization + Mulliken population to assign occupied orbitals
RECOMMENDATION:
       Use SPADE if a significant gap in the spectrum of singular values can be detected.

CONCENTRIC_VIRTS

CONCENTRIC_VIRTS
       Use the concentric localization (CL) scheme to truncate the virtual space
TYPE:
       BOOLEAN
DEFAULT:
       FALSE
OPTIONS:
       TRUE Use the CL scheme to truncate the virtual space FALSE Leave the virtual space untruncated
RECOMMENDATION:
       Use CL truncation for WFT-in-DFT calculations.

CONCENTRIC_VIRTS_ZETA

CONCENTRIC_VIRTS_ZETA
       Specify the size of the truncated virtual space
TYPE:
       INTEGER
DEFAULT:
       2
OPTIONS:
       m The total number of the CL-truncated virtuals is m×noccactive
RECOMMENDATION:
       Use the default; set it to a larger value if higher accuracy is requested.

CONCENTRIC_REF_BASIS

CONCENTRIC_REF_BASIS
       Specify the projection basis (PB) in the concentric localization procedure
TYPE:
       STRING
DEFAULT:
       NONE
OPTIONS:
       Parsed in the same way as BASIS; if unspecified, the working basis (WB) will be used as PB.
RECOMMENDATION:
       WB is usually a good choice; a smaller basis can chosen with caution to further reduce the computational cost.

EMBEDDING_EARLY_STOP

EMBEDDING_EARLY_STOP
       Terminate the embedding calculation once the system partition is done (skip the embedded SCF)
TYPE:
       BOOLEAN
DEFAULT:
       FALSE
OPTIONS:
       TRUE Terminate the embedding calculation once the system partition is done (skip the embedded SCF) FALSE Doing a normal embedding calculation
RECOMMENDATION:
       Turn it on for environment ESP/E-field calculations (see Section 10.6)

Example 11.34  DFT-in-DFT embedding calculation: ωB97X-V (water 2) in the presence of water molecules 1 and 3 described by PBE. The embedded (“active”) fragment is specified by user through the $embed_fragment section.

$molecule
   0 1
   --
   0 1
   O    -0.00000   -0.00000   0.00000
   H     0.56704    0.41003   0.65488
   H     0.16427   -0.95671   0.05856
   --
   0 1
   O    -0.45701   -2.75857   0.16997
   H    -0.36918   -3.38806  -0.54777
   H    -1.36971   -2.42607   0.12617
   --
   0 1
   O    -2.62421   -0.99554  -0.00046
   H    -3.25789   -0.73194   0.66864
   H    -1.89698   -0.35254   0.04416
$end

$rem
   METHOD             wb97x-v
   BASIS              def2-svpd
   GEN_SCFMAN_EMBED   true
   THRESH             14
   SCF_CONVERGENCE    8
   ENV_METHOD         pbe
$end

$embed_fragment
   2
$end

View output

Example 11.35  RI-MP2 (fragment 1) embedded in the environment described by B3LYP. The SPADE scheme is employed to partition the occupied space and the concentric localization (CL) method to truncate virtual space. The working basis cc-pVDZ is used as the default projection basis for CL. The same setup works with other correlated methods such as MP2, CCSD, etc.

$molecule
   0 1
   ---
   -1 1
   O       -1.1867 -0.2472  0.0000
   H       -1.9237  0.3850  0.0000
   ---
   1 1
   H       -0.0227  1.1812  0.8852
   C        0.0000  0.5526  0.0000
   H       -0.0227  1.1812 -0.8852
   C        1.1879 -0.3829  0.0000
   H        2.0985  0.2306  0.0000
   H        1.1184 -1.0093  0.8869
   H        1.1184 -1.0093 -0.8869
$end

$rem
   METHOD             rimp2
   BASIS              cc-pvdz
   AUX_BASIS          rimp2-cc-pvdz
   GEN_SCFMAN_EMBED   true
   THRESH             14
   SCF_CONVERGENCE    8
   ENV_METHOD         b3lyp
   SPADE_PARTITION    true
   CONCENTRIC_VIRTS   true
   N_FROZEN_CORE      0   ! no extra FC orbitals
   INTEGRAL_SYMMETRY    false
   POINT_GROUP_SYMMETRY false
$end

View output

Example 11.36  Embedded TDDFT-in-DFT calculation for HCHO in the environment of 5 water molecules. The environment occupied orbitals and the truncated virtuals remain frozen in the TDDFT calculation.

$molecule
0 1
--
0 1
C  1.331746  0.495076 -0.018037
O  1.023200 -0.680562  0.005977
H  0.567546  1.281583 -0.032606
H  2.385108  0.805133 -0.025252
--
0 1
O -1.943531  0.122291  0.090528
H -1.162581 -0.446371  0.092679
H -2.417905 -0.144628 -0.698637
O  1.944863 -3.376107 -1.905899
H  1.789904 -2.545078 -1.472450
H  2.563515 -3.252302 -2.616140
O  4.733862 -2.927159 -4.945061
H  4.171657 -2.306053 -5.393004
H  5.533115 -3.047999 -5.444154
O -1.551695  4.433654  1.051722
H -2.112970  4.877077  1.676899
H -2.009816  4.341491  0.224599
O  4.162091  1.378891  2.507658
H  3.250771  1.110644  2.513900
H  4.466676  1.486386  3.401063
$end

$rem
METHOD            CAM-B3LYP
BASIS             6-31+G(d)
SCF_ALGORITHM     DIIS
GEN_SCFMAN_EMBED  TRUE
ENV_METHOD        PBE0
SPADE_PARTITION   TRUE
CONCENTRIC_VIRTS  TRUE
CIS_N_ROOTS       2
CIS_TRIPLETS      FALSE
INTEGRAL_SYMMETRY FALSE
POINT_GROUP_SYMMETRY FALSE
$end

View output

Example 11.37  Unrestricted projection-based embedding calculation: PBE0 (hydroxyl radical) in PBE (water molecule).

$molecule
   0 2
   --
   0 2
   O    -1.62521   0.00950    0.00000
   H    -0.64565  -0.05426    0.00000
   --
   0 1
   O    1.26276   -0.06380    0.00000
   H    1.70602    0.31170   -0.76717
   H    1.70602    0.31170    0.76717
$end

$rem
   jobtype            sp
   method             pbe0
   env_method         pbe
   basis              6-31g(d)
   unrestricted       true
   gen_scfman_embed   true
   thresh             14
   scf_convergence    8
   scf_algorithm      diis
   integral_symmetry    false
   point_group_symmetry false
$end

View output

Example 11.38  CBF-EOM-CC in CBF-HF.

$molecule
0 1
---
0 1
 C     1.331746     0.495076    -0.018037
 O     1.023200    -0.680562     0.005977
 H     0.567546     1.281583    -0.032606
 H     2.385108     0.805133    -0.025252
---
0 1
 O    -1.943531     0.122291     0.090528
 H    -1.162581    -0.446371     0.092679
 H    -2.417905    -0.144628    -0.698637
$end

$rem
jobtype               sp
method                ccsd
complex_exponents     true
complex_scf           1
complex_scf_guess     1
basis                 6-31G  ! specify basis set explicitly, basis=gen
complex_basis         6-31G* !      "       "                complex_basis=zbasis_general
complex_theta         50
complex_ccman         true
gen_scfman_nh_embed   1
embed_method          1
env_method            hf
scf_convergence       12
cc_convergence        12
n_frozen_core         0
cs_ccsd               1
complex_metscf        1
complex_n_electrons   0
complex_spin_state    1
$end

$complex_ccman
cs_alpha 1000
cs_theta 0
$end

View output