p2y reading of "hybrid" calculations

Come here to discuss issues with using the p2y converter from PWscf to Yambo, how to best run PWscf , link with the IOTK library, and so on.

Moderators: andrea.ferretti, Conor Hogan

Forum rules
Before posting, make sure to first read carefully all the detailed steps and suggestions given in the main documentation:
https://www.yambo-code.eu/learn/#learn-forum
chwolf
Posts: 44
Joined: Mon Jul 11, 2016 2:11 pm
Location: South Korea
Contact:

p2y reading of "hybrid" calculations

Post by chwolf » Wed Jul 10, 2019 7:49 am

Dear all,

the release notes say that Yambo can now start based on hybrid DFT calculations; I assume that works by first performing an SCF calculation

Code: Select all

&SYSTEM
  ibrav         = 2
  celldm(1)     = 8.040359168
  ntyp          = 2
  nat           = 2
  ecutwfc       = 60
  force_symmorphic=.true.
  occupations   ='fixed'
  input_dft     = 'b3lyp'
  nbnd          = 16
/
and then convert it to a yambo database; however p2y complains

This is p2y 4.3.2 rev.134 - MPI -

Code: Select all

 <---> DBs path set to .
 <---> detected QE data format: qexsd
 <---> == PWscf v.6.x generated data (QEXSD fmt) ==
 <---> Header/K-points/Energies... done
 <---> Cell data...
 <---> [WARNING]Two or more crystal strcutures fit the given cell done
 <---> Atomic data... done
 <---> Symmetries...[SI yes]...[I yes]...[-I yes]...[TR no]
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     Error in routine qexsd_read_exx (2):
     fmt error
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     stopping ...
Abort(2) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 2) - process 0
PW version is Program PWSCF v.6.4.1 starts on 10Jul2019 at 15:48:41

Thanks in advance for your assistance!

Chris
Christoph Wolf

Postech university, South Korea
chwolf@postech.ac.kr

andrea.ferretti
Posts: 206
Joined: Fri Jan 31, 2014 11:13 am

Re: p2y reading of "hybrid" calculations

Post by andrea.ferretti » Wed Jul 10, 2019 10:18 am

Hi Chris,

something may have changed in the QE xml format for v6.4.1 which breaks some corner features. I'll try to have a look.
Can you provide the input file that shows the problem ?

thanks for reporting
Andrea
Andrea Ferretti, PhD
CNR-NANO-S3 and MaX Centre
via Campi 213/A, 41125, Modena, Italy
Tel: +39 059 2055322; Skype: andrea_ferretti
URL: http://www.nano.cnr.it

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

Re: p2y reading of "hybrid" calculations

Post by Daniele Varsano » Wed Jul 10, 2019 10:29 am

Dear Chris,
we are working on this feature and at the moment it is possible to perform GW on top of hybrid for the plain HF, PBE0.
It is also possible to use GAUP, but it is not yet in the GPL release. Note that exx divergencies need to be treated in the same foot in QE and Yambo,
and this can be achieved by using "vcut_spherical" in QE and a sphere cutoff potential in Yambo for a finite system, or "vcut_ws" in QE and "ws" in Yambo.
B3LYP, unfortunately, presents some discrepancy we need still to investigate.

Anyway, the problem you are facing with p2y it is independent on that, we will try to reproduce your error and let you know, I do not know if some compatibility has been broken
with the 6.4.1.

Best,
Daniele

PS: I have just realized now Andrea answers you, we will try to fix it soon, but anyway take into account the warning in the first part of my message.
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/

chwolf
Posts: 44
Joined: Mon Jul 11, 2016 2:11 pm
Location: South Korea
Contact:

Re: p2y reading of "hybrid" calculations

Post by chwolf » Thu Jul 11, 2019 5:21 am

Hi Guys, thank you both for your swift replies.

The new features in the recent release of Yambo are really exciting, I have been playing around over the last week or so and it has improved on so many levels - thank you all in the YAMBO team!

I tried it again with EXX=HSE, PBE0

Code: Select all

&CONTROL
  calculation   = "scf",
  restart_mode  = "from_scratch",
  prefix        = "mgo",
  outdir        = "./tmp",
  pseudo_dir    = "./pseudo",
  wf_collect    = .true.
/
&SYSTEM
  ibrav         = 1
  A             =    4.15410
  ntyp          = 2
  nat           = 8
  ecutwfc       = 60
  ecutrho       = 300
  force_symmorphic=.true.
  occupations   ='fixed'
  input_dft     = 'EXX'
  nbnd          = 60
  exxdiv_treatment = 'vcut_spherical'
  !ecutvcut      = 60
  x_gamma_extrapolation =.false.
  ecutfock       = 300
