G0W0 Calculation using Truncated Coulomb Potential

Concerns issues with computing quasiparticle corrections to the DFT eigenvalues - i.e., the self-energy within the GW approximation (-g n), or considering the Hartree-Fock exchange only (-x)

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

Bapan
Posts: 18
Joined: Fri Oct 18, 2019 2:37 pm

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Bapan » Tue Nov 26, 2019 1:52 pm

Dear Daniele,
Now I understand the problem, why Yambo was shifting from 1D to 3D K-Grid (probably a problem with YAMBO):
If you look at my earlier report file, you will see small off-diagonal values that are highlighted with red color in below, and that is why Yambo expanding to 3D K-grid:

Direct Lattice(DL) unit cell [iru / cc(a.u.)]
A1 = 1.000000 -0.0065 0.01429 44.39622 -0.05606 0.478511
A2 =-.2296E-3 1.000000 -0.0073 -0.01019 8.647016 -0.243624
A3 = 0.0091 -0.139997 1.000000 0.403539 -1.210554 33.47618

But if I take a supercell with only diagonal values (off-diagonal values are zero unlike the above case), Yambo will run in 1D K-grid. I have uploaded another report file of a 1D system, where Yambo is expanding only in 1D K-grid.


One more doubt:
Can I generate a truncated Coulomb potential using a parallel environment of the cluster?
I have seen the Yambo Parallelism in the wiki: (http://www.yambo-code.org/wiki/index.ph ... n_parallel)
You do not have the required permissions to view the files attached to this post.
Pritam Bhattacharyya,
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Daniele Varsano » Tue Nov 26, 2019 2:42 pm

Dear Pritam,
Can I generate a truncated Coulomb potential using a parallel environment of the cluster?
Yes, you can, in any case this part of calculation should not be time-consuming and can be also run in serial.

Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Bapan
Posts: 18
Joined: Fri Oct 18, 2019 2:37 pm

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Bapan » Wed Nov 27, 2019 9:59 am

Dear Daniele,
If I run in serial, it is taking 20 hrs for a 1D system with 30 atoms and with the 14 atoms 1D system, it is taking 12 hrs.
I have used:

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

Do you think that the above parameters can be reduced for a large system? I know that it depends on the convergence of the optical spectra.

To generate the input files for G0W0+BSE calculations, the following commands are fine? :
yambo -J 2D_WR_WC -F yambo_G0W0.in -p p -g n -r
yambo -J 2D_WR_WC -F yambo_BSE.in -r -o b -p p -y d -k sex -V all

But in yambo wiki (http://www.yambo-code.org/wiki/index.ph ... al_systems), for G0W0, it is shown to consider one more flag (-k hartree) before starting the BSE calculations: yambo -J 2D_WR_WC -F yambo_G0W0.in -p p -g n -r -k hartree -V qp.
Do you think that it is required to build the BSE kernel during the G0W0 calculations to obtain the quasi-particle energy, remembering that I will perform BSE after G0W0 calculations?




Thanks & regards,
Pritam.
Last edited by Bapan on Wed Nov 27, 2019 10:21 am, edited 1 time in total.
Pritam Bhattacharyya,
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Daniele Varsano » Wed Nov 27, 2019 10:06 am

Dear Pritam,
what section of the code is taking this large time?
The time spent in generating random k points and calculating coulomb integrals should very small and reducing the parameters you are indicating would not change that much. Moreover the computational cost in the RIM part depends on your cell size and k point sampling and not on the number of atoms.
In any case if you post a report and logfile it helps in understanding what is going on.
Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Bapan
Posts: 18
Joined: Fri Oct 18, 2019 2:37 pm

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Bapan » Wed Nov 27, 2019 10:25 am

Dear Daniele,
I have attached the report files. Please have a look at those.


Thanks & regards,
Pritam.
You do not have the required permissions to view the files attached to this post.
Pritam Bhattacharyya,
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Daniele Varsano » Wed Nov 27, 2019 10:39 am

Dear Pritam,
as you can see the RIM part takes less than a minute.
The long time needed for the build-up of the Coulomb potential it is due to the fact that your cell is very large and hence the number G vectors needed to describe the densities and wfs. What you can do is to reduce the number of G vectors to be computed by adding in your input the variable FFTGvecs and reducing it to the a fraction of the cutoff of the wavefunction:

Code: Select all

FFTGvecs=20000 or 15000
In any case, you need to calculate them once for all as it is stored in a database and read in the following runlevels.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Bapan
Posts: 18
Joined: Fri Oct 18, 2019 2:37 pm

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Bapan » Wed Nov 27, 2019 11:59 am

Dear Daniele,
What you can do is to reduce the number of G vectors to be computed by adding in your input the variable FFTGvecs


The variable "FFTGvecs" should be included in the BSE input?

Few more doubts:
To generate the input files for G0W0+BSE calculations, the following commands are fine? :
yambo -J 2D_WR_WC -F yambo_G0W0.in -p p -g n -r
yambo -J 2D_WR_WC -F yambo_BSE.in -r -o b -p p -y d -k sex -V all

But in yambo wiki (http://www.yambo-code.org/wiki/index.ph ... al_systems), for G0W0, it is shown to consider one more flag (-k hartree) before starting the BSE calculations: yambo -J 2D_WR_WC -F yambo_G0W0.in -p p -g n -r -k hartree -V qp.
Do you think that it is required to build the BSE kernel during the G0W0 calculations to obtain the quasi-particle energy, remembering that I will also perform BSE after G0W0 calculations?




Thanks & regards,
Pritam.
Pritam Bhattacharyya,
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Daniele Varsano » Wed Nov 27, 2019 2:22 pm

Dear Pritam,
The variable "FFTGvecs" should be included in the BSE input?
You can include it in all runlevels you want to reduce the Gvectors in case you have memory issues or you want to speed up the calculation. Of course it needs to be used with care and control that the accuracy it is not deteriorated.
To generate the input files for G0W0+BSE calculations, the following commands are fine? :
Yes, they are, next, you need to set up your variable correctly if you want to use the previously calculated quasiparticle energies you need to correctly set the corresponding variable (KfnQPdb) or alternatively use a scissor operator approximation (KfnQP_E). The variable meaning and syntax are explained in the tutorials and in the variable list:
http://www.yambo-code.org/wiki/index.php?title=Variables
for G0W0, it is shown to consider one more flag (-k hartree) before starting the BSE calculation
This has nothing to do with the fact you want to do a BSE calculation on top or not. In cany case, it is not needed as the Hartree kernel is the default in the response function calculation for the screening.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Bapan
Posts: 18
Joined: Fri Oct 18, 2019 2:37 pm

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Bapan » Thu Nov 28, 2019 7:37 am

Dear Daniele,
I want to build up the input for G0W0 calculations. In RIM part+ Coulomb potential calculations, the informations generated as follows:
[X]States summary : Full Metallic Empty
0001-0027 0028-0100

Summary of Coulomb integrals for non-metallic bands |Q|[au] RIM/Bare:

Q [1]:0.1000E-40.9074 * Q [2]: 0.04508 0.55339
Q [3]: 0.09016 0.81143 * Q [4]: 0.135233 0.903653
Q [5]: 0.180310 0.942875 * Q [6]: 0.225388 0.962554
Q [7]: 0.270465 0.973689 * Q [8]: 0.315543 0.980563
Q [9]: 0.360620 0.985278


Therefore, "QPkrange" would be ?
%QPkrange # # [GW] QP generalized Kpoint/Band indices
9|9|27|28|
%

I set the E-field along y-direction, as my 1D system is periodic along y-direction.
% LongDrXs
0.000000 | 1.000000 | 0.000000 | # [Xs] [cc] Electric Field

I am not using any previously calculated quasiparticle energies for my G0W0 calculations. Thus KfnQPdb= "none".

I have generated the G0W0 input reading the database of RIM part+ Coulomb potential calculations:
NGsBlkXp= 1 (for PPA approach) RL # [Xp] Response block size (Do you think, this is fine or need optimization? This keyword is absent in the variable list of Yambo wiki, but NGsBlkXd is available. So, this is the number of G-vectors in the screening and contains the same meaning for PPA and COHSEX with the only change in the last letter?)
NGsBlkXs= 1 (for COHSEX approach) RL # [Xp] Response block size
EXXRLvcs= 2032119 RL # [XX] Exchange RL components
VXCRLvcs= 2032119 RL # [XC] XCpotential RL components




Thanks & regards,
Pritam.
Pritam Bhattacharyya,
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: G0W0 Calculation using Truncated Coulomb Potential

Post by Daniele Varsano » Thu Nov 28, 2019 9:39 am

Dear Pritam,
Note that the forum is not an alternative for reading the documentation and practicing with tutorials, moreover, you can find almost all the info you are asking in previous posts of other users. I strongly suggests you to practice with the tutorials step by step at your pace, get familiarized with the input variables and convergence procedure, before approaching your systems.
Therefore, "QPkrange" would be ?
%QPkrange # # [GW] QP generalized Kpoint/Band indices
9|9|27|28|
%
It, of course, depends on which states you want to calculate the QP corrections. It is correct if you want to calculate the QP corrections on VMB and CBM at k point number 9. If kpoints number 9 corresponds to the minimum gap it is something you should know inspecting your KS structure.
NGsBlkXp= 1 (for PPA approach)
This is a parameter that needs to be converged. (p) is for PPA, (s) for static i.e. for Cohsex, (d) for dynamical.
The variable in the tutorial it is not absent and it is explained here:
http://www.yambo-code.org/wiki/index.php?title=Silicon#The_plasmon_pole_approximation

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Post Reply