Static screening: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
 
(29 intermediate revisions by 5 users not shown)
Line 1: Line 1:
===Static screening matrix ===
In this module you will learn how to calculate the static screening. This is the first step in the calculation of optical spectra within the Bethe-Salpeter framework.


Create the input file:


  $ yambo -F 02_Ws.in -b -k hartree
==Background==
To calculate the correlation part of the kernel ''W'' we need the static dielectric screening. This is a calculation of the linear response of the system analogous to the calculation of the [[RPA/IP]] dielectric function. One important difference is that here we consider the static dielectric function.     
[[File:BSE1-Eq2.png|none|x50px]]
 
==Prerequisites==
* You must first complete the "How to use Yambo" modules
 
'''You will need''':
* The <code>SAVE</code> databases for 3D hBN
* The <code>yambo</code> executable
 
==Choosing input parameters==
First, we need to initialize the yambo <code>SAVE</code> by just typing
 
$ yambo
 
Next, we [[Input_file_generation_and_command_line_options|generate the input]] by invoking yambo with the option "-X s"  from the command line:
 
$ yambo -X s -F 01_3D_BSE_screening.in
 
The input opens in the standard editor. Similarly to the other linear response calculations the relevant input variables to be changed are:
 
% [[Variables#BndsRnXs|BndsRnXs]]
  1 | 40 |               
%
  [[Variables#NGsBlkXs|NGsBlkXs]]= 4000 mRy
 
The first variable gives how many bands are included in the sum to calculate the static response function. The second is a cutoff for the dimension of the static dielectric matrix.
 
In a [[How to choose the input parameters|subsequent tutorial]] you will see how to choose these two parameters. Another relevant input parameter to change is
 
% [[Variables#LongDrXs|LongDrXs]]
  1.000 | 1.000| 1.000
%
 
In this way the perturbing electric field has components in each direction.
 
==Static screening runlevel==
Run the calculation by invoking yambo:
$ yambo -F 01_3D_BSE_screening.in -J 3D_BSE
 
In the log of the calculation - found either in the file <code>l_3D_BSE_screen_dipoles_em1s</code>, if you used mpirun, or directly printed on the terminal, if you ran yambo as is - you can see that after calculating the dipole matrix elements, for each q vector yambo calculates the IP response function and by inversion the RPA response function
 
<02s> Xo@q[1] |########################################| [100%] --(E) --(X)
<02s> X@q[1] |########################################| [100%] --(E) --(X)
 
In the report, <code>r-3D_BSE_dipoles_em1s</code>, the details of the calculations are reported under the 5th section
 
[05] Static Dielectric Matrix
=============================
 
This calculation does not produce any human readable output, but both the dipole matrix elements and the static screening dielectric function are saved in a database in the 3D_BSE directory:
 
3D_BSE/ndb.dipoles
3D_BSE/ndb.em1s
3D_BSE/ndb.dipoles
3D_BSE/ndb.em1s_fragment_*
 
which are needed in the [[Bethe-Salpeter kernel|BS kernel runlevel]].
 
==Summary==
From this tutorial you've learned:
* How to compute the static screening as first step in a BSE calculation
 
==Navigate==
* Next module: [[Bethe-Salpeter kernel]]
* Back to [[Calculating optical spectra including excitonic effects: a step-by-step guide|Calculating optical spectra including excitonic effects: a step-by-step guide]] tutorial
* [[Modules|Back to technical modules menu]]
* [[Tutorials|Back to tutorials menu]]
 
<!--
''Prerequisites''
 
Run [[Initialization]]
 
Run [[Truncated Coulomb potential]] (Only for 2D)
 
 
 
''Create the input file''
 
  $ yambo -F 02_Ws.in -b -k hartree     (for a 3D material)
or  
or  
  $ yambo -F 02_Ws.in -b -k hartree -r  (for a 2D)
  $ yambo -F 02_Ws_2D.in -b -k hartree -r  (for a 2D)


Open the input file
Open the input file
Line 13: Line 93:
   1 |  40 |                # [Xs] Polarization function bands
   1 |  40 |                # [Xs] Polarization function bands
  %
  %
  NGsBlkXs= 2 Ry  # [Xs] Response block size
NGsBlkXs= 2 Ry             # [Xs] Response block size
  [[Variables#htest6|NGsBlkXs]] = 2 Ry              # [Xs] Response block size   SECTION LINK
[[Variables#test7|NGsBlkXs]] = 2 Ry              # [Xs] Response block size    SINGLE DIRECT LINK


Close the input and run the code
Close the input and run the code


  $ yambo -F 02_Ws.in
  $ yambo -F 02_Ws.in -J 3D
 
or
$ yambo -F 02_Ws_2D.in -J 2D
-->

Latest revision as of 12:15, 6 April 2022

In this module you will learn how to calculate the static screening. This is the first step in the calculation of optical spectra within the Bethe-Salpeter framework.


Background

To calculate the correlation part of the kernel W we need the static dielectric screening. This is a calculation of the linear response of the system analogous to the calculation of the RPA/IP dielectric function. One important difference is that here we consider the static dielectric function.

BSE1-Eq2.png

Prerequisites

  • You must first complete the "How to use Yambo" modules

You will need:

  • The SAVE databases for 3D hBN
  • The yambo executable

Choosing input parameters

First, we need to initialize the yambo SAVE by just typing

$ yambo

Next, we generate the input by invoking yambo with the option "-X s" from the command line:

$ yambo -X s -F 01_3D_BSE_screening.in

The input opens in the standard editor. Similarly to the other linear response calculations the relevant input variables to be changed are:

% BndsRnXs
  1 | 40 |                 
%
 NGsBlkXs= 4000 mRy

The first variable gives how many bands are included in the sum to calculate the static response function. The second is a cutoff for the dimension of the static dielectric matrix.

In a subsequent tutorial you will see how to choose these two parameters. Another relevant input parameter to change is

% LongDrXs
 1.000 | 1.000| 1.000
%

In this way the perturbing electric field has components in each direction.

Static screening runlevel

Run the calculation by invoking yambo:

$ yambo -F 01_3D_BSE_screening.in -J 3D_BSE 

In the log of the calculation - found either in the file l_3D_BSE_screen_dipoles_em1s, if you used mpirun, or directly printed on the terminal, if you ran yambo as is - you can see that after calculating the dipole matrix elements, for each q vector yambo calculates the IP response function and by inversion the RPA response function

<02s> Xo@q[1] |########################################| [100%] --(E) --(X)
<02s> X@q[1] |########################################| [100%] --(E) --(X)

In the report, r-3D_BSE_dipoles_em1s, the details of the calculations are reported under the 5th section

[05] Static Dielectric Matrix
=============================

This calculation does not produce any human readable output, but both the dipole matrix elements and the static screening dielectric function are saved in a database in the 3D_BSE directory:

3D_BSE/ndb.dipoles 
3D_BSE/ndb.em1s
3D_BSE/ndb.dipoles
3D_BSE/ndb.em1s_fragment_*

which are needed in the BS kernel runlevel.

Summary

From this tutorial you've learned:

  • How to compute the static screening as first step in a BSE calculation

Navigate