Calculation for generating WFN and vxc.dat and RHO

296 views
Skip to first unread message

SOUREN ADHIKARY

unread,
Feb 10, 2021, 6:43:18 AM2/10/21
to BerkeleyGW Help

Dear Developers,
                               I am trying to calculate WFN file using quantum espresso with high number of nbnds. Due to space problem in our cluster, I am unable to calculate WFN within one step with huge number of empty states. After that I have checked BerkeleyGW manual, there I have seen I can calculate nscf steps with multiple steps like split over k-points (http://manual.berkeleygw.org/2.2/espresso-overview/) and in each every step I can convert wfn in to the BerkeleyGw format, finally merge with MeanField/Utilities/wfnmerge.x to get final WFN.  In my calculation I have 324 total number of k-points and I have split  over 9 times i.e., 9 x 36 = 324.

Here my question is in the sigma calculation we need vxc.dat and RHO file from same step i.e, 2.1-wfn, for that how can I processed? Should I calculate vxc.dat file with all k-points or calculate every time with split number of k-points? And how to merge all of them?


Here, I am trying to calculate for 512 empty bands. For generating vxc.dat file we need these tags in pp_in file

&input_pw2bgw
   prefix = 'semi'
   real_or_complex = 2
   wfng_flag = .true.m
   wfng_file = 'WFN'
   wfng_kgrid = .true.
   wfng_nk1 = 18
   wfng_nk2 = 18
   wfng_nk3 = 1
   wfng_dk1 = 0.0
   wfng_dk2 = 0.0
   wfng_dk3 = 0.0
   vxc_flag = .true.
   vxc_file = 'vxc.dat'
   rhog_flag = .true.
   rhog_file = 'RHO'
   vxc_diag_nmin = 1
   vxc_diag_nmax = 512
   vxc_offdiag_nmin = 1
   vxc_offdiag_nmax = 512
   vxcg_flag = .false.
/

So should I merge manually vxc.dat file by terminal (cat vxc1.dat vxc2.dat ... vxc9.dat >vxc.dat).  And what about RHO file because it is a binary file.

Thank in advance!
Regards
Souren





Zhenglu Li

unread,
Feb 10, 2021, 12:06:21 PM2/10/21
to SOUREN ADHIKARY, BerkeleyGW Help
Dear Souren,

For vxc.dat, yes, you just need to manually cat them together into one file as you indicated.  For RHO, it represents charge density (depending only on occupied states) and requires uniform BZ sampling.  You can run pw2bgw in your SCF calculation folder to get it.

Best,
Zhenglu


--
You received this message because you are subscribed to the Google Groups "BerkeleyGW Help" group.
To unsubscribe from this group and stop receiving emails from it, send an email to help+uns...@berkeleygw.org.
To view this discussion on the web visit https://groups.google.com/a/berkeleygw.org/d/msgid/help/053bff92-c53c-451f-a59a-e1d88b6fda44n%40berkeleygw.org.

Meng Wu

unread,
Mar 9, 2021, 12:28:22 AM3/9/21
to BerkeleyGW Help, Zhenglu Li, BerkeleyGW Help, SOUREN ADHIKARY
Hi Souren,

A comment on the RHO part. If you use the default value of rhog_nvmin=0 and rhog_nvmax=0 in pw2bgw.inp, RHO will be directly generated from prefix.save/charge-density.dat, which is nothing but the charge density from the scf calculation. In other words, RHO does not depend on the kpoints you use in the nscf calculation.

Best!
Meng

Aakash Kumar

unread,
Apr 13, 2022, 3:38:51 PM4/13/22
to BerkeleyGW Help, wu1m...@berkeley.edu, lzl...@berkeley.edu, BerkeleyGW Help, SOUREN ADHIKARY
Dear Souren and Meng,

I have the same issue for a large system with 80 K-points. I decided to calculate parabands on 4 groups, each with 20 K-points. Since the initial grid was a 6x6x4, I kept this in all my pw2bgw.inp files:

&input_pw2bgw
   prefix = 'wt2'
   outdir = './'

   real_or_complex = 2
   wfng_flag = .true.
   wfng_file = 'WFN1'
   wfng_kgrid = .true.
   wfng_nk1 = 6
   wfng_nk2 = 6
   wfng_nk3 = 4
   wfng_dk1 = 0d0
   wfng_dk2 = 0d0
   wfng_dk3 = 0d0

   rhog_flag = .true.
   rhog_file = 'RHO'
   vxcg_flag = .true.
   vxcg_file = 'VXC'
   vscg_flag = .true.
   vscg_file = 'VSC'
   vkbg_flag = .true.
   vkbg_file = 'VKB'
/

Afterwards, I was able to succesfully merge these using wfnmerge.inp. But when I run epsilon, I get this error:

 Wavefunction is not normalized in file WFN
   abs(norm - 1) = 0.0578331
   iband =     1 ispin = 1 ik =     1

 Wavefunction is not normalized in file WFN
   abs(norm - 1) = 0.0578331
   iband =     1 ispin = 1 ik =     1

 Wavefunction is not normalized in file WFN
 Wavefunction is not normalized in file WFN
 Wavefunction is not normalized in file WFN
   abs(norm - 1) = 0.0503245
   iband =   191 ispin = 1 ik =     1

 Wavefunction is not normalized in file WFN
 Wavefunction is not normalized in file WFN
   abs(norm - 1) = 0.0503245
   iband =   191 ispin = 1 ik =     1

 Wavefunction is not normalized in file WFN
 Wavefunction is not normalized in file WFN
 Wavefunction is not normalized in file WFN
   abs(norm - 1) = 0.0503245
   iband =   191 ispin = 1 ik =     1

---------
   abs(norm - 1) = 0.0503245
   iband =   191 ispin = 1 ik =     1


ERROR: Incorrect normalization.


Program received signal SIGABRT: Process abort signal.

Backtrace for this error:
#0  0x15177a9cd171 in ???
#1  0x15177a9cc313 in ???
#2  0x1517799ed40f in ???
#3  0x1517799ed38f in ???
#4  0x1517799d7dc4 in ???
#5  0x543869 in ???
#6  0x50f048 in ???
#7  0x40938c in ???
#8  0x1517799d94a2 in ???
#9  0x40943d in ???
#10  0xffffffffffffffff in ???

ERROR: Incorrect normalization.

Any help would be much appreciated!!

Best,
Aakash
Reply all
Reply to author
Forward
0 new messages