G0W0 @ PBE+U with Yambo

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

boubacar
Posts: 5
Joined: Fri Mar 23, 2018 4:54 pm

G0W0 @ PBE+U with Yambo

Post by boubacar » Fri Mar 23, 2018 5:15 pm

Hi all,

I would like to perform G0W0 caclulations on top of PBE+U for a system including Ni whose 3d electrons are better described by applyingthe the Hubbard U.
I performed scf and nscf wiht quantum espresso 6.1. However, at the p2y conversion stage, I already received this warning:
------
<---> DBs path set to .
<---> Index file set to data-file.xml
<---> Header/K-points/Energies... done
<---> Cell data... done
<---> Atomic data... done
<---> Symmetries...[SI yes]......[-I yes]...[TR no]
<---> [WARNING] LDA+U. Hubbard correction is not considered in yambo.

------

Neverthless, when I continued to evaluate exchange self-energy term with yambo (I am using yambo 4.1.4), the code stops at:

--------------------
.
.
.
[04] External corrections
=========================

[05] Bare local and non-local Exchange-Correlation
==================================================

----------------------

which I think is related to the presence of +U. Is that correct or is it due to something else?

So, I would like to know if there is a way to do G0W0 on top of PBE+U? I need the +U correction at the PBE level if not the starting wfs will not be correct.

Best,
Boubacar

---
Boubacar TRAORE
Postdoc ISCR (Institut des sciences chimiques de Rennes)
France

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

Re: G0W0 @ PBE+U with Yambo

Post by Daniele Varsano » Fri Mar 23, 2018 5:49 pm

Dear Boubacar,

At the moment it is not possible to do GW calculation on top of DFT+U.
I do not know the exact reason why the code stops, as you did not post enough information, anyway,
even if it will arrive to evaluate the self-energies then the <U> term to subtract will be missing giving you inconsistent results.
We started to implement the possibility to calculate GW on top of DFT+U calculations but at the moment the coding it is not terminated,
because of lack of time.

Contrary, if you want to do BSE calculations on top of DFT+U, without correcting QP energies, or correcting them in an analytical way as a scissor operator,
the code should work. There is still a piece missing in the calculation of the dipoles, but hopefully, it will be not a major problem.

Finally, I strongly suggest you switch to a more recent release of the code.
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/

boubacar
Posts: 5
Joined: Fri Mar 23, 2018 4:54 pm

Re: G0W0 @ PBE+U with Yambo

Post by boubacar » Fri Mar 23, 2018 6:49 pm

Dear Daniele,

Thank you for your quick response !
So, far I am mainly interested in GW QP energies correction. This is a problem for me. +U correction is necessary for my system. I just hope that your implementation with +U will be ready in the near future. Do you possibly have any tentative timing for such a release?

For yambo versions, we've had a problem with netcdf. Our cluster admin had a problem to compile yambo 4.2.0 with netcdf. Apparently, netcdf required by the latest yambo could not be interfaced/compiled properly with yambo (we did not really understand why) ... Have you encountered a similar problem?

For the error, the code just stopped at the level I posted "[05] Bare local and non-local Exchange-Correlation" ...
and the following in one of the log files in LOG directory:

--
<01s> P0036: [01] CPU structure, Files & I/O Directories
<01s> P0036: CPU-Threads:36(CPU)-1(threads)-1(threads@X)-1(threads@DIP)-1(threads@SE)-1(threads@RT)-1(threads@K)
<01s> P0036: [02] CORE Variables Setup
<01s> P0036: [02.01] Unit cells
<01s> P0036: [02.02] Symmetries
<01s> P0036: [02.03] RL shells
<01s> P0036: [02.04] K-grid lattice
<02s> P0036: [02.05] Energies [ev] & Occupations
<02s> P0036: [03] Transferred momenta grid
<02s> P0036: [M 0.037 Gb] Alloc bare_qpg ( 0.031)
<03s> P0036: [04] External corrections
<03s> P0036: [05] Bare local and non-local Exchange-Correlation


<03s> P0036: CPU structure provided for the Self_Energy ENVIRONMENT is incomplete. Switching to defaults
P0036: [ERROR] STOP signal received while in :[05] Bare local and non-local Exchange-Correlation
P0036: [ERROR]Impossible to define an appropriate parallel structure
----

Best,
Boubacar
---
Boubacar TRAORE
Postdoc ISCR (Institut des sciences chimiques de Rennes)
France

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

Re: G0W0 @ PBE+U with Yambo

Post by Daniele Varsano » Fri Mar 23, 2018 7:09 pm

