# *EXCITATION ENERGIES¶

Calculate excitation energies using time dependent Hartree-Fock or DFT. The excitation energies are found as the lowest generalized eigenvalues of the electronic Hessian. DIRAC supports TDDFT kernels from all ground state functionals included in the code. Currently the iterative eigenvalue solver may fail to converge more than about twenty roots per symmetry.

## Define excitations and transition moments¶

### .EXCITA¶

```
.EXCITA
SYM N
```

Number of excitation energies N calculated in boson symmetry no. SYM. This keyword can be repeated if you want excitation energies in more than one boson symmetry.

### .OPERATOR¶

Specification of a transition moment operator (see One-electron operators for details). This keyword can be given multiple times to add more operators.

### .EPOLE¶

Specification of electric Cartesian multipole operators of order \(n\)

for the calculation of transition moments (note that they contribute to one order less in the wave vector). Specify order.

*Example:* Electric dipole operators:

```
.EPOLE
1
```

### .MPOLE¶

Specification of magnetic Cartesian multipole operators of order \(n\)

for the calculation of transition moments (note that they contribute to the same order in the wave vector). Specify order.

*Example:* Magnetic dipole operators:

```
.MPOLE
1
```

### .VPOLE¶

Specification of electric Cartesian multipole operators of order \(n\) in the velocity representation

*Example:* Velocity representation electric dipole operator:

```
.VPOLE
1
```

### .ANALYZE¶

Analyze solution vectors and show the most important excitations at the orbital level.

### .INTENS¶

Invoke calculation of oscillator strengths to order k in the wave vector. Default order is zero, which corresponds to the widely used electric-dipole approximation. By default results are given both in the length and the velocity representation, but a selection can be made using keywords .NOLENR and .NOVELR. Only even orders contribute. For further details, see [List_JCP2020]

*Example:*

```
.INTENS
2
```

### .BED¶

Invoke calculation of oscillator strengths using the full operator coupling the molecule to an electromagnetic plane wave. The oscillator strength is then given by

where appears the effective interaction operator

In the above expression \(\mathbf{k}\) refers to the wave vector of length \(k=\omega/c\) and direction \(\mathbf{m}\), whereas the polarization of the electric component is specificed by \(\boldsymbol{\epsilon}\).

Since experiment is typically carried out in an isotropic medium, rotational average is performed. Rather than rotate the molecule we shall rotate the experimental apparatus. To rotate we use the unit vectors of the spherical coordinates

We now choose to align the wave vector with the \(\mathbf{e}_r\) unit vector, that is

This means that the polarization vector \(\boldsymbol{\epsilon}\) is in the plane spanned by the unit vectors \(\mathbf{e}_{\theta}\) and \(\mathbf{e}_{\phi}\). We therefore set

We see the solid angle \(\left(\theta,\phi\right)\) gives all possible directions of the wave vector \(\mathbf{k}\), wheras the angle \(\chi\) provides all possible orientations of the polarization vector \(\boldsymbol{\epsilon}\) in the plane perpendicular to \(\mathbf{k}\).

The general expression for the rotational average will be

In our case we have

which simplifies to

since only the polarization vectors depend on the angle \(\chi\). The average over the angle \(\chi\) can be expressed compactly in terms of the wave unit vector \(\mathbf{m}\) (\(\mathbf{k}=k\mathbf{m}\))

whereas the average over angles \(\theta\) and \(\phi\) is handled by Lebedev quadrature .

A full account is given in [List_JCP2020]

### .BEDECD¶

Invoke calculation of the differential oscillator strengths using the full interaction operator. This quantity is calculated as the difference between the oscillator strengths corresponding to left- and right-handed circularly polarized light. The differential oscillator strenght is given by

where the transition moments are written in vector form, \(\mathbf{T}=\langle f|\frac{e}{\omega} c\boldsymbol{\alpha}e^{i\mathbf{k}\cdot\mathbf{r}}|i\rangle\), which allows the compact cross-product form in previous equation.