/
&ELECTRONS
 conv_thr       = 1e-10
 diago_thr_init = 1e-2
 diago_full_acc = .true.
/
&IONS
/

ATOMIC_SPECIES
  Mg   24.30500  Mg_ONCV_PBE_nocorr.upf
   O   15.99900  O_ONCV_PBE_nocorr.upf

K_POINTS automatic
2 2 2 0 0 0


ATOMIC_POSITIONS {crystal}
Mg   0.000000000000000   0.000000000000000   0.000000000000000 
Mg   0.000000000000000   0.500000000000000   0.500000000000000 
Mg   0.500000000000000   0.000000000000000   0.500000000000000 
Mg   0.500000000000000   0.500000000000000   0.000000000000000 
 O   0.500000000000000   0.500000000000000   0.500000000000000 
 O   0.500000000000000   0.000000000000000   0.000000000000000 
 O   0.000000000000000   0.500000000000000   0.000000000000000 
 O   0.000000000000000   0.000000000000000   0.500000000000000 
highest occupied, lowest unoccupied level (ev): 6.5711 14.2325 (HSE, not bad..)

p2y first gives

Code: Select all

 <---> DBs path set to .
 <---> detected QE data format: qexsd
 <---> == PWscf v.6.x generated data (QEXSD fmt) ==
 <---> Header/K-points/Energies...
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     Error in routine qexsd_read_planewaves (2):
     fmt problem I
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
and after fixing the format as noted in the other post I get the

Code: Select all

 <---> DBs path set to .
 <---> detected QE data format: qexsd
 <---> == PWscf v.6.x generated data (QEXSD fmt) ==
 <---> Header/K-points/Energies... done
 <---> Cell data...
 <---> [WARNING]Two or more crystal strcutures fit the given cell done
 <---> Atomic data... done
 <---> Symmetries...[SI yes]...[I yes]...[-I yes]...[TR no]
[b] <---> XC functional...HSE06(XC)[/b]
 <---> EXX fraction... 0.250000
 <---> EXX screening... 0.106000
 <---> K-points mesh... done
 <---> RL vectors... done
 <---> IGK arrays... done
 <---> Energies... done
 <--->  :: Electrons             : 64.00000
 <--->  :: Temperature       [ev]: 0.000000
 <--->  :: Lattice factors [a.u.]: 7.850111  7.850111  7.850111
 <--->  :: K-points              :  4
 <--->  :: Bands                 :  60
 <--->  :: Spinor components     : 1
 <--->  :: Spin polarizations    : 1
 <--->  :: Spin orbit coupling   : no
 <--->  :: Symmetries   [spatial]:  48
 <--->  ::                [T-rev]: no
 <--->  :: Max WF components     :  3840
 <--->  :: RL vectors        (WF):  4929
 <--->  :: RL vectors    (CHARGE):  42499
 <--->  :: XC potential          : HSE06(XC)
 <--->  :: Atomic species        : 2
 <--->  :: Max atoms/species     :  4
 <---> == DB1 (Gvecs and more) ...
 <---> ... Database done
 <---> == DB2 (wavefunctions)  ...
 <---> [p2y] wfc_io |########################################| [100%] --(E) --(X) done ==
 <---> == DB3 (PseudoPotential) ... done ==
 <--->  == P2Y completed ==
I will try to see if yambo lets me work with this.

Quick question: The release notes say:

Code: Select all

(iii) handling of non-linear core corrections (NLCC) and USPPs data.
as far as I know NLCC should *NOT* be used in hybrid calcs (I forgot the exact reason..) - in any case I assume it is safe to use PP without NLCC for both calculations (Hybrid and Yambo)?

Thank you both!
Chris
Christoph Wolf

Postech university, South Korea
chwolf@postech.ac.kr

chwolf
Posts: 44
Joined: Mon Jul 11, 2016 2:11 pm
Location: South Korea
Contact:

Re: p2y reading of "hybrid" calculations

Post by chwolf » Thu Jul 11, 2019 5:31 am

just fyi, it seems to work; RPA spectra are attached for calculations based on PBE and HSE (same PBE pseudos); no convergence tests done, just quick and dirty.

with PBE
LDA.png
with HSE@PBE
HSE.png
You do not have the required permissions to view the files attached to this post.
Christoph Wolf

Postech university, South Korea
chwolf@postech.ac.kr

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

Re: p2y reading of "hybrid" calculations

