Page 1 of 1

DFT+U@G0W0

Posted: Thu Mar 04, 2021 12:21 pm
by Bruno
Hello,

I've been dealing with a system where I'll need to run GW either on top of DFT+U or HSE calculation. I'm aware that for now its not possible to direct do it on top of DFT+U but I'm wondering if there is someway to make work, is there anything that I could do to make it work? As a last option a might try to do it with HSE but its way more expensive on my case so I would prefer not have to do that.

Best regards,

Re: DFT+U@G0W0

Posted: Thu Mar 04, 2021 12:26 pm
by Daniele Varsano
Dear Bruno,

GW on top of DFT+U is not implemented, while you can do BSE directly on top of DFT+U, without GW correction.
Note that also GW@HSE is not possibile at the moment, while you can do using other hybrids as PBE0/B3LYP/GAUPBE.

Hopefully it will be possible in the near future.
Best,
Daniele

Re: DFT+U@G0W0

Posted: Thu Mar 04, 2021 12:33 pm
by Bruno
Dear Daniele,

Thank you for the fast reply. That's interesting actually. Just so I can understand, how can I perform the BSE on top of DFT+U? Because I have to use the p2y in order to obtain the SAVE folder anyway right? At this step it already complains that I'm using DFT+U.

Regards,

Re: DFT+U@G0W0

Posted: Thu Mar 04, 2021 1:11 pm
by Daniele Varsano
Ah ok, this is just a barrier preventing a bad usage for the GW part.
You can remove it by replacing in interfaces/p2y/mod_p2y.F :

Code: Select all

61       if(pw_lda_plus_u) call error(' LDA+U. Hubbard correction is not considered in yambo.')
with

Code: Select all

61       if(pw_lda_plus_u) call warning(' LDA+U. Hubbard correction is not considered in yambo.')
and

Code: Select all

900       if(pw_lda_plus_u) call error(' LDA+U. Hubbard correction is not considered in yambo.')
with

Code: Select all

900       if(pw_lda_plus_u) call warning(' LDA+U. Hubbard correction is not considered in yambo.')
and recompile the code.

Next you proceed with a BSE calculation as usual, but using the

Code: Select all

DipApproach= "Covariant"


Best,

Daniele

Re: DFT+U@G0W0

Posted: Thu Mar 04, 2021 3:25 pm
by Bruno
Dear Daniele,

Thank you very much! This will be very helpful.

Best regards,

Re: DFT+U@G0W0

Posted: Thu Oct 07, 2021 8:28 am
by haseebphysics1
Daniele Varsano wrote: Thu Mar 04, 2021 1:11 pm Ah ok, this is just a barrier preventing a bad usage for the GW part.
You can remove it by replacing in interfaces/p2y/mod_p2y.F :

Code: Select all

61       if(pw_lda_plus_u) call error(' LDA+U. Hubbard correction is not considered in yambo.')
with

Code: Select all

61       if(pw_lda_plus_u) call warning(' LDA+U. Hubbard correction is not considered in yambo.')
and

Code: Select all

900       if(pw_lda_plus_u) call error(' LDA+U. Hubbard correction is not considered in yambo.')
with

Code: Select all

900       if(pw_lda_plus_u) call warning(' LDA+U. Hubbard correction is not considered in yambo.')
and recompile the code.

Next you proceed with a BSE calculation as usual, but using the

Code: Select all

DipApproach= "Covariant"


Best,

Daniele

Dear Dr. Daniele,

Thanks for sharing this useful insight about how we can tweak p2y to allow generate SAVE for optics using LDA+U. I tried this change, however recompiling p2y is yielding the error, the last few lines are as follows:

Code: Select all

/home/export/haseebsoft/yambo_intel/5.0.2/yambo-5.0.2/lib/libp2y_driver_main.a(launcher.o): In function `launcher':
launcher.c:(.text+0xc4): undefined reference to `c2y_'
make[1]: *** [p2y] Error 1
make[1]: Leaving directory `/home/export/haseebsoft/yambo_intel/5.0.2/yambo-5.0.2_copy4hubb/interfaces/p2y'
make: *** [p2y] Error 2
Yambo version is 5.0.2 and after changing the "error" to "warning" at both the mentioned places, I tried recompiling by invoking
make p2y
as well as
make yambo interfaces (two different attempts).

Any help would be much appreciated.

Thanks in advance,
Haseeb

Re: DFT+U@G0W0

Posted: Thu Oct 07, 2021 8:32 am
by Daniele Varsano
Dear Haseeb,
rather strange, the change done in mod_p2y should not interfere at with the rest of the compilation.
Have you tried to do a "make clean" before reconfiguring and recompiling?

Best,
Daniele

Re: DFT+U@G0W0

Posted: Thu Oct 07, 2021 8:37 am
by haseebphysics1
Dear Daniele,

Thanks for your quick help!

I did not try "make clean!" before recompiling!
I just changed the stuff and executed "make p2y" and did not run the ./configure either (before recompile).

I remember I did a similar when I was editing mod_p2y for HSE06 calculations. But if clearing is essential, then please guide me for that!

Thanks,

Re: DFT+U@G0W0

Posted: Thu Oct 07, 2021 8:45 am
by Daniele Varsano
Dear Haseeb,

make clean
./configure...
make interfaces

anyway the error you are facing sounds strange to me. If it does not work please post here again and we will take a look.

Daniele

Re: DFT+U@G0W0

Posted: Thu Oct 07, 2021 9:51 am
by haseebphysics1
Dear Daniele,

I tried a fresh installation and then it got sorted! Thank you so much!