Q-Chem 4.4 User’s Manual

6.11 Real-time SCF Methods (RT-TDDFT, RT-HF, OSCF2)

Linear response calculations are the most efficient way to predict resonant electronic response frequencies and intensities. Q-Chem can also propagate mean-field theories (HF, DFT) in real-time with and without dissipation and finite temperature effects. These methods time-evolve the Liouville equation for a one-particle density matrix $\rho (t)$:

  \begin{equation} \label{XXX} \begin{array}{r} i \rho (t) = [\hat{F}\{ \rho \} ,\rho (t)] \end{array} \end{equation}   (6.58)

These real-time methods are useful for simulating attosecond to picosecond timescales, density response to multiple or strong applied fields, and timescales of energy relaxation. Symmetry, non-singlet densities, Meta-GGAs and 5th-rung functionals are not supported for real-time propagation, and nuclei are fixed. The CPU and memory costs of a real-time propagation scale with system size like a linear response calculation, and the wall-time also grows linearly with the desired simulation time. The number of required Fock-build steps can be estimated from the default electronic time-step, which is 0.02 atomic units ($4.8^{-4}$ fs). The real-time code exploits real-time shared-memory parallelism, and the use of 8 or more cores (–nt 8) is suggested. The input file of a basic real-time propagation is relatively simple, but sophisticated jobs require additional input files, and generate additional output.

Example 6.178  Q-Chem Basic RT-TDDFT job for BH3.

0 1
B        0.0000000000      0.0000000000      0.0000000000                 
H        1.1156099994     -0.3220488680      0.2603090013                 
H       -0.3323685610      1.1371841829      0.1113829664                 
H       -0.7822059094     -0.8144746635     -0.3752943192 

Basis 3-21g
thresh 10 
scf_convergence 9 

Before executing this job, a directory (/logs) must be made in the output directory of the job to collect most of the results of the propagation. By default, a real-time job begins from the ground state SCF density, applies a weak, brief (0.07 atomic time units) oscillating electric field to the y-axis of a molecule which excites a superposition of all y-polarized excited states, and outputs the resulting time-dependent dipole moment, energy and other quantities to the logs directory. The parameters of the time-dependent run are printed when the propagation begins. During the propagation the state of the molecule and propagation is summarized in the Q-Chem output file, including estimates of the elapsed and remaining simulation wall-time. Propagation stops when MaxIter time steps are exceeded, or will stop prematurely if the density matrix becomes nonphysical. The logs directory will be populated by several text, whitespace delimited tables by default. The ./logs/Pol.csv file is a table consisting of: (time (au), $\mu _ x$, $\mu _ y$, $\mu _ z$, Total energy, $\mbox{tr}(\rho )$, the gap, the electronic energy, and two unused columns). The ./logs/Fourier_(xyz).csv file contains Fourier transforms of the dipole moment in each direction $\mathcal{F} \{  \mu (t)\} $ consisting of energy (eV), negative imaginary, and real parts respectively.

By adjusting the options of the propagation with a file TDSCF.prm, a much larger amount of output can be generated, including the electron and hole densities at all times as sequential MolDen files (*.mol) viewable with the free package Gabedit (gabedit.sourceforge.net). The *.mol files generated by the real-time code have fractional orbital occupation numbers, and do not render properly in viewers other than Gabedit to our knowledge. So long as the applied field is weak and has short duration the positions at which peaks appear in the Fourier are the same as a linear-response TDDFT-RPA job (note: not the same as a LR-TDDFT-TDA job), as shown in the sample. In an energy-conserving job, the width of the peak is inversely proportional to the duration of the signal sample used to construct the Fourier transform. If the applied field pulse is long ($> 1$ a.u.), or has strong intensity ($>0.01$ a.u.) non-linear response can be studied. Non-linear effects in real-time SCF are an area of active investigation and development. To make a rotationally averaged dipole absorption spectrum the three diagonal components of $\mu _{\alpha \beta }$ (the polarization which results in the $\alpha $ direction after an electric field of magnitude $E(t)$ in the $\beta $ direction) are required i.e:

  $\displaystyle  A(\omega ) = \frac{-1}{3}\Im (\mathcal{F}\{ \mu _{xx}(t) + \mu _{yy}(t) + \mu _{zz}(t)/E(t)\} )  $   (6.59)

These elements of the polarizability can be made from three separate propagations.

6.11.1 Real-Time Job Control

Because of the large number of floating point arguments used to control a real-time job, a separate input file TDSCF.prm in the same directory as the qchem input file is used for parameters. The file is two columns of plain text. The first column is a string naming the parameter (which must match the case and spelling printed in the output exactly to be interpreted correctly), and the second column is a floating point number. The number must only be followed by a new line. Several inputs are interpreted as true=1 or false=0. The most useful parameters are discussed in this section. The code will signal if this file is not found and default values will be supplied instead.

Example 6.179  Q-Chem Typical TDSCF.prm for a real-time B3LYP calculation.

dt  0.02
Stabilize  0
MaxIter  80000
ApplyImpulse  1
ApplyCw  0
FieldFreq 0.7 
Tau 0.07
FieldAmplitude 0.001
ExDir 1.0
EyDir 1.0
EzDir 1.0
Print 0
StatusEvery 10
SaveDipoles  1
DipolesEvery 2
SavePopulations  0
SaveFockEnergies  0
WriteDensities  0
SaveEvery 500
FourierEvery 5000

TDSCF.prm Parameters

Parameter String



timestep (atomic units) >0.02 may be unstable.


$>0$ Forces positive occupation numbers.


Maximum Timesteps


0=No applied gaussian impulse


0=No Continuous Wave, 1=Cosine applied field.


Frequency of applied field (atomic u.)


Time-variance of Gaussian Impulse (atomic u.)


Max. amplitude of field (atomic u.)


Field Polarization Vector (x-component)


Field Polarization Vector (y-component)


Field Polarization Vector (z-component)


Value $>0$ makes print more debug output.


Iterations between status in output file


0=No Pol.csv generated.


Iterations between samples of Dipole


1=Saves diagonal of the density


1=Saves diagonal of the Fock matrix


$>0$ generates .mol files readable with gabedit


Iterations between writing of all files in /logs


Iterations between Fourier Transform


A zoom parameter which controls resolution of FT.

Any undocumented options not discussed above are not officially supported at this time.