[QE-users] help generating pseudo potentials

Lucian D. Filip lucian.filip at infim.ro
Wed Jan 22 14:05:22 CET 2025


On 22.01.2025 11:46, Lorenzo Paulatto wrote:
>
> Hello Lucian,
>
> ONCV is not part of quantum espresso. That said, if you want an answer 
> regarding an error message, you should at least tell us the message or 
> provide the input files that caused it.
>
> Also note, that the input file used to generate a UPF files can be 
> found inside UPF file itself.
>
> regards
>
>

Thank you for your answer! I am aware ONCV is not part of QE but I 
figured there must be people using it to generate UPF pseudo potentials 
for QE. I took the input from the pseudojo website (html option) and 
wanted to recreate the pseudo potential to see if the programs works. 
See below the input:

# atsym z nc nv iexc psfile
O 8 1 2 -010012 upf
# n l f
1 0 2.0
2 0 2.0
2 1 4.0
# lmax
2
# l rc ep ncon nbas qcut
0 1.35 0.0 4 8 8.4
1 1.45 0.0 4 8 9.3
2 1.35 0.1 4 8 6.0
# lloc lpopt rc5 dvloc0
4 5 1.2 0.0
# l nproj debl
0 2 1.0
1 2 1.0
2 1 1.0
# icmod fcfact rcfact
3 4.0 1.5
# epsh1 epsh2 depsh
-12.0 12.0 0.02
# rlmax drl
6.0 0.01
0

Then I run the generation script and it appears successful (i.e. I get 
the plots of each orbitals and comparison with the full electron case) 
but the output file at the end contains this error at the end:

Begin PSP_UPF
<UPF version="2.0.1">
  <PP_INFO>

This pseudopotential file has been produced using the code
ONCVPSP  (Optimized Norm-Conservinng Vanderbilt PSeudopotential)
scalar-relativistic version 4.0.1 06/04/2019 by D. R. Hamann
The code is available through a link at URL www.mat-simresearch.com.
Documentation with the package provides a full discription of the
input data below.


While it is not required under the terms of the GNU GPL, it is
suggested that you cite D. R. Hamann, Phys. Rev. B 88, 085117 (2013)
in any publication using these pseudopotentials.

    <PP_INPUTFILE>
# ATOM AND REFERENCE CONFIGURATION
# atsym  z   nc   nv     iexc    psfile
  O  8.00    1    2  -10012      upf
#
#   n    l    f        energy (Ha)
    1    0    2.00
    2    0    2.00
    2    1    4.00
#
# PSEUDOPOTENTIAL AND OPTIMIZATION
# lmax
    2
#
#   l,   rc,      ep,       ncon, nbas, qcut
    0   1.35000   0.00000    4    8   8.40000
    1   1.45000   0.00000    4    8   9.30000
    2   1.35000   0.10000    4    8   6.00000
#
# LOCAL POTENTIAL
# lloc, lpopt,  rc(5),   dvloc0
    4    5   1.20000      0.00000
#
# VANDERBILT-KLEINMAN-BYLANDER PROJECTORs
# l, nproj, debl
    0    2   1.00000
    1    2   1.00000
    2    1   1.00000
#
# MODEL CORE CHARGE
# icmod, fcfact, rcfact
    3   4.00000   1.50000
#
# LOG DERIVATIVE ANALYSIS
# epsh1, epsh2, depsh
  -12.00   12.00    0.02
#
# OUTPUT GRID
# rlmax, drl
    6.00    0.01
#
# TEST CONFIGURATIONS
# ncnf
    0
# nvcnf
#   n    l    f
    </PP_INPUTFILE>
  </PP_INFO>
  <!--                               -->
  <!-- END OF HUMAN READABLE SECTION -->
  <!--                               -->
    <PP_HEADER
       generated="Generated using ONCVPSP code by D. R. Hamann"
       author="anonymous"
       date="250122"
       comment=""
       element="O "
       pseudo_type="NC"
       relativistic="scalar"
       is_ultrasoft="F"
       is_paw="F"
       is_coulomb="F"
       has_so="F"
       has_wfc="F"
       has_gipaw="F"
       core_correction="T"
       upfout: ERROR iexc =
       ����
        is presently unsupported for UPF output