Dear Boubcar,
Do you possibly have any tentative timing for such a release?
It should be already done, but other commitments arose, as usual, and the development stopped, I hope we could continue it soon,
but unfortuntaly I cannot tell you a timing for that.
For yambo versions, we've had a problem with netcdf. Our cluster admin had a problem to compile yambo 4.2.0 with netcdf. Apparently, netcdf required by the latest yambo could not be interfaced/compiled properly with yambo (we did not really understand why) ... Have you encountered a similar problem?
If you do not define anything in the configure about netcdf, yambo should download and compile the needed netcdf library. Give a try.
P0036: [ERROR]Impossible to define an appropriate parallel structure
I do not know if you defined a parallel structure in input, and it looks that the default fails.
If you post the input file we can have a look. In any case in 4.2 the parallel structure should be more robust.

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/

boubacar
Posts: 5
Joined: Fri Mar 23, 2018 4:54 pm

Re: G0W0 @ PBE+U with Yambo

Post by boubacar » Fri Mar 23, 2018 7:31 pm

Dear Daniele,

Thank you!

For netcdf, we will try to have a look at it again.

For the parallel run, I just sourced the appropriate intel compiler and run yambo with mpirun -np. Here is the content of my hf.in file:

---
#
HF_and_locXC # [R XX] Hartree-Fock Self-energy and Vxc
#EXXRLvcs= 63967 RL # [XX] Exchange RL components
EXXRLvcs= 80 Ry # [XX] Exchange RL components
%QPkrange # [GW] QP generalized Kpoint/Band indices
65| 65| 16|17|
----

Best,
Boubacar
---
Boubacar TRAORE
Postdoc ISCR (Institut des sciences chimiques de Rennes)
France

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

Re: G0W0 @ PBE+U with Yambo

Post by Daniele Varsano » Sat Mar 24, 2018 6:45 pm

Dear Boubcar,
may be you want to set the parallel structure in the input file.
This is done by adding -V par when building the input file e.g.
yambo -x -V par
The you can have a look there for the meaning of the parallel variables.
http://www.yambo-code.org/wiki/index.ph ... strategies

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/

boubacar
Posts: 5
Joined: Fri Mar 23, 2018 4:54 pm

Re: G0W0 @ PBE+U with Yambo

Post by boubacar » Mon Mar 26, 2018 6:06 pm

Dear Daniele,

Thank you !
Using the "-V par" option, the problem is indeed solved when I assigned values to q, qp, and b in SE_CPU (q x qp x b = nproc).
From your experience, which of the 3 parameters (q, qp and b) are critical for better parallelism and the rules to assign processors to them?

Best,
Boubacar
---
Boubacar TRAORE
Postdoc ISCR (Institut des sciences chimiques de Rennes)
France

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

Re: G0W0 @ PBE+U with Yambo

Post by Daniele Varsano » Mon Mar 26, 2018 6:28 pm

Dear Boubcar,
my advice is to avoid parallelization on "q", as it can produce some unbalancing.
Parallelizing on "qp", calculations are totally independent so the scaling with cpu is linear.
Parallelizing on "b" permits to distribute memory among the cpus.
Essentially I suggest a parallelization strategy on "qp" and "b", it depends also on how many QP energies you need to compute.
From your input with

Code: Select all

%QPkrange # [GW] QP generalized Kpoint/Band indices
65| 65| 16|17|
----
a 16 cpu example could be:

Code: Select all

 SE_CPU= "  1 2  8"               # [PARALLEL] CPUs for each role
 SE_ROLEs= "q qp b"               # [PARALLEL] CPUs roles (q,qp,b)
Have in mind that "b" cannot be larger that the number of used bands.

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/

boubacar
Posts: 5
Joined: Fri Mar 23, 2018 4:54 pm

Re: G0W0 @ PBE+U with Yambo

Post by boubacar » Mon Mar 26, 2018 6:40 pm

Dear Daniele,

Thank you so much for your time and the responses !!!
This surely helps a lot and I really appreciate it.

Best,
Boubacar
---
Boubacar TRAORE
Postdoc ISCR (Institut des sciences chimiques de Rennes)
France

haseebphysics1
Posts: 169
Joined: Sat Aug 17, 2019 2:48 pm

Re: G0W0 @ PBE+U with Yambo

Post by haseebphysics1 » Sat Aug 17, 2019 7:57 pm

Hi Yambo developers,

I'm new in Yambo and want to know that is it not possible to use Yambo for d-electrons or strongly correlated systems? I heard "Sir Andrea Marini" saying in a conference* that it should not be used because GW doesn't incorporate Hubbard potential. What is the alternative way for this kind of problem? By the way, what I want to calculate with Yambo is the optical properties of the semiconductors solving BSE.

* https://www.materialscloud.org/learn/se ... ieste-2017

Thanks,


Haseeb Ahmad,
MS-physics
LUMS, Pakistan.
Haseeb Ahmad
MS - Physics,
LUMS - Pakistan

Post Reply