howto:tddft
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
howto:tddft [2022/07/19 11:55] – ahehn | howto: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 time-dependent density functional theory (LR-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:// | + | |
- | Note that the current module is based on an earlier TDDFT implementation [[https:// | + | |
- | 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{D}^{{\rm{\tiny{X}}}p}] C_{\lambda 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}$, | + | |
- | + | ||
- | \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}}}p}] & | + | |
- | \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}}}p} &= \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, | + | |
- | The current implementation features to approximate the exact exchange contribution of hybrid functionals using the auxiliary density matrix method (ADMM). Furthermore, | + | |
- | + | ||
- | \begin{equation} \label{stda_kernel} | + | |
- | \begin{aligned} | + | |
- | \gamma^{\rm{\tiny{J}}}(A, | + | |
- | \gamma^{\rm{\tiny{K}}}(A, | + | |
- | \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, | + | |
- | + | ||
- | Based on the TDA eigenvalue problem, excited-state gradients can be formulated based on a variational Lagrangian for each excited state $p$, | + | |
- | + | ||
- | \begin{equation} | + | |
- | \begin{aligned} | + | |
- | L [\mathbf{X}, | + | |
- | & | + | |
- | &+ \sum_{\kappa k \sigma}( \bar{Z}_{\kappa k \sigma})^{\rm{T}} | + | |
- | &- \sum_{kl\sigma} (\bar{W}^{\rm{\tiny{C}}}_{kl \sigma})^{\rm{T}} | + | |
- | \end{aligned} | + | |
- | \end{equation} | + | |
- | + | ||
- | introducing Lagrange multipliers $\bar{\mathbf{W}}^{\rm{\tiny{X}}}$, | + | |
- | + | ||
- | + | ||
- | ===== The LR-TDDFT input section ===== | + | |
- | + | ||
- | To compute absorption spectra, parameters defining the LR-TDDFT computation have to be specified in the '' | + | |
- | + | ||
- | The most important keywords and subsections of '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | + | ||
- | 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 '' | + | |
- | + | ||
- | ===== Simple examples ===== | + | |
- | + | ||
- | ==== Excitation energies for acetone ==== | + | |
- | + | ||
- | The following input is a standard input for calculating excitation energies with the hybrid functional PBE0. It should be noted that it is possible to compute the exact exchange integrals for hybrid functionals analytically at however high computational costs. It is therefore recommended to use the Auxiliary Density Matrix Method (ADMM) [[https://pubs.acs.org/doi/10.1021/ct1002225]] to approximate the exact exchange contribution. For GGAs, the corresponding ADMM sections are not required and it is sufficient to specify the chosen functional in the subsection ''& | + | |
- | + | ||
- | <code - acetone_tddft.inp> | + | |
- | + | ||
- | & | + | |
- | PROJECT S20Acetone | + | |
- | RUN_TYPE ENERGY | + | |
- | PREFERRED_DIAG_LIBRARY SL | + | |
- | PRINT_LEVEL medium | + | |
- | &END GLOBAL | + | |
- | & | + | |
- | METHOD Quickstep | + | |
- | & | + | |
- | & | + | |
- | | + | |
- | ! FULL kernel is for GGA and hybrid functional computations | + | |
- | ! sTDA kernel is referring to a semi-empirical sTDA computation | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | &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 | + | |
- | | + | |
- | | + | |
- | &END OT | + | |
- | & | + | |
- | | + | |
- | | + | |
- | &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 | + | |
- | & | + | |
- | CUTOFF 800 | + | |
- | REL_CUTOFF 80 | + | |
- | &END MGRID | + | |
- | & | + | |
- | METHOD BASIS_PROJECTION | + | |
- | EXCH_SCALING_MODEL NONE ! identical | + | |
- | EXCH_CORRECTION_FUNC NONE ! Triple-zeta auxiliary basis sets are recommended (see below) | + | |
- | ADMM_PURIFICATION_METHOD NONE ! For periodic systems (see below), only specific ADMM options | + | |
- | &END AUXILIARY_DENSITY_MATRIX_METHOD | + | |
- | & | + | |
- | | + | |
- | | + | |
- | &END | + | |
- | &XC | + | |
- | & | + | |
- | & | + | |
- | &END XC | + | |
- | &END DFT | + | |
- | & | + | |
- | &CELL | + | |
- | ABC [angstrom] 14.0 14.0 14.0 | + | |
- | PERIODIC NONE | + | |
- | &END CELL | + | |
- | & | + | |
- | 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 | + | |
- | & | + | |
- | & | + | |
- | & | + | |
- | &END | + | |
- | &KIND H | + | |
- | BASIS_SET ORB DZVP-MOLOPT-PBE0-GTH-q1 | + | |
- | BASIS_SET AUX_FIT admm-dzp-q1 | + | |
- | 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 '' | + | |
- | 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> | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | State | + | |
- | number | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | 10 5 | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | 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 '' | + | |
- | 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 '' | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | A more detailed analysis of the excitations is given subsequently, | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | ------------------------------------------------------------------------------- | + | |
- | | + | |
- | | + | |
- | State | + | |
- | number | + | |
- | | + | |
- | | + | |
- | 12 | + | |
- | | + | |
- | 10 | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | 11 | + | |
- | 12 | + | |
- | | + | |
- | 12 | + | |
- | | + | |
- | | + | |
- | </ | + | |
- | + | ||
- | ==== Excited-state gradient for acetone ==== | + | |
- | + | ||
- | To perform an excited-state optimization for emission spectroscopy, | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | & | + | |
- | PROJECT S20Acetone | + | |
- | RUN_TYPE ENERGY_FORCE | + | |
- | PREFERRED_DIAG_LIBRARY SL | + | |
- | PRINT_LEVEL medium | + | |
- | & | + | |
- | & | + | |
- | & | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | &END TDDFPT | + | |
- | & | + | |
- | ... | + | |
- | & | + | |
- | &QS | + | |
- | METHOD GPW | + | |
- | EPS_DEFAULT 1.0E-17 | + | |
- | EPS_PGF_ORB 1.0E-20 | + | |
- | &END QS | + | |
- | & | + | |
- | STATE 1 ! the excited state to be optimized has to be specified in this section | + | |
- | &END EXCITED_STATES | + | |
- | &SCF | + | |
- | SCF_GUESS restart | + | |
- | &OT | + | |
- | | + | |
- | | + | |
- | &END OT | + | |
- | & | + | |
- | | + | |
- | | + | |
- | &END OUTER_SCF | + | |
- | MAX_SCF 10 | + | |
- | EPS_SCF 1.0E-7 | + | |
- | &END SCF | + | |
- | | + | |
- | & | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | The resulting output file contains for each step of the geometry optimization the already explained output of the TDDFPT computation and additionally information on the excited state that is optimized as well as the iterative solution of the Z vector equations. | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | | + | |
- | | + | |
- | Total Energy [Hartree] | + | |
- | | + | |
- | | + | |
- | + | ||
- | Iteration | + | |
- | ------------------------------------------------------------------------------ | + | |
- | 1 PCG | + | |
- | 2 PCG | + | |
- | 3 PCG | + | |
- | 4 PCG | + | |
- | 5 PCG | + | |
- | 6 PCG | + | |
- | 7 PCG | + | |
- | 8 PCG | + | |
- | 9 PCG | + | |
- | | + | |
- | + | ||
- | | + | |
- | + | ||
- | | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ==== Choosing a semi-empirical kernel ==== | + | |
- | + | ||
- | To speed up computation times for broad-band absorption spectra, a semi-empirical simplified Tamm-Dancoff (sTDA) kernel can be chosen by setting '' | + | |
- | + | ||
- | The most important keywords of the subsection '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | & | + | |
- | & | + | |
- | | + | |
- | & | + | |
- | | + | |
- | & | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | &END TDDFPT | + | |
- | &END PROPERTIES | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | In the output, it can be checked that the sTDA kernel was switched on and the correct parameters for $\alpha$, $\beta$ and $a_{\rm{\tiny{EX}}}$ were chosen: | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | sTDA| HFX Fraction | + | |
- | sTDA| Mataga-Nishimoto exponent (C) 1.5160 | + | |
- | sTDA| Mataga-Nishimoto exponent (X) 0.5660 | + | |
- | sTDA| TD matrix filter | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | The subsequent printout is then identical to the printout for GGA and hybrid functional kernels: | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | It should be noted that it is possible to combine sTDA with the semi-empirical ground-state reference GFN1-xTB. However, it is then recommended to adjust all parameters [[https:// | + | |
- | + | ||
- | ==== Periodic systems ==== | + | |
- | + | ||
- | Adjustments are required when switching to periodic boundary conditions. As already mentioned above, oscillator strengths should be calculated using the '' | + | |
- | + | ||
- | <code cp2k> | + | |
- | + | ||
- | & | + | |
- | METHOD BASIS_PROJECTION | + | |
- | ADMM_PURIFICATION_METHOD NONE | + | |
- | EXCH_SCALING_MODEL NONE | + | |
- | EXCH_CORRECTION_FUNC PBEX | + | |
- | &END | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ==== Natural transition orbitals ==== | + | |
- | + | ||
- | Natural transition orbitals (NTOs) are printed when choosing '' | + | |
- | + |
howto/tddft.txt · Last modified: 2024/02/24 10:01 by oschuett