Real-time time-dependent coupled cluster (TDCC) and time-dependent equation-of-motion (TD-EOM-CC) calculations in the elementary and diagonal (field-free EOM-CC state) bases are currently available for CCS and CCSD methods. A general description of how to perform generic coupled cluster calculations is given in the `Coupled cluster calculation`

tutorial. In addition to the sections that are needed for a ground state coupled cluster calculation with multipliers, the `real time`

keyword must be specified in the `do`

section:

```
- do
real time
```

Real-time propagation will be done if it is specified in the `cc real time`

section:

```
- cc real time
propagation
```

The details of the real-time propagation must be given in the `solver cc propagation`

section. In this section, the keywords `initial time`

, `final time`

and `time step`

must be specified together with corresponding arguments in Hartree atomic units. Also, the keyword `method`

specifies which real-time coupled cluster method to use, with the options `tdcc`

(default), `elementary td-eom-cc`

and `diagonal td-eom-cc`

. The following is an example of the specifications needed in the `solver cc propagation`

section for running a TDCC calculation:

```
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.01
```

If the keyword `method: diagonal td-eom-cc`

is specified, the calculation of excited states and all interstate transition moments in the dipole approximation length gauge is also needed. This requires the addition of the `solver cc es`

section, for instance

```
- solver cc es
singlet states: 10
```

and the `cc response`

section with the following keywords

```
- cc response
eom
transition moments
dipole length
```

This is all the additional information you are required to specify in order to run a real-time propagation with the default settings. A minimal working `tdcc`

example is the following:

```
- do
real time
- method
hf
ccsd
- cc real time
propagation
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.05
- geometry
basis: cc-pVDZ
H 0.86681 0.60144 5.00000
H -0.86681 0.60144 5.00000
O 0.00000 -0.07579 5.00000
He 0.10000 -0.02000 7.53000
```

It is possible to produce output files containing the time series for the energy, dipole moment, MO density matrix and time-dependent parameters (cluster amplitudes and Lagrange multipliers for TDCC; EOM-CC right and left amplitudes for TD-EOM-CC) of the calculation, by adding the corresponding keywords, namely `energy output`

, `dipole moment output`

, `mo density matrix output`

, and `parameters output`

in the `solver cc propagation`

section. For example, if an output file containing the energy time series is desired, one can write the `solver cc propagation`

section as:

```
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.05
energy output
```

In the output files, the first column contains the time in Hartree atomic units, while the other columns contain the time-dependent value(s) of the required quantity, in Hartree atomic units or without units. For example, the second and following columns of a dipole moment file are, in order: real part of dipole moment along x-axis, imaginary part of dipole moment along x-axis, real part of dipole moment along y-axis, imaginary part of dipole moment along y-axis, real part of dipole moment along z axis and imaginary part of dipole moment along z axis.

The default is that the values of the quantities requested for output are written to file at each time step. However, it is possible to decide how many time steps should pass between each time they are written to file by giving the desired number of passes as an argument to the keyword `steps between output`

, as in the following example:

```
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.05
steps between output: 20
energy output
```

Another parameter that can be set is the convergence threshold for the solution of equations in implicit integration methods. The default is 1.0e-11, but this value can be given as the argument of the keyword `implicit threshold`

, as in the following example:

```
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.05
implicit threshold: 1.0d-10
energy output
```

Finally, the integration can be done using the Euler method, the most well-known four-step fourth-order explicit Runge-Kutta method known as RK4 (default), and the 2nd, 4th and 6th order Gauss-Legendre methods. The integration method is chosen by writing respectively `euler`

, `rk4`

, `gl2`

, `gl4`

or `gl6`

as the argument of the keyword `integrator`

in the `solver cc propagation`

section. This is illustrated in the following example:

```
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.05
integrator: gl4
energy output
```

The integration can also be done using the embedded Dormand-Prince 5(4) or Dormand-Prince 8(5,3) methods, by choosing `dopri5`

or `dop853`

as arguments to the `integrator`

keyword. The method automatically halves the time step size when an error estimate is greater than the argument of the keyword `max error`

, and doubles the step size when the estimate is smaller than the argument of the keyword `min error`

, as in the following example:

```
- solver cc propagation
initial time: 0.0
final time: 10.0
time step: 0.05
integrator: dopri5
max error: 1.0d-8
min error: 1.0d-12
```

It is possible for the user to specify any number of classical electric field pulses within the dipole approximation length gauge that should interact with the molecule during the real-time propagation. Each pulse is defined by a set of parameters, which must be specified through keywords in the `electric field`

section as follows:

```
- electric field
keyword: {argument for pulse 1, argument for pulse 2, ...}
```

The parameter keywords that can be specified in the electric field section are the following:

`envelope`

: 1 for Gaussian envelope, 2 for sine squared envelope

`x polarization`

: x component of the unit polarization vector

`y polarization`

: y component of the unit polarization vector

`z polarization`

: z component of the unit polarization vector

`central time`

: time value of the peaks of the Gaussian and sine squared envelopes, in Hartree atomic units

`width`

: Gaussian RMS width/standard deviation for Gaussian envelopes and single period (truncated outside this) for sine squared envelopes, in Hartree atomic units

`carrier angular frequency`

: angular frequency of the carrier wave, in Hartree atomic units

`peak strength`

: peak electric field strength of the pulse, in Hartree atomic units

`phase shift`

: (carrier-envelope) phase shift, given as the shift between the maxima of the carrier wave and the central time of the envelope

`repetition`

: number of repetitions of given pulse (default is 1)

`separation`

: temporal separation between each repetition of the given pulse (needed only when the number of repetitions is greater than one)

When the interaction with a classical electric field is requested, all of the above parameters apart from `repetition`

and `separation`

must be specified. The corresponding arrays of arguments also must have the same length, as in the following example:

```
- electric field
envelope: {1, 1}
x polarization: {0.0, 0.0}
y polarization: {0.0, 0.0}
z polarization: {1.0, 1.0}
central time: {100.0, 200.0}
width: {10.0, 20.0}
carrier angular frequency: {0.1, 0.2}
peak strength: {0.01, 0.02}
phase shift: {0.0, 0.0}
```

In a time-dependent calculation, it is possible to request the complex Fast Fourier Transform (FFT) of the time-dependent dipole moment and electric field in a specified interval.
For example, to compute the FFT of the dipole moment, the section `solver fft dipole moment`

should be requested.

The keywords that must be specified with corresponding arguments in the `solver fft dipole moment`

section are the following:

`initial time`

: the first temporal value to be considered in the FFT

`final time`

: the first last temporal value to be considered in the FFT

`time step`

: should equal the product between the value of`time step`

and`steps between output`

, both from the`solver cc propagation`

section

The optional keywords of the section are the following:

`padding initial time`

: solver will use the value of the time series at`initial time`

for every time step between`padding initial time`

and`initial time`

`hann window`

: solver will modulate the time series (including potential padding) with a Hann function.

`rectangular window`

: solver will modulate the time series (including potential padding) with a rectangular function. This is the default.

The same holds for the fast Fourier transform of the electric field, with the only difference that in this case the section name should be changed to `solver fft electric field`

.