24.3 Functionalities of radless

24.3.1 How to use radless

Radless allows the calculation of vibronic absorption and emission spectra. Absorption and emission spectra must be computed in separate jobs. Calculations with radless can only be done within C1 symmetry. The following steps are necessary to prepare the required input:

  1. Optimize ground state structure and compute vibrational spectrum with aoforce or NumForce.

  2. Optimize excited state structure and compute vibrational spectrum using NumForce.

  3. In a new directory, copy the S1-geometry coord and its control file (control), which points to the coordinate file coord.

  4. In the same directory, copy the S0-geometry coord-gs and its control file (control-gs) pointing to coord-gs.

  5. Make sure the excited state control file (control) points to vibrational modes, frequencies, and reduced masses of the excited state, whereas the ground state control file (control-gs) points to vibrational frequencies, normal modes, and reduced masses of the ground state. This can be achieved either by renaming ground state vibrational files (e.g. vib_normal_modes-gs, vibspectrum-gs etc.) or by directly adding the vibrational data to the control-gs file.

  6. Add necessary keywords to excited state control file (control):

    1. $fluorescence or $absorption, to specify what kind of spectrum will be calculated; the two keywords are exclusive.

    2. $gsenergy= \(number\) ground state total energy (in a.u.) of the excited state structure

    3. $esenergy= \(number\) excited state total energy (in a.u.) of the excited state structure

    4. $spectral width \(integer\); spectral width for fluorescence (for absorption, spectral width is given in control-gs) spectrum in atomic units. Default: adiabatic excitation energy of the current system plus four times the inverse lifetime. The radiative rate will be computed by integration from 0 to \(integer\). Too high \(integer\) can lead to artifacts of the radiative rate due to the numerical error of the discrete Fourier transform in the high frequency region. It is recommended to set \(integer\) by approximately two times the full width at half maximum higher than the adiabatic excitation energy. The fluorescence spectrum will be written from 0 to \(integer\) onto the file FLUORESCENCE_spectrum.dat.

    5. $transdip \(number\): magnitude of transition dipole (length representation) in atomic units (obtained from escf or egrad output). This is only required for fluorescence spectra calculations; for absorption spectra the transition dipole is given in control-gs. Default: 1.0 au.

    6. $max time \(integer\): total integration time in atomic units optional keywords. Due to the fast Fourier transform, \(integer\) should be a power of 2.

  7. Add optional keywords to excited state control file (control):

    1. $broadening: employ lifetime broadening

    2. $lifetime \(integer\): if broadening is used, \(integer\) is the lifetime of the damping function given in atomic units

    3. $dhoa: Displaced harmonic oscillator approximation is applied. Duschinsky matrix is set to unity (no mode mixing).

    4. $delta_t \(number\): use an integration time step of \(number\) (default: 1) in atomic units

    5. $zerofil \(number\): increase the number of data points in spectrum by adding zeros to the generating function to obtain \(number\) times the number of data points in time domain; zerofilling is recommended to increase accuracy in peak positions.

    6. $deuterium: replace all hydrogen atoms by deuterium

    7. $vib1_mode \(number\): calculate SVL spectrum of initial state where mode \(number\) is singly excited; numbering refers to aoforce/NumForce output. Depending on the keyword used ($absorption /$emission ), this will either be the SVL absorption or the SVL emission spectrum.

    8. $vib1_separate: calculate SVL spectra of all possible singly excited initial states. Depending on the keyword used ($absorption /$emission ), these will either be the SVL absorption or the SVL emission spectra.

    9. $debug_radless : print out generating function

    10. $scaling \(number\): scales excited state frequencies by \(number\)

    11. $tga: use TGA method instead of harmonic approximation; see below for additional details and files needed to run this method.

  8. Add necessary keywords to control-gs

    1. $gsenergy= \(number\) ground state total energy of the ground state structure

    2. $esenergy= \(number\) excited state total energy of the ground state structure

    3. $transdip \(number\): magnitude of transition dipole (length representation) in atomic units (obtained from escf or egrad output). (This is only required for absorption spectra calculations). Default: 1.0 au.

    4. $spectral width \(integer\); spectral width for absorption spectrum in atomic units. Default: twice the adiabatic excitation energy of the current system. The total frequency integrated absorption will be computed by integration from 0 to \(integer\). The absorption spectrum will be written from 0 to \(integer\) onto the file ABSORPTION_spectrum.dat.

  9. Add optional keywords to control-gs

    1. $scaling \(number\): scales ground state frequencies by \(number\)

