NGsBlkXd convergence troubles with RPA graphene EELS

Deals with issues related to computation of optical spectra in reciprocal space: RPA, TDDFT, local field effects.

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

Post Reply
zmar
Posts: 10
Joined: Mon May 09, 2022 2:48 pm

NGsBlkXd convergence troubles with RPA graphene EELS

Post by zmar » Mon May 09, 2022 3:30 pm

Hi,

we (me and a colleague who actually does most of the Yambo/QE calculations) have tried to calculate EELS at a specific k-point, namely K, of several layer graphene.
We try to converge the calculation parameters first.

We already converged k-points, vacuum size to reasonable values for the computational resources currently available.
On top of that, we continued with FFTGvecs, bands BndsRnXd.
Unfortunately, NGsBlkXd (and FxcGRLc handled simultaneously) behaves surprisingly, see the plot attached.
We are not quite sure what is the cause of the "inflection" at the peak close to 14 eV as the value of the parameter seems to be rather large already.
The image represents bilayer graphene and the behavior is similar for all layer counts we have studied so far.
Please be aware that Yambo internally slightly shifts each value of 'NGsBlkXd' which can be verified by explicitly checking the output file(s).

Increasing value of the parameter 'NGsBlkXd' up to 9000 mRy (approximately 4500 mHa close to the expected likely-to-be "converged" value according to the link [http://www.attaccalite.com/reasonable-p ... culations/]) caused oscillations in the energy-loss dependence to appear in the case of a monolayer graphene.
Therefore, we tend to stick to smaller values that are approximately 1/10 of FFTGvecs.
I.e. they agree with the rule of thumb: NGsBlkXd should be much smaller than FFTGvecs.

The other parameters are as in the part of the input/output file.

We will appreciate any constructive suggestions.
Especially recommendation concerning value of NGsBlkXd.

Yambo version: 4.2.1 (revision 110)
o-rpa_conv_K_4128.eel_q721_inv_xxxx_dyson.txt
zoom_NGs_conv.png
Kind regards,

Martin Zouhar (Institute of Scientific Instruments, C.A.S., v.v.i.; the Czech Republic)
You do not have the required permissions to view the files attached to this post.
Martin Zouhar
(Institute of Scientific Instruments of the CAS, v. v. i.)

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

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by Daniele Varsano » Mon May 09, 2022 6:18 pm

Dear Martin,

here are some considerations:

1) Graphene is very hard to converge wrt k points, if you want to reach high accuracy very large grids are needed (e.g. 180x180x1). We have developed a way to accelerate the convergence behaviour but this method is not yet available in the GPL version, hopefully, it will be released soon.

2) Please be aware that Yambo internally slightly shifts each value of 'NGsBlkXd' : This is because yambo wants to close G shell vectors.

3) Convergences: FFTGvecs, unless you are very limited with memory it is suggested to not touch it.

4) Vacuum, you are using a box cutoff of about 62 a.u , I do not know the size of your cell, I assume that it will be around 63 au, is this the case?

5) Note, that you are not calculating the eels at RPA level but at TDDFT (ALDA) level. Most probably the problem you are facing is due to the ALDA kernel that can have some instability, in particular triggered by regions with very low density. If you want to calculate eels at RPA level Chimod should be set to Hartree neglecting the FxcGRLc. In case you really need to do an ALDA calculation I suggest switching to transition space. In this way, the ALDA kernel is evaluated in real space and it is stable. (with the newer version the input is generated using yambo -o b -k alda -y h)

6) Finally, Important: you are using a very old version of the code. I strongly suggest updating to a newer version. Many bugs have been fixed since then and the performance of the code is greatly enhanced. Note that moving to the newer version some command line to build the input file has changed. Also, the output to look at is the alfa function (eels will be proportional but with very low strength, see the FAQ for the 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/

zmar
Posts: 10
Joined: Mon May 09, 2022 2:48 pm

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by zmar » Wed May 11, 2022 2:25 pm

Dear Daniele,

thank you for your reply.

1) We use 90x90x1 which was a reasonable value for the computational resources we have at our disposal.
This seemed enough based on convergence of both Yambo and the underlying QE calculations.

The new speed-up method sounds interesting.
Is it based on a double-grid or is it something else?

2) Did not know that. Thank you for the clarification.

3) The parameter description [https://www.yambo-code.org/wiki/index.p ... s#FFTGvecs] explicitly mentions that FFTGvecs is to be converged.
That is why we have tested changing it in the Yambo convergence tests.
We have decreased it only slightly (QE's ecutwfc = 90 Ry, our FFTGvecs = 80 Ry) which seemed acceptable and it helped with the memory usage.

4) Yes, it is; the value is 64.78 Bohr.

5) My/Our mistake by mis-naming TD-DFT ALDA for RPA.
We had problems with both BSE and GW in the past with the pseudo-potential (LDA ONCV) selected.
The selection was based on very good agreement of the calculated ground-state lattice constant with the experimental value.

