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
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
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!