howto:tddft
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howto:tddft [2022/07/18 18:00] – ahehn | howto:tddft [2022/07/19 13:17] – ahehn | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== How to run a LR-TDDFT calculation for absorption and emission spectroscopy ====== | ====== How to run a LR-TDDFT calculation for absorption and emission spectroscopy ====== | ||
- | 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:// | + | This is a short tutorial on how to run linear-response |
- | Note that the current module is based on an earlier TDDFT implementation [[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. | + | Please cite these papers if you were to use the TDDFT module for the computation of excitation energies |
===== Brief theory recap ===== | ===== Brief theory recap ===== | ||
Line 11: | Line 11: | ||
\begin{equation} \label{tda_equation} | \begin{equation} \label{tda_equation} | ||
\begin{aligned} | \begin{aligned} | ||
- | \mathbf{A} \mathbf{X}^p = \Omega^p \mathbf{X}^p \, , \\ | + | \mathbf{A} \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} \, . | + | \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{aligned} | ||
\end{equation} | \end{equation} | ||
Line 21: | Line 21: | ||
\begin{aligned} | \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}}} \, , \\ | 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}}}] & | + | K_{\mu \nu \sigma} [\mathbf{D}^{{\rm{\tiny{X}}}p}] & |
\end{aligned} | \end{aligned} | ||
\end{equation} | \end{equation} | ||
Line 29: | Line 29: | ||
\begin{equation}\label{density_matrices} | \begin{equation}\label{density_matrices} | ||
\begin{aligned} | \begin{aligned} | ||
- | D_{\mu \nu \sigma} = \sum_k C_{\mu k \sigma} C_{\nu k \sigma}^{\rm{T}} \, , \\ | + | D_{\mu \nu \sigma} |
- | 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}} ) \, . | + | 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{aligned} | ||
\end{equation} | \end{equation} | ||
Line 49: | Line 49: | ||
Within the current implementation, | Within the current implementation, | ||
- | Based on Eq.\ (\ref{tda_equation}), excited-state gradients can be formulated based on a variational Lagrangian for each excited state $p$, | + | 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{equation} | ||
Line 72: | Line 72: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | * '' | ||
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 '' | 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 '' | ||
Line 77: | Line 79: | ||
===== Simple examples ===== | ===== Simple examples ===== | ||
- | ==== Acetone molecule==== | + | ==== 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:// | ||
<code - acetone_tddft.inp> | <code - acetone_tddft.inp> | ||
Line 100: | Line 104: | ||
| | ||
| | ||
- | | + | |
- | | + | |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
&END TDDFPT | &END TDDFPT | ||
&END PROPERTIES | &END PROPERTIES | ||
Line 130: | Line 138: | ||
REL_CUTOFF 80 | REL_CUTOFF 80 | ||
&END MGRID | &END MGRID | ||
- | & | + | & |
- | METHOD BASIS_PROJECTION | + | METHOD BASIS_PROJECTION |
- | EXCH_SCALING_MODEL NONE | + | EXCH_SCALING_MODEL NONE ! identical |
- | EXCH_CORRECTION_FUNC NONE | + | EXCH_CORRECTION_FUNC NONE ! Triple-zeta auxiliary basis sets are recommended (see below) |
- | ADMM_PURIFICATION_METHOD NONE | + | ADMM_PURIFICATION_METHOD NONE ! For periodic systems (see below), only specific ADMM options |
- | &END AUXILIARY_DENSITY_MATRIX_METHOD | + | &END AUXILIARY_DENSITY_MATRIX_METHOD |
& | & | ||
| | ||
Line 167: | Line 175: | ||
&END | &END | ||
&KIND H | &KIND H | ||
- | BASIS_SET ORB DZVP-MOLOPT-PBE0-GTH-q1 | + | BASIS_SET ORB DZVP-MOLOPT-PBE0-GTH-q1 |
- | BASIS_SET AUX_FIT admm-dzp-q1 | + | BASIS_SET AUX_FIT admm-dzp-q1 |
POTENTIAL GTH-PBE0-q1 | POTENTIAL GTH-PBE0-q1 | ||
&END KIND | &END KIND | ||
Line 186: | Line 194: | ||
</ | </ | ||
- | In the resulting output file, there is a '' | + | 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 | ||
+ | |||
+ | <code cp2k> | ||
+ | |||
+ | | ||
+ | | ||
+ | Total Energy [Hartree] | ||
+ | | ||
+ | | ||
+ | |||
+ | Iteration | ||
+ | ------------------------------------------------------------------------------ | ||
+ | 1 PCG | ||
+ | 2 PCG | ||
+ | 3 PCG | ||
+ | 4 PCG | ||
+ | 5 PCG | ||
+ | 6 PCG | ||
+ | 7 PCG | ||
+ | 8 PCG | ||
+ | 9 PCG | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ==== 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 | ||
- | ===== FAQ ===== | ||
howto/tddft.txt · Last modified: 2024/02/24 10:01 by oschuett