We recently tried convergence of Chimod = Hartree as well and it was plagued by a similar issue though less grave.
"Oscillations" (two inflection points) are present in the (pi+sigma)-plasmon peak; the pi-plasmon peak value increases monotonically.
See the plot(s) and an example output file attached.
o-rpa_conv_K_lscH_10128.eel_q721_inv_rpa_dyson.txt
The command was 'yambo -r -o c -k hartree -V all'.

6) We will propose upgrade to a newer version of Yambo to a friend maintaining the cluster.
Are you, from the top of your head, aware of any bugs that might affect our calculations?

Kind regards,

Martin Zouhar (Institute of Scientific Instruments, C.A.S., v.v.i.; the Czech Republic)
You do not have the required permissions to view the files attached to this post.
Martin Zouhar
(Institute of Scientific Instruments of the CAS, v. v. i.)

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

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by Daniele Varsano » Thu May 12, 2022 9:05 am

Dear Martin,

1) 90x90x1 is reasonable but of course, you will have oscillation due to the discretisation of k points. The new method is based on Monte Carlo integration o the screened potential, it is very useful for GW calculation but cannot be applied straightforwardly to linear response calculation. We are submitting a paper in these days on the method and then it will be released.

3) It has to be converged in the sense that should not be decreased too much. Anyway, 80Ry compared to ecut 90Ry is totally fine.


5) What kind of problem do you have in doing GW/BSE? LDA ONCV is a good pseudopotential supported by Yambo. About the non-monotonic convergence please note that it is not guaranteed the converge should be monotonic, especially in the shape of the peak. It could be useful for instance to look at the convergence of the static real part of the dielectric function.

6) I strongly suggest updating to a newer version. I'm not aware of any specific bug affecting this kind of calculation. But the source is in continuous evolution.

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/

zmar
Posts: 10
Joined: Mon May 09, 2022 2:48 pm

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by zmar » Thu Jun 16, 2022 4:45 pm

Dear Daniele,

thank you very much for your reply.
We are sorry for the delay in reply (leave of absence and other work-related matters to attend to).
We have tried the following:

Upgrade of both QE (to 7.0) and Yambo (to 5.1.0 rev. 21362) to very recent ones [item no. 6) in our previous conversion].
The below presented issues apply to these new versions.
We continue the calculations with Hartree (instead of ALDA) in the case of a monolayer graphene.

7) Double/Fine grid vs. ordinary calculation:

We have attempted to use this method that changed name from "double grid" to "fine grid".
This was to increase the k-points closer to the higher value you suggested.
Unfortunately, we were unable to find an up-to-date in depth manual/documentation.
Thus our using it is best-effort and we set it up as in the file [r_kpts_map_02].
The calculations finished successfully but we have to admit we lack confidence we used it correctly.
Could you please verify that there is no issue we are not aware of?

The oscillating convergence - when changing NGsBlkXd - in the (pi+sigma)-plasmon pertains even in the case of double grid.
See the plot attached.
zoom2_fine_grid_NGsBlkXd_conv.png
The only thing we can think of is to increase the number of bands.
QE uses 200 bands and Yambo convergence tests indicate 80 is sufficient.
Perhaps, it is not the case.

8) Parallelisation:
The fine-grid CPU usage exhibit rather narrow peaks, at the beginning of each of the convergence steps, and a lot of low-level "background".
We use the default parallelisation parameters which clearly seem not to be optimal, see the file [r-NGsBlkXd_10728_rim_cut_optics_dipoles_chi].
We have assigned 64 CPUs for the fine-grid method.
The HPC server has total 400 Intel CPUs available, 4065GiB RAM; Linux + ScaleMP vSMP.
The call of Yambo is 'mpirun -np <CPU count>'.

Whatever your recommendations may be, we would welcome any suggestion to decrease calculation time by utilising the resources in more effective way.

5) Regarding the earlier problems with GW/BSE we have mentioned.
The issues were related to the band-structure in the case of single-layer graphene (as displayed by yambopy), especially not close to the Fermi level.
E.g. the separation of bands at the Gamma point was too large when compared to simple Kohn-Sham QE calculations; different attempts contained band-crossings.
Careful examination of the causes (convergence?) seemed to be too much at that moment, therefore we have decided not to use these methods.

Best regards,

Martin
You do not have the required permissions to view the files attached to this post.
Martin Zouhar
(Institute of Scientific Instruments of the CAS, v. v. i.)

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

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by Daniele Varsano » Fri Jun 17, 2022 8:16 am

Dear Martin,
please sign your post with your name and affiliation, this is a rule of the forum and you can do it once and for all by filling the signature in the user profile.

I'm not an expert with Double grid usage so people more experts can comment on that.
Anyway, the inversion wrt G vectors does not seem to me a severe issue. One important issue to have in mind is that NGsBlkXd and the number of bands BndsRnXd are not independent variables, in order to achieve convergence a larger number of bands is needed for larger value of NGsBlkXd, and this could be responsible for the behaviour you are observing.

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/

