G0W0 Calculation using Truncated Coulomb Potential
Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano
-
- Posts: 18
- Joined: Fri Oct 18, 2019 2:37 pm
Re: G0W0 Calculation using Truncated Coulomb Potential
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)
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.
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.
- Daniele Varsano
- Posts: 4198
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: G0W0 Calculation using Truncated Coulomb Potential
Dear Pritam,
Best,
Daniele
Yes, you can, in any case this part of calculation should not be time-consuming and can be also run in serial.Can I generate a truncated Coulomb potential using a parallel environment of the cluster?
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/
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/
-
- Posts: 18
- Joined: Fri Oct 18, 2019 2:37 pm
Re: G0W0 Calculation using Truncated Coulomb Potential
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.
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.
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.
- Daniele Varsano
- Posts: 4198
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: G0W0 Calculation using Truncated Coulomb Potential
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
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/
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/
-
- Posts: 18
- Joined: Fri Oct 18, 2019 2:37 pm
Re: G0W0 Calculation using Truncated Coulomb Potential
Dear Daniele,
I have attached the report files. Please have a look at those.
Thanks & regards,
Pritam.
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.
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.
- Daniele Varsano
- Posts: 4198
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: G0W0 Calculation using Truncated Coulomb Potential
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:
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
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
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/
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/
-
- Posts: 18
- Joined: Fri Oct 18, 2019 2:37 pm
Re: G0W0 Calculation using Truncated Coulomb Potential
Dear Daniele,
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.
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.
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.
- Daniele Varsano
- Posts: 4198
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: G0W0 Calculation using Truncated Coulomb Potential
Dear Pritam,
http://www.yambo-code.org/wiki/index.php?title=Variables
Best,
Daniele
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.The variable "FFTGvecs" should be included in the BSE input?
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:To generate the input files for G0W0+BSE calculations, the following commands are fine? :
http://www.yambo-code.org/wiki/index.php?title=Variables
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.for G0W0, it is shown to consider one more flag (-k hartree) before starting the BSE calculation
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/
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/
-
- Posts: 18
- Joined: Fri Oct 18, 2019 2:37 pm
Re: G0W0 Calculation using Truncated Coulomb Potential
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.
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.
Ph.D. student,
IIT Bombay,
Mumbai, INDIA.
- Daniele Varsano
- Posts: 4198
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: G0W0 Calculation using Truncated Coulomb Potential
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.
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
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.
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.Therefore, "QPkrange" would be ?
%QPkrange # # [GW] QP generalized Kpoint/Band indices
9|9|27|28|
%
This is a parameter that needs to be converged. (p) is for PPA, (s) for static i.e. for Cohsex, (d) for dynamical.NGsBlkXp= 1 (for PPA approach)
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/
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/