MPA in 2D systems: BZ sampling?

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

Post Reply
User avatar
csk
Posts: 23
Joined: Wed Aug 28, 2024 9:54 pm

MPA in 2D systems: BZ sampling?

Post by csk » Wed Mar 25, 2026 12:00 am

Dear all!

When trying to use the MPA with 2D systems (MoS2 monolayer in this case), I encounter the following behavior (gap and VBM/CBM at the Gamma point!):

Convergence w.r.t. the BZ sampling within the Godby-Needs PPM:
kpt bnd_x bnd_g cutoff (Ry) gap vbm cbm
6x6x1 200 200 4 3.91217 -0.87991 3.03226
12x12x1 200 200 4 3.88638 -0.83605 3.05033

Using the RIM and RIM-W parameters for 2D systems, the QP energies are already converged (to within 50 meV here) with a 12x12x1 k-mesh, as it should be. Now the same thing for MPA with 'ETStpsXm = 8' (converged vs. 16 poles):

kpt bnd_x bnd_g cutoff (Ry) gap vbm cbm
6x6x1 600 600 16 5.12461 -1.82519 3.29942
6x6x1 200 200 4 5.20877 -1.37231 3.83646
12x12x1 200 200 4 4.37506 -0.96955 3.40551
24x24x1 200 200 4 3.98923 -0.79276 3.19647
48x48x1 200 200 4 3.82818 -0.66470 3.16348

The first line, in comparison to the second line, shows the convergence w.r.t. the bands (both for X and G) and the cutoff, both using a 6x6x1 k-mesh.

What am I doing wrong here? Why is the convergence w.r.t. the k-mesh much slower in this case? Is there something else to consider for the MPA in 2D systems? I attach the QE and Yambo input files, as well as the respective report files to this post.

Thanks for your explanations!
Christian
You do not have the required permissions to view the files attached to this post.
Christian Kern, University of Graz, Austria

Giacomo Sesti
Posts: 6
Joined: Thu Dec 15, 2022 10:54 am

Re: MPA in 2D systems: BZ sampling?

Post by Giacomo Sesti » Thu Mar 26, 2026 8:49 am

Dear Christian,

I agree this is indeed strange.
Could you please tell us what version of Yambo you are using? I cannot find the report file of the MPA and PPA calculations (these also could be useful)

Thanks

Best,
Giacomo
Dr. Giacomo Sesti
S3-CNR Institute of Nanoscience, Italy

User avatar
csk
Posts: 23
Joined: Wed Aug 28, 2024 9:54 pm

Re: MPA in 2D systems: BZ sampling?

Post by csk » Thu Mar 26, 2026 4:04 pm

Hi Giacomo!

Here are the report files. As you can see, I am using version 5.3.

Thanks,
Christian
You do not have the required permissions to view the files attached to this post.
Christian Kern, University of Graz, Austria

Giacomo Sesti
Posts: 6
Joined: Thu Dec 15, 2022 10:54 am

Re: MPA in 2D systems: BZ sampling?

Post by Giacomo Sesti » Fri Mar 27, 2026 10:29 am

Hello Christian,

so looking at your reports, it seems the RIM-W procedure it is not activated at all for the mpa calculation, this explains the very slow convergence.
This is a small annoying bug that I thought it was solved, but apparently it is still present in yambo 5.3.

I would suggest, if possible, to switch to yambo 5.4, there mpa+rim_w is working correctly.
By the way, in your input I would also add the line rimw_type='semiconductor'. This is not strictly necessary in yambo 5.4 as this is the default, however the rimw_interpolation is customed also for other cases (2D Dirac bands, metal).

Best,
Giacomo
Dr. Giacomo Sesti
S3-CNR Institute of Nanoscience, Italy

nilesh12
Posts: 12
Joined: Sun Feb 18, 2024 4:31 pm

Re: MPA in 2D systems: BZ sampling?

Post by nilesh12 » Fri Mar 27, 2026 2:47 pm

Dear all,
I am trying to implement MPA for GW calculation in a 2D system. Can someone please provide me the right fully command to generate correct input file for the same?
It'll be really helpful.

Thank you
Nilesh Kumar
Department of Physical & Organic Chemistry
Jožef Stefan Institute
Ljubljana, Slovenia

Giacomo Sesti
Posts: 6
Joined: Thu Dec 15, 2022 10:54 am

Re: MPA in 2D systems: BZ sampling?

Post by Giacomo Sesti » Fri Mar 27, 2026 6:01 pm

Dear Nilesh,

to generate an input file for a GW mpa calculation of a 2D system, I would proceed as follows:

Code: Select all

yambo -F input.in -gw0 m -g n -hf -X m -r -rw
note that the m stands for mpa. The -r flag activates the calculation of the RIM Coulomb potential and allows to set a cutoff.
The -r flag instead activates the RIM-W procedure, in case you need it.

Best,
Giacomo
Dr. Giacomo Sesti
S3-CNR Institute of Nanoscience, Italy

nilesh12
Posts: 12
Joined: Sun Feb 18, 2024 4:31 pm

Re: MPA in 2D systems: BZ sampling?

Post by nilesh12 » Mon Mar 30, 2026 12:33 pm

Dr. Sesti,
Thank you for your kind reply and the command to generate input file. It's really helpful.
I have another stupid question, how to converge these quantity on Hartree-Fock level in case of metals (when i run HF part, i got band gap 'NaN').
EXXRLvcs= 152857 RL # [XX] Exchange RL components
VXCRLvcs= 152857 RL # [XC] XCpotential RL components


I am just following standard procedure as semiconductor for metals too. So, please guide me in this direction too.

Thank you
Nilesh Kumar
Department of Physical & Organic Chemistry
Jožef Stefan Institute
Ljubljana, Slovenia

Giacomo Sesti
Posts: 6
Joined: Thu Dec 15, 2022 10:54 am

Giacomo Sesti

Post by Giacomo Sesti » Mon Mar 30, 2026 2:05 pm

Dear Nilesh,

In case you want to converge EXXRLvcs and VXCRLvcs for a metal, I would consider energy differences between occupied and unoccupied states. I would expect the band gap reported by Yambo to be null as it is dealing with a metal.
Nevertheless, also using the maximum value of EXXRLvcs and VXCRLvcs should not be a problem, unless you have computational limitations.

Best,
Giacomo
Dr. Giacomo Sesti
S3-CNR Institute of Nanoscience, Italy

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

Re: MPA in 2D systems: BZ sampling?

Post by Daniele Varsano » Mon Mar 30, 2026 2:09 pm

Dear Nilesh,

you have a NaN it is possible there is some miscompilation/linking of the linear algebra libraries, you can try to use the internal linear algebra using "--enable-int-linalg" option in the configure script and see if this solves the problem.

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