User Tools

Site Tools


howto:tddft

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:tddft [2022/07/18 21:32] ahehnhowto:tddft [2024/02/24 10:01] (current) oschuett
Line 1: Line 1:
-====== How to run a LR-TDDFT calculation for absorption and emission spectroscopy ====== +This page has been moved to: https://manual.cp2k.org/trunk/methods/properties/optical/tddft.html
- +
-This is a short tutorial on how to run linear-response TDDFT computations for absorption and emission spectroscopy. The TDDFT module enables a description of excitation energies and excited-state computations within the Tamm-Dancoff approximation (TDA) featuring GGA and hybrid functionals as well as semi-empirical simplified TDA kernels. The details of the implementation can be found in [[https://aip.scitation.org/doi/full/10.1063/1.5078682]] (Ref. [1]) and in [[https://pubs.acs.org/doi/10.1021/acs.jctc.2c00144]] for corresponding excited-state gradients.  +
-Note that the current module is based on an earlier TDDFT implementation [[https://chimia.ch/chimia/article/view/2005_499]]. +
-Please cite these papers if you were to use the TDDFT module for the computation of excitation energies or excited-state gradients. +
- +
-===== Brief theory recap ===== +
- +
-The implementation in CP2K is based on the Tamm-Dancoff approximation (TDA), which describes each excited state $p$ with the excitation energy $\Omega^p$ and the corresponding excited-state eigenvectors $\mathbf{X}^p$ as an Hermitian eigenvalue problem   +
- +
-\begin{equation} \label{tda_equation} +
-\begin{aligned} +
-      \mathbf{A} \mathbf{X}^p &= \Omega^p \mathbf{X}^p \, , \\ +
-      \sum_{\kappa k} [ F_{\mu \kappa \sigma} \delta_{ik} - F_{ik \sigma} S_{\mu \kappa} ] X^p_{\kappa k \sigma} + \sum_{\lambda} K_{\mu \lambda \sigma} [\mathbf{X}^p] C_{\lambda i \sigma} & \sum_{\kappa} \Omega^p S_{\mu \kappa} X^p_{\kappa i \sigma} \, .  +
-    \end{aligned} +
-\end{equation} +
- +
-The Hermitian matrix $\mathbf{A}$ contains as zeroth-order contributions the difference in the Kohn-Sham (KS) orbital energies $\mathbf{F}$, and to first order kernel contributions $\mathbf{K}$ which comprise --depending on the chosen density functional approximation -- Coulomb $\mathbf{J}$ and exact exchange $\mathbf{K}^{\rm{\tiny{EX}}}$ contributions as well as contributions due to the exchange-correlation (XC) potential $\mathbf{V}^{\rm{\tiny{XC}}}$ and kernel $\mathbf{f}^{\rm{\tiny{XC}}}$, +
- +
-\begin{equation} \label{f_and_k_matrix} +
-\begin{aligned} +
-F_{\mu \nu \sigma} [\mathbf{D}] &= h_{\mu \nu} + J_{\mu \nu \sigma} [\mathbf{D}] - a_{\rm{\tiny{EX}}}K^{\rm{\tiny{EX}}}_{\mu \nu \sigma} [\mathbf{D}] + V_{\mu \nu \sigma}^{\rm{\tiny{XC}}} \, , \\ +
-K_{\mu \nu \sigma} [\mathbf{D}^{\rm{\tiny{X}}}] & J_{\mu \nu \sigma} [\mathbf{D}^{\rm{\tiny{X}}}] - a_{\rm{\tiny{EX}}} K^{\rm{\tiny{EX}}}_{\mu \nu \sigma}[\mathbf{D}^{\rm{\tiny{X}}}] + \sum_{\kappa \lambda \sigma'} f^{\rm{\tiny{XC}}}_{\mu \nu \sigma,\kappa \lambda \sigma'} D_{\kappa \lambda \sigma'}^{\rm{\tiny{X}}} \, . +
-\end{aligned} +
-\end{equation} +
- +
-$\mathbf{S}$ denotes the atomic-orbital overlap matrix, $\mathbf{C}$ the occupied ground-state KS orbitals and $\mathbf{D}$ and $\mathbf{D}^{\rm{\tiny{X}}}$ ground-state and response density matrices, +
- +
-\begin{equation}\label{density_matrices} +
-\begin{aligned} +
-D_{\mu \nu \sigma} &= \sum_k C_{\mu k \sigma} C_{\nu k \sigma}^{\rm{T}} \, , \\ +
-D_{\mu \nu \sigma}^{\rm{\tiny{X}}} &= \frac{1}{2} \sum_{k} ( X^p_{\mu k \sigma} C_{\nu k \sigma}^{\rm{T}} + C_{\mu k \sigma} (X^p_{\nu k \sigma})^{\rm{T}} ) \, . +
-\end{aligned} +
-\end{equation} +
- +
-Within the current implementation, symmetrization and orthogonalization of the response density matrix is ensured at each step of the Davidson algorithm. +
-The current implementation features to approximate the exact exchange contribution of hybrid functionals using the auxiliary density matrix method (ADMM). Furthermore, the standard kernel can be approximated using the semi-empirical simplified Tamm-Dancoff approximation (sTDA), neglecting in this case XC contributions and approximating both Coulomb and exchange contributions $\mathbf{J}$ and $\mathbf{K}$ using semi-empirical operators $\boldsymbol{\gamma}^{\rm{\tiny{J}}}$ and $\boldsymbol{\gamma}^{\rm{\tiny{K}}}$ depending on the interatomic distance $R_{AB}$ of atoms $A$ and $B$, +
- +
-\begin{equation} \label{stda_kernel} +
-\begin{aligned} +
-\gamma^{\rm{\tiny{J}}}(A,B) &= \left ( \frac{1}{(R_{AB})^{\alpha} + \eta^{-\alpha}}  \right)^{1/\alpha} \, , \\ +
-\gamma^{\rm{\tiny{K}}}(A,B) &= \left ( \frac{1}{(R_{AB})^{\beta} +( a_{\rm{\tiny{EX}}}\eta)^{- \beta} } \right )^{1/\beta} \, , +
-\end{aligned} +
-\end{equation} +
- +
-that depend on the chemical hardness $\eta$, the Fock-exchange mixing parameter $a_{\rm{\tiny{EX}}}$ and powers of $\alpha$ and $\beta$ for either Coulomb and exchange interactions. +
- +
- +
-Within the current implementation, oscillator strengths can be calculated for molecular systems in the length form and for periodic systems using the velocity form (see Ref.[1]). +
- +
-Based on Eq.\ (\ref{tda_equation}), excited-state gradients can be formulated based on a variational Lagrangian for each excited state $p$, +
- +
-\begin{equation} +
-\begin{aligned} +
-L [\mathbf{X}, \mathbf{C}, \Omega, \bar{\mathbf{W}}^{\rm{\tiny{X}}}, \bar{\mathbf{Z}}, \bar{\mathbf{W}}^{\rm{\tiny{C}}} ] &= \Omega -  \sum_{\kappa \lambda k l \sigma} \Omega ( X_{\kappa k \sigma }^{\rm{T}} S_{\kappa \lambda } X_{\lambda l \sigma} - \delta_{kl} ) \\ +
-& \sum_{kl \sigma} ( \bar{W}_{kl \sigma}^{\rm{\tiny{X}}} )^{\rm{T}}  \sum_{\kappa \lambda} \frac{1}{2} ( C_{\kappa k \sigma}^{\rm{T}} S_{\kappa \lambda} X_{\lambda l \sigma}  + X_{\kappa k \sigma}^{\rm{T}}S_{\kappa \lambda} C_{\lambda l \sigma}) \\ +
-&+ \sum_{\kappa k \sigma}( \bar{Z}_{\kappa k \sigma})^{\rm{T}}  \sum_{\lambda} ( F_{\kappa \lambda \sigma}C_{\lambda k \sigma} - S_{\kappa \lambda } C_{\lambda k \sigma} \varepsilon_{k \sigma}) \\ +
-&- \sum_{kl\sigma} (\bar{W}^{\rm{\tiny{C}}}_{kl \sigma})^{\rm{T}}  ( S_{kl \sigma} - \delta_{kl})\, .   +
-\end{aligned} +
-\end{equation}     +
- +
-introducing Lagrange multipliers $\bar{\mathbf{W}}^{\rm{\tiny{X}}}$, $\bar{\mathbf{W}}^{\rm{\tiny{C}}}$, and $\bar{\mathbf{Z}}$ to ensure stationarity of the corresponding ground-state (GS) equations and to account for the geometric dependence of the Gaussian orbitals and thus requiring to solve the Z vector equation iteratively. +
- +
- +
-===== The LR-TDDFT input section ===== +
- +
-To compute absorption spectra, parameters defining the LR-TDDFT computation have to be specified in the ''TDDFPT'' subsection of the section ''PROPERTIES'' of section ''FORCE_EVAL''. Furthermore, ''RUN_TYPE'' has to be set to ENERGY and the underlying KS ground-state reference has to be specified in the ''DFT'' section.  +
- +
-The most important keywords and subsections of ''TDDFPT'' are: +
-  * ''KERNEL'': option for the kernel matrix $\mathbf{K}$ to choose between the full kernel for GGA or hybrid functionals and the simplified TDA kernel  +
-  * ''NSTATES'': number of excitation energies to be computed +
-  * ''CONVERGENCE'': threshold for the convergence of the Davidson algorithm +
-  * ''RKS_TRIPLETS'': option to switch from the default computation of singlet excitation energies to triplet excitation energies +
-  * ''RESTART'': the keyword enables the restart of the TDDFPT computation if a corresponding restart file (.tdwfn) exists +
-  * ''WFN_RESTART_FILE_NAME'': for a restart of the TDDFPT computation, the name of the restart file has to be specified using this keyword +
- +
-To compute excited-state gradients and thus corresponding fluorescence spectra, the excited state to be optimized furthermore has to be specified by adding the subsection ''EXCITED_STATES'' of the section ''DFT''+
- +
-===== Simple examples ===== +
- +
-==== Excitation energies for acetone ==== +
- +
-<code - acetone_tddft.inp> +
- +
-&GLOBAL +
-  PROJECT S20Acetone +
-  RUN_TYPE ENERGY +
-  PREFERRED_DIAG_LIBRARY SL +
-  PRINT_LEVEL medium +
-&END GLOBAL +
-&FORCE_EVAL +
-  METHOD Quickstep +
-&PROPERTIES +
-  &TDDFPT                          ! input section for TDDFPT +
-   KERNEL FULL                       ! specification of the underlying kernel matrix K +
-                                     ! FULL kernel is for GGA and hybrid functional computations +
-                                     ! sTDA kernel is referring to a semi-empirical sTDA computation +
-   NSTATES 10                      ! specifies the number of excited states to be computed +
-   MAX_ITER   100                  ! number of iterations for the Davidson algorithm +
-   CONVERGENCE [eV] 1.0e-7         ! convergence threshold in eV +
-   RKS_TRIPLETS F                  ! Keyword to choose between singlet and triplet excitations +
-  &XC                            ! If choosing kernel FULL, the underlying functional can be +
-   &XC_FUNCTIONAL PBE0             ! specified by adding an XC section +
-   &END XC_FUNCTIONAL              ! The functional can be chosen independently from the chosen +
-  &END XC                        ! GS functional except when choosing ADMM  +
-  &MGRID                         ! It is also possible to choose a separate grid for the real-space  +
-    CUTOFF 800                   ! integration of the response density in the TDDFT part, +
-    REL_CUTOFF 80                ! however, in general a consistent setup for GS and ES is recommended +
-  &END MGRID  +
-  &END TDDFPT +
-&END PROPERTIES +
-  &DFT +
-    &QS +
-      METHOD GPW +
-      EPS_DEFAULT 1.0E-17 +
-      EPS_PGF_ORB 1.0E-20 +
-    &END QS +
-    &SCF +
-      SCF_GUESS restart +
-      &OT +
-         PRECONDITIONER FULL_ALL +
-         MINIMIZER DIIS +
-      &END OT +
-      &OUTER_SCF +
-         MAX_SCF 900 +
-         EPS_SCF 1.0E-7 +
-      &END OUTER_SCF +
-      MAX_SCF 10 +
-      EPS_SCF 1.0E-7 +
-    &END SCF +
-    POTENTIAL_FILE_NAME POTENTIAL_UZH +
-    BASIS_SET_FILE_NAME BASIS_MOLOPT_UZH +
-    BASIS_SET_FILE_NAME BASIS_ADMM_UZH +
-    &MGRID +
-      CUTOFF 800 +
-      REL_CUTOFF 80 +
-    &END MGRID +
-    &AUXILIARY_DENSITY_MATRIX_METHOD       ! When choosing ADMM to approximate exact exchange, the +
-      METHOD BASIS_PROJECTION              ! environment for ground and excited state has to be  +
-      EXCH_SCALING_MODEL NONE              ! identical +
-      EXCH_CORRECTION_FUNC NONE +
-      ADMM_PURIFICATION_METHOD NONE +
-    &END AUXILIARY_DENSITY_MATRIX_METHOD +
-    &POISSON +
-       PERIODIC NONE +
-       POISSON_SOLVER WAVELET +
-    &END +
-    &XC +
-     &XC_FUNCTIONAL PBE0 +
-     &END XC_FUNCTIONAL +
-    &END XC +
-  &END DFT +
-  &SUBSYS +
-    &CELL +
-      ABC [angstrom] 14.0 14.0 14.0 +
-      PERIODIC NONE +
-    &END CELL +
-    &COORD +
-       C 0.000000 1.282877 -0.611721 +
-       C 0.000000 -1.282877 -0.611721 +
-       C 0.000000 0.000000 0.185210 +
-       O 0.000000 0.000000 1.392088 +
-       H 0.000000 2.133711 0.059851 +
-       H -0.876575 1.319344 -1.256757 +
-       H 0.876575 1.319344 -1.256757 +
-       H 0.000000 -2.133711 0.059851 +
-       H 0.876575 -1.319344 -1.256757 +
-       H -0.876575 -1.319344 -1.256757 +
-    &END COORD +
-    &TOPOLOGY +
-     &CENTER_COORDINATES T +
-     &END +
-    &END +
-    &KIND H +
-      BASIS_SET ORB DZVP-MOLOPT-PBE0-GTH-q1  ! in general it is recommended to use larger basis  sets +
-      BASIS_SET AUX_FIT admm-dzp-q1          ! for the primary and auxiliary basis (TZVP/tzp) +
-      POTENTIAL GTH-PBE0-q1 +
-    &END KIND +
-    &KIND O +
-      BASIS_SET ORB DZVP-MOLOPT-PBE0-GTH-q6 +
-      BASIS_SET AUX_FIT admm-dzp-q6 +
-      POTENTIAL GTH-PBE0-q6 +
-    &END KIND +
-    &KIND C +
-      BASIS_SET ORB DZVP-MOLOPT-PBE0-GTH-q4 +
-      BASIS_SET AUX_FIT admm-dzp-q4 +
-      POTENTIAL GTH-PBE0-q4 +
-    &END KIND +
-  &END SUBSYS +
-&END FORCE_EVAL +
- +
-</code> +
- +
-In the resulting output file, there is a ''TDDFPT'' section reporting the steps of the calculations.  +
-The initial guess is referring to the zeroth-order KS energy differences with the printout also listing the transition from the corresponding occupied to virtual orbital. +
-  +
-<code cp2k> +
- +
- ------------------------------------------------------------------------------- +
-                            TDDFPT Initial Guess                             - +
- ------------------------------------------------------------------------------- +
-          State         Occupied      ->      Virtual          Excitation +
-          number         orbital              orbital          energy (eV) +
- ------------------------------------------------------------------------------- +
-                           12                   13              6.63336 +
-                           11                   13              9.62185 +
-                           10                   13             10.34045 +
-                            9                   13             10.78846 +
-                            8                   13             11.05691 +
-                           12                   14             12.07194 +
-                            7                   13             12.42370 +
-                            6                   13             12.63557 +
-                           12                   15             12.65312 +
-            10                5                   13             12.68633 +
- +
-</code> +
- +
-After convergence of the iterative Davidson algorithm, CP2K is printing for each of the calculated excited states the excitation energy in eV, the corresponding transition dipole as well as the oscillator strength.  +
-The form of the dipole transition integrals can be chosen by modifying the keyword ''DIPOLE_FORM'' in the ''DIPOLE_MOMENTS'' subsection. Possible options are ''BERRY'' (valid for fully periodic systems only), ''LENGTH'' (valid for molecular systems only) and ''VELOCITY'' (both). +
-When referring to the length form, the reference point to calculate electric dipole moments can be chosen in the subsection by specifying the coordinates of the reference point ''REFERENCE_POINT x y z'' or by choosing one of the options ''COM'' (center of mass), ''COAC'' (center of atomic charges), ''USER_DEFINED'' (user-defined point) and ''ZERO'' (origin of the coordinate system) for the ''REFERENCE'' keyword. +
- +
-<code cp2k> +
- +
- ------------------------------------------------------------------------------- +
-  TDDFPT run converged in 10 iteration(s)  +
- ------------------------------------------------------------------------------- +
- +
- R-TDDFPT states of multiplicity 1 +
- Transition dipoles calculated using velocity formulation +
- +
-         State    Excitation        Transition dipole (a.u.)        Oscillator +
-         number   energy (eV)                               strength (a.u.) +
-         ------------------------------------------------------------------------ +
- TDDFPT|      1       4.67815   2.4840E-08 -1.9187E-08  5.9673E-08   5.21038E-16 +
- TDDFPT|      2       8.73074  -8.1610E-09  1.0502E-08  9.1823E-08   1.84132E-15 +
- TDDFPT|      3       9.17033   1.6661E-02  2.4911E-08 -9.2612E-08   6.23670E-05 +
- TDDFPT|      4       9.70094  -2.3716E-09  7.2323E-07  7.0660E-01   1.18663E-01 +
- TDDFPT|      5       9.88658  -3.1922E-08 -4.1476E-01  1.0768E-06   4.16669E-02 +
- TDDFPT|      6      10.78269   3.5483E-08  4.2695E-01 -1.3123E-07   4.81550E-02 +
- TDDFPT|      7      10.82893   2.3885E-01 -3.0329E-08  4.5882E-09   1.51356E-02 +
- TDDFPT|      8      10.92800  -2.4034E-07 -2.4299E-08  5.8160E-08   1.65293E-14 +
- TDDFPT|      9      11.32208   8.3808E-08 -6.8844E-01  1.9166E-07   1.31469E-01 +
- TDDFPT|     10      11.97282   1.2605E-08  1.7029E-08  3.3026E-01   3.19930E-02 +
- +
-</code> +
- +
-A more detailed analysis of the excitations is given subsequently, listing orbital contributions for each transition with the corresponding excitation amplitudes. The keyword ''MIN_AMPLITUDE'' regulates the threshold for the smallest amplitude to print.  +
- +
-<code cp2k> +
- +
-------------------------------------------------------------------------------- +
-                            Excitation analysis                              - +
- ------------------------------------------------------------------------------- +
-        State             Occupied              Virtual             Excitation +
-        number             orbital              orbital             amplitude +
- ------------------------------------------------------------------------------- +
-               4.67815 eV +
-                                12                   13               0.998438 +
-               8.73074 eV +
-                                10                   13               0.995560 +
-                                                   13               0.087643 +
-               9.17033 eV +
-                                                   13               0.993356 +
-                                                   13               0.075589 +
-               9.70094 eV +
-                                11                   13              -0.893130 +
-                                12                   16               0.297568 +
-                                                   13               0.269023 +
-                                12                   28              -0.108047 +
-                                                   15               0.066145 +
-                                                   30              -0.050159 +
-</code> +
- +
-==== Excited-state gradient for acetone ==== +
- +
- +
-===== FAQ ===== +
- +
howto/tddft.1658179937.txt.gz · Last modified: 2022/07/18 21:32 by ahehn