[Pw_forum] Bug in fhi2upf.x?
Henning Glawe
glawe at mpi-halle.mpg.de
Tue Feb 14 18:29:41 CET 2012
Moin,
I converted some FHI LDA pseudopotentials to UPF using fhi2upf.x.
The results from pw.x were quite strange when using these UPFs, so I dug a
bit into the code.
The FHI LDA pseudopotentials use the Perdew-Wang 92 LDA XC functional (which,
as far as I remember, is the density XC part of the PW91 GGA functional).
fhi2upf.x has a hard-coded special case for this, and writes 'PW' in the
resulting UPF files.
pw.x interprets this as pw density correlation, without any density exchange,
which leads to the strange results I observed.
Adding slater exchange to the UPF file solves this issue, so the fhi2upf code
should actually write 'SLA PW', not just 'PW' as functional into the UPF.
Related to this, there seems to be some inconsistencies in
espresso-4.3.2/Modules/funct.f90:
1) Comment about PW91 GGA functional short form (line 85):
! "pw91" = "pw +ggx+ggc" = PW91 (aka GGA)
2) Transformation of PW91 short form to individual fields (line 419):
! special case : PW91 = GGX + GGC
else if ('PW91'.EQ. TRIM(dftout) ) then
call set_dft_value (iexch,1) !Default HG: slater exchange
call set_dft_value (icorr,1) !Default HG: Perdew-Zunger correlation
call set_dft_value (igcx, 2)
call set_dft_value (igcc, 2)
call set_dft_value (inlc,0) !Default
dft_defined = .true.
! HG: so basically PZ LDA plus gradient corrections
3) Backwards transformation (functional components to short name) (line 901):
else if (iexch_==1.and.icorr_==4.and.igcx_==2.and.igcc_==2) then
shortname_ = 'PW91'
! HG: now it is slater exchange, but perdew-wang correlation
So the main consistency problem is in the documentation (1), which misses the
density exchange part of the functional, and which may have caused the
bug in fhi2upf.x
--
Mit freundlichen Grüßen
Henning Glawe
Max-Planck-Institut für Mikrostrukturphysik
Weinberg 2, 06120 Halle (Saale), Germany http://www.mpi-halle.de/~theory
Phone: +49-345-5582-613 Fax: +49-345-5511223 Email: glawe at mpi-halle.de
More information about the users
mailing list