VXCRLvcs

You can find here problems arising when using old releases of Yambo (< 5.0). Issues as parallelization strategy, performance issues and other technical aspects.

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

Laura Caputo
Posts: 88
Joined: Sun Apr 11, 2021 3:02 pm

VXCRLvcs

Post by Laura Caputo » Fri May 28, 2021 10:43 am

Good morning,

I am doing some calculations of GW gap on different supercells. I have done the ground-state calculations on abinit for two different supercells in both cases with 850eV of cut-off energy. When I convert the output to yambo and initialize it, for the smaller supercell (18 atoms) the default VXCRLvcs value is 107469 RL, for the bigger supercell (32 atoms) it is 362775 RL. As far as I understand, this value is correlated to the cut-off energy correlated to the ground state calculation. So, since I have done it with the same cut-off energy, is this difference normal?

In order to lower this parameter for efficiency purposes, I should compare the fundamental gap in abinit calculation and the [X] Direct Gap in the yambo report file, right?

Sincerely,
Laura Caputo
Laura Caputo
Ph.D. Student
Université Catholique de Louvain
https://uclouvain.be/fr/repertoires/laura.caputo

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

Re: VXCRLvcs

Post by Daniele Varsano » Fri May 28, 2021 10:55 am

Dear Laura,
So, since I have done it with the same cut-off energy, is this difference normal?
Yes it is, same cutoff in energy corresponds to a larger number of gvectos for larger cells as it is defined as |G^2|/2 < Ecut , being G=2pi*n/L you will have more G vectors to fill the same sphere.
In order to lower this parameter for efficiency purposes, I should compare the fundamental gap in abinit calculation and the [X] Direct Gap in the yambo report file, right?
No, as the gap is read from abinit and not recalculated.
You should check the E_xc energy if this is printed in abinit (I suppose it is, but I'm not sure).
Otherwise you should check alway the values of E_xc for different values of VXCRLvcs that does not change much when this value is lowered.
In any case this part of the calculation is not intensive, so if you can I would leave at the maximum for safety reason.

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/

Laura Caputo
Posts: 88
Joined: Sun Apr 11, 2021 3:02 pm

Re: VXCRLvcs

Post by Laura Caputo » Fri May 28, 2021 11:08 am

Dear Daniele,

Thanks. One last question is: I have done the same calculation for 500eV and 850eV in ground state abinit. When I convert it, the difference in VXCRLvcs is small (107421 for 500eV and 107469 for 850eV). Consequently, the GW gap calculated in both calculations is not very different. Once again, is this normal? Is there a way to convert these numbers? (I have found a thread on the forum but the answer was not very clear to me).
Laura Caputo
Ph.D. Student
Université Catholique de Louvain
https://uclouvain.be/fr/repertoires/laura.caputo

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

Re: VXCRLvcs

Post by Daniele Varsano » Fri May 28, 2021 11:17 am

Dear Laura,
When I convert it, the difference in VXCRLvcs is small (107421 for 500eV and 107469 for 850eV).
This is strange, you can check directly with the G vector number reported in abinit.
Consequently, the GW gap calculated in both calculations is not very different.
Note that VXCRLvcs are the g vector for calculating the <Vxc> term to be subtracted to the self energy. If it calculated correctly it subtracts this term to the eigenvalues that already contain it, so the importance is that it is coherent with what calculated by abinit.
It is kept to high value for safety, in particular for GGA calculation which requires a derivative of the density, and we noticed that a great accuracy was needed, in LDA for instance is usually converged with the wfs cutoff instead of the density.

If the GW gap does not change much it means most probably that 500eV are enough to converge the ground state. Again yo can check the Exc term in abinit for the two calculations.

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/

Laura Caputo
Posts: 88
Joined: Sun Apr 11, 2021 3:02 pm

Re: VXCRLvcs

Post by Laura Caputo » Fri May 28, 2021 11:43 am

Dear Daniele,

following your message, I checked on different Yambo report files and sometimes I notice that in some cases enhancing the ecut in abinit, the default VXCRLvcs parameter does not change. I was searching on Abinit output the value of G-vector number but did not find it. Do you know how to do it?

However, I have re-done the setup for the two. When I do 'yambo -i -V RL' to see the maximum number of G vectors, this value is the same in both calculation even if the energy cut off in the ground state is different.
I attached the two report files with different cut off in ground state.
You do not have the required permissions to view the files attached to this post.
Laura Caputo
Ph.D. Student
Université Catholique de Louvain
https://uclouvain.be/fr/repertoires/laura.caputo

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

Re: VXCRLvcs

Post by Daniele Varsano » Fri May 28, 2021 12:34 pm

Dear Laura,
I'm not proficient with abinit so I can be wrong.

Anyway, times ago I remember that the vectors imported by abinit were the wfs g vector only and not the density. As you can see indeed the g-vectors of the wfs are changing while
the ones of the density they are not. It is possible that there is still this issue, but I do not know how the vectors of the density are accounted. Maybe someone else who has worked on the abinit-yambo interface can say something about that.

Having said that, it seems to me you are focusing on a problem which is simpler than that.
You need to have a converged ground state and then make perturbation theory on that in a consistent way.
This imply that you need to be sure your ground sate is converged, and this has to be done in a DFT framework, e.g. looking at total energies, forces, eigenvalues etc...
Next you do MBPT, this has to be done consistently , e.g. using the same number of G vector used in abinit to calculate Vxc, or at least a number which is at convergence.
Pushing the cutoff in the gs more than convergence will not affect the MB calculation provided that the GS is at convergence.

In practice, be sure your gs is at convergence, and then be sure the VXCRLvcs you are using is enough (decrees it a bit to see that the results does not change).

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/

Laura Caputo
Posts: 88
Joined: Sun Apr 11, 2021 3:02 pm

Re: VXCRLvcs

Post by Laura Caputo » Fri May 28, 2021 12:47 pm

Dear Daniele,

Regarding the two different cut off, it was a test that I did also because of a mistake that I did.

However, indeed I used the converged cut-off within the DFT framework and then done MBPT. Regarding the issue I was having with the G vector number, as I understand, I can be 100% sure it is enough by seeing the result slightly decreasing it. Just a last thing: this 'check' for G vectors, can be done also for lighter calculation (such as HF gap) instead of GW? Also, check on slightly smaller numbers like for example 100RL less?
Laura Caputo
Ph.D. Student
Université Catholique de Louvain
https://uclouvain.be/fr/repertoires/laura.caputo

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

Re: VXCRLvcs

Post by Daniele Varsano » Fri May 28, 2021 1:06 pm

Dear Laura,
Just a last thing: this 'check' for G vectors, can be done also for lighter calculation (such as HF gap) instead of GW? Also, check on slightly smaller numbers like for example 100RL less?
Sure you can do an HF only calculation as the <Vxc> enters in this run level only. You should check the E_xc value and most importantly the <n|lXC|n> values.
I do not know what you mean with 100RL, as said before <Vxc> requires many g vectors, especially in GGA, so you need to check the convergence, I would start for the maximum, if you can, and then reduce them a bit. In order to speed up the calculation, you can eventually reduce the EXXRLvcs for the moment (which requires a separate convergence), and calculate for a small number of states:

Code: Select all

%QPkrange                        # [GW] QP generalized Kpoint/Band indices
1|1|vb|cb|
%
vb: last valence band
cb: first conduction band.

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/

Laura Caputo
Posts: 88
Joined: Sun Apr 11, 2021 3:02 pm

Re: VXCRLvcs

Post by Laura Caputo » Fri May 28, 2021 1:13 pm

Dear Daniele,

Sorry, I meant as a difference from the maximum (for example, if I have 100000RL, check with 99900RL and so on).

Thanks.
Laura Caputo
Ph.D. Student
Université Catholique de Louvain
https://uclouvain.be/fr/repertoires/laura.caputo

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

Re: VXCRLvcs

Post by Daniele Varsano » Fri May 28, 2021 1:17 pm

Dear Laura,
up to you, I would also go with larger intervals.

But again, this should not be an heavy part of the calculation, I usually keep it at the max value.

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/

Locked