Isotropic averaging of the differential oscillator strength is handled in an analogous manner as .BED, with the main difference being that in the current case, only two angles are required. The redundancy of the angle \(\chi\) is a manifestation of axial symmetry. The rotational average can be written as

For a full account see [vanHorn2021probing].

### .ANGPLOT¶

Print the anisotropic differential oscillator strength (see. .BEDECD) for every point on the Lebedev grid. These points can be used to plot the differential oscillator strength as a function of the incident angle of the radiation. A full account is given in [vanHorn2021probing].

### .ORIENT¶

Specify fixed experimental configuration (no rotational average). The orientation of the wave and polarization vector is given by specification of the angles \(\theta\), \(\phi\) and \(\chi\), see the .BED keyword for more details. For instance, to specify that the wave vector is along the \(z\) -axis and the polarization vector along the \(x\) - axis, we set

```
.ORIENT
0.0 0.0 0.0
```

### .NROTAV¶

As described under the .BED keyword, Lebedev quadrature is employed for rotational average. This quadrature over the solid angles can integrate a spherical harmonic to high accuracy with a maximum angular momentum \(L_\mbox{max}\). The default value of \(L_\mbox{max}\) is presently 5, but can be reset with this keyword.

### .BEDCON¶

Specification of contributions of the full light-matter interaction of order \(n\) in the wave vector

### .NOLENR¶

Deactivate length representation.

### .NOVELR¶

Deactivate velocity representation.

## Control variational parameters¶

### .OCCUP¶

For each fermion ircop give an Specification of orbital strings of inactive orbitals from which excitations are allowed. By default excitations from all occupied orbitals are included in the generalized eigenvalue problem.

Example:

```
.OCCUP
1..3
7,8
```

This would include excitations from gerade orbitals 1,2,3, and ungerade orbitals 7 and 8.

### .VIRTUA¶

For each fermion ircop give an Specification of orbital strings of virtual orbitals to which excitations are allowed. By default excitations to all virtal orbitals are included in the generalized eigenvalue problem.

### .SKIPEE¶

Exclude all rotations between occupied positive-energy and virtual positive-energy orbitals.

### .SKIPEP¶

Exclude all rotations between occupied positive-energy and virtual negative-energy orbitals.

## Control reduced equations¶

### .MAXITR¶

Maximum number of iterations.

*Default:*

```
.MAXITR
30
```

### .MAXRED¶

Maximum dimension of matrix in reduced system.

*Default:*

```
.MAXRED
200
```

### .THRESH¶

Threshold for convergence of reduced system.

*Default:*

```
.THRESH
1.0D-5
```

## Control integral contributions¶

The user is encouraged to experiment with these options since they may have an important effect on run time.

### .INTFLG¶

Specify what two-electron integrals to include (default: .INTFLG under **HAMILTONIAN).

### .CNVINT¶

Set threshold for convergence before adding SL and SS integrals to SCF-iterations.

*2 (real) Arguments:*

```
.CNVINT
CNVXQR(1) CNVXQR(2)
```

*Default:* Very large numbers.

### .ITRINT¶

Set the number of iterations before adding SL and SS integrals to SCF-iterations.

*Default:*

```
.ITRINT
1 1
```

## Advanced/debug flags¶

### .E2CHEK¶

Generate a complete set of trial vector which implicitly allows the explicit construction of the electronic Hessian. Only to be used for small systems !

### .ONLYSF¶

Only call FMOLI in sigmavector routine: only generate one-index transformed Fock matrix [Saue2003].

### .ONLYSG¶

Only call FMOLI in sigmavector routine: 2-electron Fock matrices using one-index transformed densities [Saue2003].

### .GNOISE¶

To test the robustness of property gradients to numerical noise artificial noise is added to the MO-coefficients. More precisely, the user activates noise and provides a “noise level”. Then, for each element of the coefficient array, a pseudo-random number in the interval (-1,+1] is selected, multiplied with the “noise level” and added to the element.

*Example:*

```
.GNOISE
1.0D-10
```