Page 1 of 1

p2y input_dft vdw-df-obk8 causes segmentation fault

PostPosted: Sat Oct 13, 2018 12:11 pm
by nelsyeung
Hello,

I'm getting segmentation fault when running p2y with Quantum Espresso input input_dft = 'vdw-df-obk8':
Code: Select all
<---> 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]...[-I yes]...[TR no]Segmentation fault

This issue is related to:
viewtopic.php?f=15&t=827
viewtopic.php?f=7&t=1079

Following the related issues above and since I'm using PBE pseudopotentials, I was able to get pass the segmentation fault by changing data-file.xml from
Code: Select all
<EXCHANGE_CORRELATION>
     <DFT type="character" size="1" len="20">
 VDW-DF-OBK8
     </DFT>

to
Code: Select all
<EXCHANGE_CORRELATION>
     <DFT type="character" size="1" len="20">
 PBE
     </DFT>

Questions:
  1. Are there any reasons why vdw-df-obk8 functional isn't supported?
  2. Does my fix above affect later Yambo GW calculations?

Thank you very much,
Nelson

Re: p2y input_dft vdw-df-obk8 causes segmentation fault

PostPosted: Thu Oct 25, 2018 3:03 pm
by andrea.ferretti
Dear Nelson,

your fix is a workaround for the problem but may be harmful since it surely affects GW results.

Basically, you compute KS-DFT with a functional (vdw-df-obk8), then you tell yambo that the data KS actually refer to the PBE functional.
When you compute QE correction, you then have to subtract v_xc, which is computed at the PBE level by yambo, while it was something else according to espresso
(the info is carried by the eigenvalues that p2y reads).
So, the subtraction of v_xc will leave some residuals over, which can affect QP corrections...
If you are lucky deviations may be small, but in general i would strongly advice not to follow this route.

A quite similar but "legal" was to proceed is the following:
You run structural relaxations using vdw-df-obk8 (thereby taking advantage of vdw). Then, at frozen ions you recompute scf+nscf using PBE, and then GW on top of it.
Surely not the most elegant way to go, but at least you remove the problem above.

--

Concerning why vdw-df-obk8 is not supported, I don't see any reason except that it is simply not coded. QE provides support as well as libxc does.
If I can come up with a simple fix I'll post the patch.

take care
Andrea

Re: p2y input_dft vdw-df-obk8 causes segmentation fault

PostPosted: Fri Oct 26, 2018 11:17 am
by andrea.ferretti
Further to my previous post,

now I see a clear reason why vdw-df-obk8 is not implemented.
Belonging to the vdw-df family it is obviously not a simple GGA, and a dedicated
treatment of the vdw-df part is needed.

take care
Andrea

Re: p2y input_dft vdw-df-obk8 causes segmentation fault

PostPosted: Mon Oct 29, 2018 11:07 am
by nelsyeung
Dear Andrea,

Thank you very much for your explanations.
I've opted for the only using vdw-df-obk8 for the relaxation and not for the scf and nscf calculations solution.
The result does seem to vary quite a bit.

Kind regards,
Nelson