X

Search Results

Searching....

12.13 Ab Initio Frenkel Davydov Exciton Model (AIFDEM)

12.13.3 Examples

(November 19, 2024)

For charge-embedded AIFDEM calculations, set XPOL = TRUE in the $rem section and then select the type of embedding charges via the $xpol input section, as described in Section 12.8 and illustrated in the following example.

Example 12.46  Example showing singlet excited state calculation, on (H2O)4. XPol is used to generate monomer wave functions with ChElPG charges. Minimal QM charge embedding is used for the exciton model with three excited states per fragment.

$molecule
0 1
--H2O 0
   0 1
   O          1.74078        1.59716       -1.49814
   H          2.22908        2.18316       -2.08914
   H          0.88038        2.04726       -1.32684
--H2O 1
   0 1
   O          1.31998       -1.18934       -1.91734
   H          1.49988       -0.22974       -1.89044
   H          1.69058       -1.52594       -1.07704
--H2O 2
   0 1
   O         -0.68982        2.59476       -0.72224
   H         -1.14372        3.37086       -1.07364
   H         -1.35592        1.84986       -0.78334
--H2O 3
   0 1
   O         -1.27512       -1.77394       -1.69524
   H         -0.32252       -1.52884       -1.85604
   H         -1.53992       -2.30454       -2.45644
$end

$rem
   BASIS                aug-cc-pvdz
   EXCHANGE             HF
   CIS_N_ROOTS          3
   CIS_TRIPLETS         FALSE
   XPOL                 TRUE
   AIFDEM               TRUE
   AIFDEM_EMBED_RANGE   0
   AIFDEM_NTOTHRESH     90
   NTO_PAIRS            1
$end

$xpol
  embed   charges
  charges CHELPG
$end

View output

The multi-exciton keyword AIFDEM_SINGFIS invokes the use of multi-exciton states, |1(ΦATΦBT)ΦC. The following example illustrates this, along with the use of AIFDEM_SEGSTART and AIFDEM_SEGEND to split up the calculation of matrix elements into segments. This is required for multi-exciton calculations.

Example 12.47  AIFDEM example with multi-exciton states in the basis.

$rem
BASIS         aug-cc-pvdz
EXCHANGE      HF
CIS_N_ROOTS   3
CIS_SINGLETS  TRUE
CIS_TRIPLETS  TRUE
XPOL          TRUE
AIFDEM        TRUE
AIFDEM_EMBED_RANGE 0
AIFDEM_NTOTHRESH   90
NTO_PAIRS          1
AIFDEM_SINGFIS     TRUE
AIFDEM_CTSTATES    TRUE
SCF_PRINT_FRGM     true
AIFDEM_SEGSTART    1
AIFDEM_SEGEND      2
$end

$molecule
0 1
-- H2O 0
0 1
O 1.74078 1.59716 -1.49814
H 2.22908 2.18316 -2.08914
H 0.88038 2.04726 -1.32684
-- H2O 1
0 1
O 1.31998 -1.18934 -1.91734
H 1.49988 -0.22974 -1.89044
H 1.69058 -1.52594 -1.07704
$end

$xpol
embed   charges
charges chelpg
$end

View output

To compute AIFDEM derivatives 𝐇[x] and 𝐒[x] of the Hamiltonian and overlap matrices, the user should request a standard AIFDEM job and in addition set CIS_STATE_DERIV = 1. Currently, the AIFDEM derivatives do not support charge embedding so the keyword AIFDEM_EMBED_RANGE must be omitted from these jobs, which precludes the use of XPol wavefunctions for the fragments. Furthermore, only one excited state per fragment is supported; therefore, CIS_N_ROOTS = 1 is required.

The derivatives of the AIFDEM Hamiltonian matrix and overlap matrix are printed in the output file in sets of the three Cartesian coordinates that belong to a single atom. For convenience, the orthogonalized AIFDEM Hamiltonian matrix elements are saved in the scratch directory, $QCSCRATCH/aifdem_deriv. These are organized such that the derivatives for each unique matrix element are stored in individual files in the order of the atomic Cartesian coordinates. These files can facilitate external calculation of exciton/phonon coupling constants.

Example 12.48  A basic AIFDEM derivative calculation on a chain of helium atoms.

$molecule
0 1
--frgm 0
0 1
He    0.000   0.000   0.000
He    0.000   0.000   1.400
--frgm 1
0 1
He    0.000   0.000   2.800
He    0.000   0.000   4.200
$end

$rem
   BASIS             =  cc-pvdz
   EXCHANGE          =  hf
   AIFDEM            =  true
   CIS_N_ROOTS       =  1
   CIS_SINGLETS      =  true
   CIS_TRIPLETS      =  false
   CIS_STATE_DERIV   =  1
   NTO_PAIRS         =  1
   MEM_TOTAL         =  1000
   MEM_STATIC        =  1000
   MAX_CIS_CYCLES    =  200
   MAX_SCF_CYCLES    =  200
   THRESH            =  10
   AIFDEM_NTOTHRESH  =  100
$end

View output