Additive Screening for Interface Systems

by Maximilian Schebek & Ignacio Gonzalez Oliva for exciting fluorine

Purpose: In this tutorial you will learn how efficiently compute dielectric screening for large interface systems within many-body perturbation theory following the approach presented in XAF-2019. As an example, this effect will be studied for benzene on a supercell of molybdenum disulfide (MoS2). Note that this is an advanced tutorial - make sure to be familiar with the basics of BSE as explained, e.g., in the tutorials Excited states from BSE and Exciton analysis and visualization.

NOTE: Due to the large number of atoms, this tutorial cannot be run on a simple PC, you will need to have access to a cluster. This tutorial is only meant as a guide how to prepare the input files and as a presentation of the workflow.

1. Theoretical background

2. Preliminary Step: Dielectric matrices of the individual systems

Important note: All input parameters are given in atomic units!

In this tutorial we consider as an example a benzene molecule on top of a 3×3×1 supercell of MoS2. First, we create a run directory where will run all our calculations.

$ mkdir run
$ cd run

Inside the directory run we create three subdirectories: interface_system, benzene, and mos2 where we perform the calculations of the different systems.

$ mkdir interface benzene mos2

As a first step, we create the input files for the individual systems, the MoS2 unit cell and the benzene molecule in a cell with a volume corresponding to a 3×3×1 supercell of the MoS2 unit cell. First, let's move to the mos2 directory and have a look at the MoS2 input file.

$ cd mos2

With this input, we will first run a ground-state calculation followed by the calculation of the dielectric matrix. The meaning of these attributes are explained in Excited states from BSE.

The second step, computing the dielectric matrix, is a central part of every BSE calculation. However, as we are not interested in running a full BSE calculation, we can run only the specific steps needed for this purpose by specifying them in the plan element. We added the task write_dielectric_matrix which will write the dielectric matrix (which was only computed for the symmetry-reduced q-vectors) for all q-vectors. This step is important for the XAF method to work correctly. Now you can copy the input into the new file input.xml and run the calculation. The resulting dielectric matrix will be stored in the folder EPS0.

Next, we will repeat these steps, i.e., a ground-state calculation and the subsequent calculation of the dielectric matrix, for the benzene molecule. First, move to the benzene directory:

$ cd ../
$ cd benzene

The input looks like the following:

The lattice vectors now correspond to the ones of the 3×3×1 supercell of the MoS2 unit cell. Note that due to the small hydrogen muffin-tin radius we used a smaller value of the attribute rgkmax compared to the MoS2 case. This ensures that the same |G+k|max cutoff is used for both systems.

Now you can copy the input into the new file input.xml.

3. BSE calculation of the interface system

Now it is time to run a full BSE calculation for the interface system.

$ cd ../
$ cd interface

To make use of the additive XAF approach, we need to copy the dielectric matrices (stored in EPS0) of the two individual components as well as the used q-grids (stored in QPOINTS_SCR.OUT) and q+G-grids (stored in GQPOINTS) into the interface directory. We can copy and simultaneously rename the various directories with the following commands:

$ cp -r ../mos2/EPS0 EPS0_1
$ cp -r ../mos2/GQPOINTS GQPOINTS_1 

$ cp -r ../benzene/EPS0 EPS0_2
$ cp -r ../benzene/GQPOINTS GQPOINTS_2
$ cp    ../benzene/QPOINTS_SCR.OUT QPOINTS_SCR_2.OUT

Doing so, MoS2 is considered as system (1) of the interface system and benzene as system (2). Of course, this choice is arbitrary and we could have done it the other way round. It is, however, important to be consistent with this naming in the following input file when specifying the supercell dimensions of the two systems in the attributes supercell_1 and supercell_2.

The input file for the full interface is given in the following:

To replace the standard screening calculation needed in the BSE by the additive approach we include the task expand_add_eps (eas). This requires further the presence of the expand_eps element. Here, we have to specify the dimensions of the supercells of the sub-unit cells that are used in the interface. In our case, this is 3×3×1 for MoS2 and 1×1×1 for benzene as this molecule was already computed in the 3×3×1 supercell of MoS2.

Now, the imaginary part of the dielectric function can be plotted. The following commands can be used inside the interface folder


Then, make use of the python script by typing

$ -f exact-BSE eas-BSE -lx 'Energy [eV]'  -ly 'Im $\varepsilon_M$'  -t 'Macroscopic dielectric function'  -g  -rc  -cy 3  -x 0 8  -lp 1

As a reference, the spectrum obtained using the exact screening is also shown. As you can see, the two spectra are almost identical with some very subtle changes.



  • XAF-2019: Quasiparticle Levels at Large Interface Systems from Many-BodyPerturbation Theory: The XAF-GW Method, Xuan et al., J. Chem. Theory Comput. 2019, 15, 3824−3835 (PDF).
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License