Start a Radless calculation with radless > radless.out.

Additional steps for running TGA

To run TGA (keyword $tga), in addition to control-gs and control files prepared as shown above, we need an MD trajectory launched from the equilibrium geometry of the initial electronic state (ground state for absorption, excited state for emission) and with zero initial momentum. This must be computed before radless is launched. For more details on running MD with Turbomole, see Sec. 5.6. For the purposes of running TGA with radless, one can follow these steps:

  1. Prepare a separete directory with a control file that should contain the geometry of the initial state and be set up for computing the electronic structure of the final electronic state. For example, for absorption, one can use the excited-state control file with the coordinates of the ground state (referenced in the control-gs file). For fluorescence, one would use the ground-state control-gs file with the coordinates of the excited state (referenced in the control file).

  2. Run mdprep script and follow the steps to set up dynamics in the following way:

    1. use “free” or “fix total energy” dynamics;

    2. set initial velocities to zero;

    3. set time step and number of steps as needed; the total time of the generating function will be equal to two times the total time of dynamics—this limits the final resolution of the spectrum;

  3. Run the dynamics with jobex:

    jobex -md

    For excited-state dynamics, use additional options as needed. Examples:

    1. For TDDFT, use

      jobex -md -ex

      with the keyword $exopt state. See Section 8 for more details on TDDFT calculations.

    2. For CC2, use

      jobex -md -level cc2

      and specify the excited state under section $ricc2, e.g.,

      $ricc2
        cc2
        geoopt model=cc2       state=(a 1)

      where “(a 1)” denotes the target excited state. See Section 10 for more details on CC2 calculations.

  4. Add mdmaster and the generated mdlog.xx files to the directory with control-gs and control files, where you can now run radless with radless > radless.out

Using keyword $tga affects the other keywords as follows:

  1. $max time should be larger than \(2t\), where \(t\) is the total time of MD dynamics. Values up to \(2t\) will be filled with the generating function as defined by TGA, while the values beyond \(2t\) will be filled with zeros.

  2. $delta_t This keyword is ignored for TGA because the time step for the generating function in TGA is automatically set to twice the size of the MD time step.

  3. $spectral width, $dhoa, $deuterium, $vib1_mode, $vib1_separate, $scaling are not compatible with $tga

24.3.2 Output of radless

  1. Absorption and emission spectra are written to files, ABSORPTION_spectrum.dat and FLUORESCENCE_spectrum.dat, respectively. The first column gives the frequency (\(\omega\)) in atomic units. In case of absorption, the second column gives the absorption cross section in atomic units (Bohr\(^2\)). In case of emission, the second column contains the emission rate in inverse atomic time units.

  2. If $vib1_separate or $vib1_mode are specified, SVL absorption or emission spectra are written to files, ABSORPTION_spectrum_vib1_\(number\).dat and
    FLUORESCENCE_spectrum_vib1_\(number\).dat, respectively. The first column gives the frequency (\(\omega\)) in atomic units. In case of absorption, the second column gives the absorption cross section in atomic units (Bohr\(^2\)).

  3. If $debug_radless is specified, additional output files are generated. These include Genfunc_fluor.dat and Genfunc_abs.dat, containing the generating functions for emission and absorption, respectively. Real part is given in the first column, imaginary part is given in the second column.

  4. DUSCHINSKY.dat contains the Duschinsky rotation matrix

  5. Geometric displacements projected on vibrational modes are given in the standard output.

  6. Radiative rates are given in the standard output. The static radiative rate refers to \(\frac{4 \Delta E_{if}^3}{3c^3}|\mu_{if}|^2\), whereas the vibrational radiative rate is the integral over the fluorescence spectrum.

  7. The frequency-integrated absorption coefficient[415] (\(\int \sigma_{abs}(\omega)d\omega\)) is given in the standard output.