How to treat low dimensional systems: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
Line 40: Line 40:
  $ yambo -F yambo_RIM.in -J 2D
  $ yambo -F yambo_RIM.in -J 2D


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




Line 70: Line 69:
   Q [7]: 0.888208 1.007869
   Q [7]: 0.888208 1.007869


Now we can perform a calculation of the exchange self-energy to estimate the HF gap using the RIM to calculate the integral.
Close the report file and perform a calculation of the exchange self-energy to estimate the HF gap using the RIM.


Generate the input  
Generate the input  
Line 86: Line 85:




At the end you will find the report file <code> </code>  
At the end you will find the report file <code>r-2D_HF_and_locXC_rim_cut </code>  


and the output file o-2D.hf. Open and look at it.
and the output file <code>o-2D.hf </code>. Open and have a look


   K-point    Band      Eo        Ehf        DFT        HF
   K-point    Band      Eo        Ehf        DFT        HF
Line 96: Line 95:




The value of the HF gap of 12.91 eV (fourth column)
You can obtain the HF gap of 12.91 eV subtracting the 2 values in the fourth column  


Doing a similar HF calculation without generating and reading the RIM database the HF gap is 12.69 eV.  
Doing a similar HF calculation without generating and reading the RIM database the HF gap is 12.69 eV.  
Indeed the presence of the numerical instability is evident only using denser k-grids with respect to the one  
Indeed the presence of the numerical instability is evident only using denser k-grids with respect to the one  
used in this Tutorial (6x6x1).  
used in this Tutorial (6x6x1).  

Revision as of 06:33, 28 March 2017

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= 100            RL    # [RIM] Coulomb interaction RS components 


N.B RandGvec=100 means to use the RIM for the first 100 G-components of the coulomb potential (Suggestion : later you can check convergence of the HF gap changing these two values)


Close input and Run yambo

$ yambo -F yambo_RIM.in -J 2D

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


[04.02] RIM integrals

 =====================
 Gamma point sphere radius         [au]:  0.08028
 Points outside the sphere             :  800231
 [Int_sBZ(q=0) 1/q^2]*(Vol_sBZ)^(-1/3) = 7.667102
                                should be < 7.795600
 [WR./2D//ndb.RIM]-------------------------------------------
  Brillouin Zone Q/K grids (IBZ/BZ):   7   36    7   36
  Coulombian RL components        : 209
  Coulombian diagonal components  :yes
  RIM random points               : 1000000
  RIM  RL volume             [a.u.]: 0.390129
  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.9835 * Q [2]: 0.256404 1.093779
 Q [5]: 0.444104 1.031700 * Q [3]: 0.512807 1.023425
 Q [6]: 0.678380 1.013439 * Q [4]: 0.769211 1.010447
 Q [7]: 0.888208 1.007869

Close the report file and perform a calculation of the exchange self-energy to estimate the HF gap using the RIM.

Generate the input

$ yambo -F yambo_HF.in -r -x 

To calculate the HF gap in the last point only, change the last line as

 QPkrange                    # [GW] QP generalized Kpoint/Band indices
 7|  7|  4|  5|


Close the input and run yambo

$ yambo -F yambo_HF.in -J 2D


At the end you will find the report file r-2D_HF_and_locXC_rim_cut

and the output file o-2D.hf . Open and have a look

  K-point    Band       Eo         Ehf        DFT        HF
  7.00000    4.00000    0.00000   -3.21640  -16.21949  -19.43589
  7.00000    5.00000    4.40109    9.68783  -11.10752   -5.82078


You can obtain the HF gap of 12.91 eV subtracting the 2 values in the fourth column

Doing a similar HF calculation without generating and reading the RIM database the HF gap is 12.69 eV. Indeed the presence of the numerical instability is evident only using denser k-grids with respect to the one used in this Tutorial (6x6x1). To see it you should generate other SAVE directories with denser k-grids and check the HF gap.

Here are reported the results of the HF gap calculated with different k-grids without (noRIM) and with Random Inetgration Method (RIM)

            noRIM       RIM
 6x6x1      12.69eV    12.91eV
 12x12x1    12.80eV    12.89eV
 15x15x1    12.96eV    12.90eV
 45x45x1    15.52eV    12.96eV

So the home message is : 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