I had a look in the code (I have limited experience with these codes) 
and there is a upfout.f90 which appears to deal with writing the upf 
files. But it is limited to only a handful of cases for iexc variable 
which controls the functional. Here is the relevant portion:

    if(iexc==3 .or. iexc==-001009) then
      write(6,'(t8,a)') &
&        'functional="PZ"'

    else if(iexc==4 .or. iexc==-101130) then
      write(6,'(t8,a)') &
&        'functional="PBE"'

    else if(iexc==-109134) then
      write(6,'(t8,a)') &
&        'functional="PW91"'

    else if(iexc==-116133) then
      write(6,'(t8,a)') &
&        'functional="PBESOL"'

    else if(iexc==-102130) then
      write(6,'(t8,a)') &
&        'functional="REVPBE"'

    else if(iexc==-106132) then
      write(6,'(t8,a)') &
&        'functional="BP"'

    else if(iexc==-106131) then
      write(6,'(t8,a)') &
&        'functional="BLYP"'

    else if(iexc==-118130) then
      write(6,'(t8,a)') &
&        'functional="WC"'

    else
      write(6,'(t8,a)') &
&        'upfout: ERROR iexc = ',iexc,' is presently unsupported for UPF 
output'
      stop
    end if

As you can see oncvpsp saves upf only for a few cases. This isn't the 
case with the psp8 output. That works fine with any iexc value.


I hope my problem is clearer now.

Lucian
>
> On 21/01/2025 15:01, Lucian D. Filip wrote:
>> Hello all,
>>
>> I have been hitting a wall for about 2 days now, trying to generate a 
>> pseudo potential with the oncvpsp code that pseudojo.org site is 
>> using. I have installed it on my system and it appears to only work 
>> with a handfull of options but not with the ones from the site.
>>
>>
>> More precisely I am trying to generate an LDA pseudo potential for 
>> Oxygen in the upf format using iexc = -010012 which is (according to 
>> the very poor documentation that comes with the program) a 
>> combination between Perdew&Zunger (modified) (this is the 010 part) 
>> and Perdew&Wang (the 012 part of the iexc paramater). When I run the 
>> program, I get an error that this option is not supported. And this 
>> is just something that the author of the code did not implement for 
>> the upf format not that is not possible.
>>
>> It only works to generate psp8 pseudo potential files. But on the 
>> pseudojo site one can download the upf version too.
>>
>>
>> So my questions are:
>>
>> 1) what software can I use to generate norm conserving upf pseudo 
>> potentials?
>>
>> 2) is there another more updated version of this oncvpsp software?
>>
>> 3) if there is no alternative, is there a way to convert the psp8 to 
>> upf?
>>
>>
>> Cheers,
>>
>>
>> Lucian
>>
> -- 
> Dr. Lorenzo Paulatto
> IdR @ IMPMC - CNRS UMR 7590 & Sorbonne Université
> phone: +33 (0)1 442 79822 / skype: paulatz
> http://www.impmc.upmc.fr/~paulatto/ - https://anharmonic.github.io/
> 23-24/423 B115, 4 place Jussieu 75252 Paris CX 05
>
> _______________________________________________________________________________
> The Quantum ESPRESSO Foundation stands in solidarity with all civilians worldwide who are victims of terrorism, military aggression, and indiscriminate warfare.
> --------------------------------------------------------------------------------
> Quantum ESPRESSO is supported by MaX (www.max-centre.eu)
> users mailing listusers at lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/users

-- 
Dr. Lucian Dragos Filip
National Institute for Materials Physics
Atomistilor str. 405A, PO Box MG. 7
Magurele, 077125
Bucharest, Romania
E-mail:lucian.filip at infim.ro
Website:https://lucianfilip.wordpress.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20250122/d6e399d1/attachment.html>


More information about the users mailing list