# Prerequisites for Real Time propagation with Yambo

## Introduction

The real-time response using the equation of motion for the density matrix is obtained via the yambo_rt and ypp_rt excutables.
The real-time response using the Time-Dependent Schroedinger Equation (TDSE) is obtained via the yambo_nl and ypp_nl excutables.
Since the TDSE is used to extract non linear properties which are much smaller (if weak perturbations are used), numerical accuracy is very important. Thus the code needs to be compiled in double precision. To this end, just add the flag --enable-dp when running the configure.
If you have problems in the compilation please have a look to compiling yambo.

Before running the real time simulations in any of the two schemes described in the Introduction to Real Time propagation in Yambo the following steps need to be performed. The firsts are common to any yambo calculation and we repeat them here for consistency. The last steps are specific for real time simulations. Let's consider consider a single later of hexagonal boron nitride (hBN) to describe the procedure. If you didn't befpre, You can download input files and Yambo databases for this tutorial here: hBN-2D-RT.

## DFT calculations

The first input file is a self-consistent(SCF) calculation that is used to generate the density of the system. The second input file is a non-self consistent(NSCF) calculation to diagonalize the KS Hamiltonian, which depends on the density of the first run, on for a given number of bands and k-points. Notice that parameters in the NSCF calculation determine the number of k-points and the maximum number of bands that can be used in Lumen. Run this calculation with the command:

pw.x -inp hBN_2D_scf.in  > output_scf
pw.x -inp hBN_2D_nscf.nscf.in > output_nscf


Notice that in the NSCF file of QuantumEspresso we use the flag force_symmorphic=.true. to exclude the non-symmorphic symmetries that are not supported by Yambo. For more details you can have a look here 2D material: h-BN sheet

## Import the wave-functions

If you used QuantumEspresso go in the folder hBN_2D.save. Then import the wave-function with the command

for QuantumEspresso:  p2y -F data-file.xml 

## Setup

Below any of the two executables yambo_rt or yambo_nl can be used.
Generate the setup input file with the command yambo_rt -i -V RL -F setup.in, then run yambo_rt -F setup.in. You can reduce the number of G-vectors in the setup in such a way to speed up calculations. It is advised to reduce the number of G-vectors to 1000 (about 50% of the initial ones).

## Reduce symmetries

Since in real-time simulation we introduce a finite electric field in the Hamiltonian, the number of the symmetries of the original system is reduced due to the presence of this field. Using the tool ypp -y to generate the input file:

fixsyms                      # [R] Reduce Symmetries
% Efield1
0.00     | 1.00     | 0.00     |        # First external Electric Field
%
#RmAllSymm                   # Remove all symmetries
RmTimeRev                    # Remove Time Reversal


Set the external field in the y-direction and uncomment the Time Reversal flag, as shown in red above. Run ypp and it will create a new folder called FixSymm with the reduced symmetries wave-functions.

## Setup again

Go in the FixSymm directory

cd FixSymm


and run the setup again

yambo_nl


Now everything is ready for the real-time simulations!

 Prev: Theory Now: Tutorials --> Linear Response --> Prerequisites Next: Independent Particles