Prerequisites for Real Time propagation with Yambo

From The Yambo Project
Revision as of 13:31, 16 January 2020 by Davide (talk | contribs) (First version of the page created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Prerequisites

The real-time response using the Time-Dependent Schroedinger Equation(TDSE) needs yambo_nl and ypp_nl in double precision. In order to compile it, just add the flag --enable-dp in your configure. If you have problems in the compilation please have a look to compiling yambo.

You can download input files and Yambo databases for this tutorial here: hBN-2D.

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:

DFT calculations

In this example, we will consider a single later of hexagonal boron nitride (hBN). 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.


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

Generate the setup input file with the command yambo_nl -i -V RL -F setup.in, then run yambo_nl -F setup.in. You can reduce the number of G-vectors in the setup in such a way to speed up calculations. I advise reducing G-vector 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
%
% Efield2
 0.00     | 0.00     | 0.00     |        # Additional 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 and run the setup again yambo_nl -F ../setup.in. Now everything is ready for the real-time simulations!