Quantum ESPRESSO Workshop June 25-29, 2012 The Pennsylvania State University University Park, PA Real Time TDDFT Curtesy of Davide Ceresoli Istituto di Scienze e Tecnologie Molecolari CNR c/o Dipartimento di Chimica Fisica ed Elettrochimica Università degli studi di Milano davide.ceresoli@istm.cnr.it Optical excitations: real-time TDDFT In principle, TDDFT is an exact reformulation of time-dependent quantum mechanics. However, in practice we have to adopt some approximations: Adiabatic approximation: (i.e. without memory effect) LDA / GGA self-interaction error wrong asymptotic limit of XC potential local/semilocal functional Real time TDDFT Real-time propagation scheme of TDDFT is a simple, efficient, and direct approach to obtain optical properties. Calculate dynamic polarizability and polarization under time-dependent external perturbation Flowchart: (a) apply a perturbative electric field along three directions (b) propagate the TDKS wavefunctions (c) calculate time-dependent dipole moment / angular momentum (d) finally obtain the dipole / rotational strength function via Fourier transform Real time TDDFT: flowchart (a) apply a perturbative electric field along three directions (b) propagate the TDKS wavefunctions First-order Crank-Nicholson integration method Ax=b : solved by conjugated-gradient squared method (CGS) Δt = 2 attosecond. Integration for 20 fs (→ 0.2 eV resolution) Real time TDDFT: flowchart (c) calculate time-dependent dipole moment / angular momentum (d) obtain the dipole/rotational strength function via Fourier transform Dynamic polarizability Dipole strength function Averaged in 3 directions Complex rotatory strength function Rotational strength function Real time TDDFT with QE 1- Run SCF calculation (SiH4-scf.in) &control prefix = 'sih4' calculation = 'scf', restart_mode = 'from_scratch' pseudo_dir = './pseudo/', outdir = './scratch/' / &system ibrav = 1, celldm(1) = 20.0 nat = 5, ntyp = 2 ecutwfc = 25 nosym = .true. / &electrons diagonalization = 'david', conv_thr = 1.0d-8 / ATOMIC_SPECIES Si 28.08550 Si.pz-vbc.UPF H 1.00000 H.pz-vbc.UPF ATOMIC_POSITIONS angstrom Si 0.000000000 0.000000000 H 0.859674551 0.859674551 H -0.859674551 -0.859674551 H -0.859674551 0.859674551 H 0.859674551 -0.859674551 K_POINTS automatic 1 1 1 0 0 0 0.000000000 0.859674551 0.859674551 -0.859674551 -0.859674551 ./pw.x <SiH4-scf.in >SiH4-scf.out Real time TDDFT with QE 2- Run TDDFT propagation (SiH4-tddft_x.in) &inputtddft job = 'optical' prefix = 'sih4' tmp_dir = './scratch/' dt = 2.0 nstep = 5000 e_direction = 1 e_strength = 0.01 / ! ! ! ! attoseconds (1e-18 s) 5000-10000 typically 1=x, 2=y, 3=z E-field strength (1/Angstrom) ./tddft.x <SiH4-tddft_x.in >SiH4-tddft_x.out 3- Extract dipole dynamics, calculate optical absorption grep ^DIP SiH4-tddft_x.out >dip_x.dat python plot_optical_absorption.py x Check time-step, and energy range in python script! Let's plot the results (SiH4) gnuplot> plot 'dip_x.dat' us 3:5 Let's plot the results (SiH4) 9.4 eV 7.7 eV gnuplot> plot 'sih4_x.dat' Let's take another view gnuplot> set log y gnuplot> plot 'sih4_x.dat' us (1239.8419/$1):2 Exercise: aromatic vs. conjugated Aromatic Conjugated C6H6 Fulvene Benzene C10H8 Naphtalene Azulene Aromatic vs. conjugated Pick one molecule Run SCF Run TDDFT // x, run TDDFT // y (optional) Run TDDFT // z Plot optical absorption, find maximum λmax of absorption Note: 20 Ry cutoff, 4 Å vacuum!!! Results: benzene 7.33 eV 8.35 eV 6.1 eV $ paste benzene_[xyz].dat >benzene_tot.dat gnuplot> plot 'benzene_tot.dat' us 1:(($2+$4+$6)/3) Results: fulvene 5.32 eV 3.1 eV 6.91 eV Results: naphtalene 6.00 eV 7.99 eV 4.28 eV 7.12 eV Results: azulene 5.22 eV 2.44 eV Comparison to experiments Calc. (nm) Expt. (nm) Intensity 203 254 weak 169 204 strong 148 184 strong Naphtalene Benzene Calc. (nm) Expt. (nm) Intensity 289 312 weak 206 289 strong 174 -- weak 155 220 strong Comparison to experiments: λmax Benzene λmax = 254 nm (expt.) λmax = 203 nm (calc.) Naphtalene λmax = 312 nm (expt.) λmax = 289 nm (calc.) Fulvene λmax = 370 nm (expt.) λmax = 399 nm (calc.) Azulene λmax = 690 nm (expt.) λmax = 508 nm (calc.) What color is azulene? Let's convert wavelength into approximate RGB: $ python wave2RGB.py From wikipedia: Not absorbed “TD-ALDA” azulene Absorbed Not absorbed Absorbed “Real” azulene Essential bibliography Yabana and Bertsch, Time-dependent local-density approximation in real time, Phys. Rev. B 54, 4484 (1996) Yabana and Bertsch, Application of the time-dependent local density approximation to optical activity, Phys. Rev. A 60, 1271 (1999) Yabana, Nakatsukasa, Iwata and Bertsch, Real-time, real-space implementation of the linear response time-dependent density-functional theory, Physica status solidi (b) 243, 1121 (2006) Castro, Appel, Oliveira, Rozzi, Andrade, Lorenzen, Marques, Gross and Rubio, Octopus: a tool for the application of time-dependent density functional theory, Physica status solidi (b) 243, 2465 (2006) Marques, Castro, Bertsch and Rubio, Octopus: a first-principles tool for excited electron-ion dynamics, Comput. Phys. Commun. 151 60-78 (2003) Castro, Marques and Rubio, Propagators for the time-dependent Kohn-Sham equations, J. Chem. Phys 121, 3425 (2004) Andrade, Botti, Marques and Rubio, Time-dependent density functional theory scheme for efficient calculations of dynamic (hyper)polarizabilities, J. Chem. Phys 126, 184106 (2007) Xiaofeng Qian, Ju Li, Xi Lin, and Sidney Yip, Time-dependent density functional theory with ultrasoft pseudopotentials: Real-time electron propagation across a molecular junction, Phys. Rev. B 73, 035408 (2006) Codes: http://www.phys.washington.edu/ users/bertsch/V2.1.tar