Post by Daniele Varsano » Thu Jul 11, 2019 9:28 am

Dear Christoph,
1) Even if it seems to work, HSE it is not supported. There should be a warning on that, but it is not yet percolated in the GPL release. So I strongly suggest you to switch to PBE0. What it happens is that the <Vxc> value calculated by QE and Yambo can be slightly different and do not cancel out due to the different way to treat the q->0 limit (yambo for the moment does not have the Gigy Baldereschi technique) and when using other exx_divergence technique there are problems in QE. Actually, we are working on that and I hope we can fix it soon. There is also a compatibility problem with B3LYP but in these days I'm validating it, and hopefully, it will be available in few days. So for the moment, I suggest you use the PBE0 functional.

2) Better not to use NLCC for both calculations. The reason is that they are used in the local part of Vxc, but then they are not included in the HF part of the functional.


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/

chwolf
Posts: 44
Joined: Mon Jul 11, 2016 2:11 pm
Location: South Korea
Contact:

Re: p2y reading of "hybrid" calculations

Post by chwolf » Fri Jul 12, 2019 1:20 am

Dear Daniele,

Thank you for your helpful comment, that was exactly what I needed to know. I will keep an eye on github to see if there are any updates regarding B3LYP (as it gives me the best "hybrid band gaps")!

Best,
Chris
Christoph Wolf

Postech university, South Korea
chwolf@postech.ac.kr

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

Re: p2y reading of "hybrid" calculations

Post by Daniele Varsano » Fri Jul 12, 2019 12:04 pm

Dear Chris,

the problem with B3LYP has been fixed, the fix will enter in the next release. In the meanwhile, if you want to use it consider to apply the following patch:
In /src/modules/mod_xc_functionals.F


you should change the following lines:

Code: Select all

166        if ((XC_libxcID(f(ixc)%id,ixc)==XC_HYB_GGA_XC_PBEH).or.&
167 &          (XC_libxcID(f(ixc)%id,ixc)==XC_HYB_GGA_XC_B3LYP)) &
168 &        call xc_f90_hyb_gga_xc_pbeh_set_par(f(ixc)%conf,exx_frac_)
in

Code: Select all

if (XC_libxcID(f(ixc)%id,ixc)==XC_HYB_GGA_XC_PBEH) call xc_f90_hyb_gga_xc_pbeh_set_par(f(ixc)%conf,exx_frac_)
i.e. remove the .or. (XC_libxcID(f(ixc)%id,ixc)==XC_HYB_GGA_XC_B3LYP)
from the if condition and recompile.

Next, in order to have full compatibility with the results of QE you should use the in QE input:

Code: Select all

input_dft='B3LYP-V1R'
instead of simple B3LYP

If you are dealing with orthorombic cells you should treat the divergence by using the ws technique:

Code: Select all

exxdiv_treatment='vcut_ws'
ecutvcut=1.7
x_gamma_extrapolation = .false.
Next, when doing calculations in yambo you should use analogously:

Code: Select all

CUTGeo= "ws xyz"                 # [CUT] Coulomb Cutoff geometry: box/cylinder/sphere/ws X/Y/Z/XY..
CUTwsGvec= 1.700000            # [CUT] WS cutoff: number of G to be modified
This will provide perfect compatibility between yambo and QE. If you are using non-orthorombic cells I think that QE does not allow to use that treatment (you can have a try) and in this case an (hopefully) small error will come from the different way to treat the divergences between the two codes.

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/

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

Re: p2y reading of "hybrid" calculations

Post by haseebphysics1 » Sat Jun 05, 2021 12:38 pm

Dear Daniele,

I want to try BSE on top of hybrid functional (HSE06). Does the "vcut_ws" treatment from QE and Coulomb Cutoff in Yambo (and other variables mentioned herein in this thread) should be used as mentioned in the previous post of this thread for B3LYP?

PS: I am using QE V6.7 and Yambo 5.0.2.

Thanks,
Haseeb Ahmad
MS - Physics,
LUMS - Pakistan

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

Re: p2y reading of "hybrid" calculations

Post by Daniele Varsano » Sat Jun 05, 2021 2:55 pm

Dear Haseeb,

unfortunately, as mentioned above, HSE06 is not supported, of better, it is coded, but not validated are there are some issue with the divergence treatment. Note also that the cut_ws is not compatible with the HSE06 in QE.
You can use other functionals as PBE0 or B3LYP and if you want to use a range separated functional you can use the GAU-PBE. In this case exxdiv_treatment should be set to "none".

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