User avatar
claudio
Posts: 445
Joined: Tue Mar 31, 2009 11:33 pm
Contact:

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by claudio » Tue Jun 21, 2022 9:14 am

Dear Martin

you can find a small guide to the double-grid here:

http://www.attaccalite.com/speed-up-die ... ith-yambo/

the idea is simple;

1) you calculate additional energies on a fine grid, you do not need to calculate them on many bands,
the one close to the gap are usually enough.

2) you read these energies with ypp -m

3) then you will find a new database in your SAVE folder ndb.Double_Grid,

4) repeat your calculation EELS or optics and you will see the difference.

If you want to exclude the double-grid remove the ndb.Double_grid database from the SAVE folder.

My advice if to try to reproduce the example in the previous link

best
Claudio
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

User avatar
claudio
Posts: 445
Joined: Tue Mar 31, 2009 11:33 pm
Contact:

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by claudio » Tue Jun 21, 2022 9:26 am

Dear Martin

two things that can help convergence in your calculations:

1) generate a large double-grid for example 180x180 shifted grid and use it as double-grid

2) introduce a small temperature to in the system

ElecTemp= 0.001 eV # Electronic Temperature

Claudio
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

zmar
Posts: 10
Joined: Mon May 09, 2022 2:48 pm

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by zmar » Thu Jul 07, 2022 2:54 pm

Dear Claudio and Daniele,

thank you very much for your time.

@ Claudio:
Let us react to your first post:
We are aware of your website/blog and we have used it in our first steps when getting familiar with the double grid.
New installation of Yambo (version 5.1.0) uses a 'fine-grid' which required changing names of some of the commands/parameters.
We started from your input file and we have replaced 'DbGd' with 'FineGd'.
We have found no guide with the new names though switching from the old one to the new one was rather simple trial-error in retrospect.
'ypp -m' did not work for our Yambo installation and using the simple 'ypp' passed and created the database.

Regarding your second post:
1) Shifted fine-grid:
We tested that, including the shift, and it resulted in more k-points being generated.
This shifted fine-grid slightly "smoothened" the top of the (pi+sigma)-plasmon peak at the K-point.

2) ElecTemp:
We experienced that a "default" value of ElecTemp = 0.861734E-5 eV was added in the initialization.
If we explicitly provided a value for this parameter, then the specified value was used.
The ElecTemp value from the fine-grid database OVERRIDES any subsequent input file value.
This was a surprise and it took us some time to realize that.

However, the oscillating behavior in NGsBlkXd remains (see the part of our post replying to Daniele below) even if we use either fine-grid or the electron temperature 1 meV.
NGsBlkXd_zoom.png
@ Daniele:
"NGsBlkXd and the number of bands BndsRnXd are not independent variables"

The variable overview https://www.yambo-code.eu/wiki/index.ph ... s#NGsBlkXd states that
- NGsBlkXd should be much less than FFTGvecs
- it should be converged along with BndsRnXd

What exactly is the meaning of "converged along with" in a general case of calculational parameters.
Does it mean that there is a "rule of thumb", e.g. fixed ratio, for such parameters.
Thence when changing one, the other is modified accordingly?
Since we are aware of no such guides we initially converged the parameters independently.
We already mentioned in one of our earlier post that we use NGsBlkXd ~ 1/10 of FFTGvecs.

Do you mean that one can succesfuly use a similar "golden rule" for NGsBlkXd and BndsRnXd?
If yes, what is it?

We have selected a NGsBlkXd value 7728 mRy at which a jump in spectra occurs for BndsRnXd = 110 (fine-grid calculations).
We tested increasing a BndsRnXd with a fixed value of NGsBlkXd (without fine-grid).
Our idea was to test if it leads to a similar jump thus finding an optimal number of bands (just before the jump) for a given value of NGsBlkXd.
The spectra varied slightly and monotonously up to BndsRnXd = 200 (number of bands in underlying QE calculations).
BndsRnXd.png
Kind regards,

Martin
You do not have the required permissions to view the files attached to this post.
Martin Zouhar
(Institute of Scientific Instruments of the CAS, v. v. i.)

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

Re: NGsBlkXd convergence troubles with RPA graphene EELS

Post by Daniele Varsano » Thu Jul 07, 2022 4:00 pm

Dear Martin,
What exactly is the meaning of "converged along with" in a general case of calculational parameters.
It means that the larger NGsBlkXd, the larger BndsRnXd is needed to achieve convergence.
A typical convergence curve of the two parameters can be seen for instance in the gap calculation see e.g. Fig.1 in PHYSICAL REVIEW B 84, 241201(R) (2011).
This is anyway a GW calculation, your eels spectra seem highly converged wrt the number of bands, even if I would have expected variation at least in the high energy part of the spectrum, but this is not the case so it means that you using 100 bands you are including enough transitions up to more than 30 eV.

Again, I do not have any argument to say that the intensity of the spectrum should behave in a monotone way wrt NGsBlkXd.

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