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 Schrödinger 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 yambo_nl
and ypp_nl
excutables are always compiled in double precision.
(NB: in older version of the code you needed, before compiling, to 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 before, 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.
Go into the directory with the yambo SAVE and generate the setup input file with the command yambo_rt -i -V RL -F setup.in
, then run yambo_rt -F setup.in
.
$ cd hBN-2D-RT/YAMBO $ yambo_rt -i -V RL -F setup.in $ 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_rt/ypp_nl -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 / yambo_rt
Now everything is ready for the real-time simulations!
Links for 2023 school
- Back to Rome 2023#Tutorials
- Next step Linear response (density matrix)