How to treat low dimensional systems

From The Yambo Project
Jump to navigation Jump to search

In this tutorial you will learn how to:

  • Avoid numerical divergences using the Random Integration Method (RIM)
  • Generate a truncated coulomb potential with a box-like cutoff to eliminate the image-image interactions
  • Use the truncated coulomb potential in the GW calculation
  • Use the truncated coulomb potential in the BSE calculation
  • Analyze the difference with corresponding calculations without the use of a truncated potetnial

Prerequisites

Avoid numerical divergences using the Random Integration Method (RIM)

In DFT runs of low-dimensional materials low dimensional k-grids are generally used. (i.e. NxNx1 for a 2D sheet perpendicular to the z direction) This can create numerical problems in the convergence of the many-body results due to the divergence at small q of the coulomb potential (which appears in all the main equations, see i.e. the exchange self-energy equation).

To eliminate this problem YAMBO uses the so-called Random Integration Method which means to use a Monte Carlo Integration with Random Q-points whose number RandQpts is given in input.

Create the input to generate the ndb.RIM database

$ yambo -F yambo_RIM.in -r 

and change the following variable

 RandQpts= 1000000            # [RIM] Number of random q-points in the BZ
 RandGvec= 1            RL    # [RIM] Coulomb interaction RS components 


N.B RandGvec=1 means to use RIM only for the G=0 but higher G-components can be treated with the same RIM approach (in principle convergence of the observables should be checked).

Close input and Run yambo

$ yambo -F yambo_RIM.in -J 2D

At the end in the 2D directory you find a new database A new report file r-2D_rim_cut<\code> is present. Open it and look inside

[04.02] RIM integrals
 =====================
 Gamma point sphere radius         [au]:  0.08028
 Points outside the sphere             :  799738
 [Int_sBZ(q=0) 1/q^2]*(Vol_sBZ)^(-1/3) = 7.659063
                                should be < 7.795600
 [WR./2D//ndb.RIM]-------------------------------------------
  Brillouin Zone Q/K grids (IBZ/BZ):   7   36    7   36
  Coulombian RL components        : 1
  Coulombian diagonal components  :yes
  RIM random points               : 1000000
  RIM  RL volume             [a.u.]: 0.389358
  Real RL volume             [a.u.]: 0.390112
  Eps^-1 reference component       :0
  Eps^-1 components                : 0.00      0.00      0.00
  RIM anysotropy factor            : 0.000000
 - S/N 005962 -------------------------- v.04.01.02 r.00120 -
 Summary of Coulomb integrals for non-metallic bands |Q|[au] RIM/Bare:
 Q [1]:0.1000E-40.9825 * Q [2]: 0.256404 1.092017
 Q [5]: 0.444104 1.029665 * Q [3]: 0.512807 1.021649
 Q [6]: 0.678380 1.011520 * Q [4]: 0.769211 1.008251
 Q [7]: 0.888208 1.005896


Calculation of the HF gap reading the RIM database

$ yambo -F yambo_cut2D.in -x -r -J 2D

Inside the input change the last line as (to calculate the correction only in the last point for the VBM and CBM only.

%QPkrange # [GW] QP generalized Kpoint/Band indices

 7|  7|  4|  5|

Close the input and run yambo. You will find the report file r-2D_HF_and_locXC_rim_cut and the output file o-2D.hf which reports the calculated HF energies.

  1. K-point Band Eo Ehf DFT HF
  7.00000    4.00000    0.00000   -3.12300  -16.21949  -19.34249
  7.00000    5.00000    4.40109    9.72562  -11.10752   -5.78299

with an HF gap of 12.85 eV


Performing the HF calculation without generating and reading the ndb.RIM database gives a HF gap of

Unfortunately the presence of the numerical instability is evident only using denser k-grids with respect to that one used in this Tutorial (6x6x1). To see it you should generate other SAVE directories with denser k-grids and check the HF gap.

To show the problem the HF gap calculated with different k-grids without (noRIM) and with Random Inetgration Method (RIM) are reported:

            noRIM   RIM
 6x6x1  
 12x12x1
 15x15x1
 45x45x1 

So home message : use always the RIM in MB simulations of low-dimensional materials.

Generate a truncated coulomb potential/ndb.cutoff database (yambo -r)

To simulate an isolated nano-material a convergence with cell vacuum size is in principle required, like in the DFT runs. The use of a truncated Coulomb potential allows to achieve faster convergence eliminating the interaction between the repeated images along the non-periodic direction (see i.e. D. Varsano et al Phys. Rev. B and .. ) In this tutorial we learn how to generate a box-like cutoff for a 2D system with the non-periodic direction along z.

In YAMBO you can use :

spherical   cutoff (for 0D systems)  
cylindrical cutoff (for 1D systems) 
box-like    cutoff (for 0D, 1D and 2D systems)

The Coulomb potential with a box-like cutoff is defined as

Vc1.png

Then the FT component is

Vc2.png

where

Vc3.png

For a 2D-system with non period direction along z-axis we have

Vc4.png

Important remarks:

  • the Random Integration Method (RIM) is required to perform the Q-space integration
  • for sufficiently large supercells a choose L_i slightly smaller than the cell size in the i-direction ensures to avoid interaction between replicas


Creation of the input file:

$ yambo -F yambo_cut2D.in  -r

Open the input file yambo_cut2D.in

Change the variables inside as:

RandQpts= 1000000          # [RIM] Number of random q-points in the BZ
RandGvec= 100        RL    # [RIM] Coulomb interaction RS components
CUTGeo= "box z"            # [CUT] Coulomb Cutoff geometry: box/cylinder/sphere X/Y/Z/XY..
% CUTBox
 0.00     | 0.00     | 32.0    |        # [CUT] [au] Box sides

Close the input file

Run yambo:

$ yambo -F  yambo_cut2D.in  -J 2D

in the directory 2D you will find the two new databases

ndb.RIM		ndb.cutoff