Input File Description

Program: ld1.x / / Quantum Espresso

TABLE OF CONTENTS

INTRODUCTION

&INPUT

title | zed | atom | xmin | dx | rmax | beta | tr2 | iswitch | nld | rlderiv | eminld | emaxld | deld | rel | lsmall | lsd | dft | latt | isic | rytoev_fact | cau_fact | vdw | prefix | verbosity | config | rel_dist | write_coulomb

AllElectronCards

nwf | nl | n | l | oc | isw | jj

&INPUTP

zval | pseudotype | file_pseudopw | file_recon | lloc | rcloc | nlcc | new_core_ps | rcore | tm | rho0 | lpaw | which_augfun | rmatch_augfun | lsave_wfc | author | file_chi | file_beta | file_qvan | file_screen | file_core | file_wfcaegen | file_wfcncgen | file_wfcusgen

PseudoPotentialGenerationCards

nwfs | nls | nns | lls | ocs | ener | rcut | rcutus | jjs |

&TEST

nconf | file_pseudo | ecutmin | ecutmax | decut | rm | configts | lsdts | frozen_core

PseudoPotentialTestCards

nwfts | elts | nnts | llts | octs | enerts | rcutts | rcutusts | iswts | jjts |

Notes

Output files written
Recipes to reproduce old all-electron atomic results with the ld1 program

INTRODUCTION

Input data cards for ld1.x program:

Always present:
  1   namelist &input
  1.1 optional cards for all-electron calculations

Needed for PP generation:
  2   namelist &inputp
  2.1 additional cards for PP generation

Needed for pseudo-potential (PP) test. optional for PP generation:
  3   namelist &test
  3.1 optional cards for PP test
   

Namelist: INPUT

This namelist is always needed !

title CHARACTER
Status: OPTIONAL
 A string describing the job.
         
Either:

zed REAL
See: atom
The nuclear charge (1 < zed < 100).

IMPORTANT:
Specify either zed OR atom, not both!
            
Or:

atom CHARACTER
See: zed
Atomic symbol: atom='H', 'He', 'Be', etc.

IMPORTANT:
Specify either atom OR zed, not both!
            
Radial grid parameters:

xmin REAL
Default: -7.0 if iswitch>1 or rel=0, -8.0 otherwise
See: dx
 Radial grid parameter.
            
dx REAL
Default: 0.0125 if iswitch>1, 0.008 otherwise
Radial grid parameter.

The radial grid is: r(i+1) = exp(xmin+i*dx)/zed  a.u.
            
rmax REAL
Default: 100.0 a.u.
 Outermost grid point.
            
beta REAL
Default: 0.2
 parameter for potential mixing
         
tr2 REAL
Default: 1e-14
 convergence threshold for scf
         
iswitch INTEGER
Default: 1
1    all-electron calculation
2    PP test calculation
3    PP generation
         
Paramaters for logarithmic derivatives:

nld INTEGER
 the number of logarithmic derivatives to be calculated
            
rlderiv REAL
 radius (a.u.) at which logarithmic derivatives are calculated
            
eminld, emaxld REAL
Energy range (min, max energy, in Ry) at which
logarithmic derivatives are calculated.
            
deld REAL
Delta e (Ry) of energy for logarithmic derivatives.
            
If the above parameters are not specified, logarithmic
derivatives are not calculated.
         
rel INTEGER
Default: 0 for Z <= 18; 1 for Z > 18
0 ... non relativistic calculation
1 ... scalar relativistic calculation
2 ... full relativistic calculation with spin-orbit
         
lsmall LOGICAL
Default: .false.
if .true. writes on files the small component
         
lsd INTEGER
Default: 0
0 ... non spin polarized calculation
1 ... spin-polarized calculation

BEWARE:
not allowed if iswitch=3 (PP generation) or with full
relativistic calculation
         
dft CHARACTER
Exchange-correlation functional.

Examples:
'PZ'    Perdew and Zunger formula for LDA
'PW91'  Perdew and Wang GGA
'BP'    Becke and Perdew GGA
'PBE'   Perdew, Becke and Ernzerhof GGA
'BLYP'  ...

For the complete list, see module "functionals" in ../flib/
The default is 'PZ' for all-electron calculations,
it is read from the PP file in a PP calculation.
         
latt INTEGER
Default: 0
0 ... no Latter correction
1 ... apply Latter correction
         
isic INTEGER
Default: 0
Status: only for all-electron calculation
0 ... no Self-interaction correction
1 ... apply Self-interaction correction
         
rytoev_fact REAL
Default: as specified in file Modules/constants.f90
Factor used to convert Ry into eV.
         
cau_fact REAL
Default: as specified in file Modules/constants.f90
Speed of light in a.u..

(Be careful the default value is always used in the
 relativistic exchange.)
         
vdw LOGICAL
Default: .false.
Status: Gradient-corrected DFT not yet implemented.
If .true., the frequency dependent polarizability and van der
Waals coefficient C6 will be computed in Thomas-Fermi and
von Weizsaecker approximation(only for closed-shell ions).
         
prefix CHARACTER
Default: 'ld1'
Prefix for file names - only for output file names
containing the orbitals, logarithmic derivatives, tests
See below for file names and the content of the file.
         
verbosity CHARACTER
Default: 'low'
'low' or 'high'

if 'high' with iswitch=2,3 prints separately core and
valence contributions to the energies. Print the
frozen-core energy.
         
config CHARACTER
Default: ' '
A string with the electronic configuration.

Example:
  '[Ar] 3d10 4s2 4p2.5'

* If lsd=1, spin-up and spin-down state may appear twice
  with the respective occupancy: 3p4 3p2 = 4 up,
  2 down. Otherwise, the Hund's rule is assumed.

* If rel=2, states with jj=l-1/2 are filled first.
  If a state appears twice, the first one has jj=l-1/2,
  the second one jj=l+1/2 (except S states)
  (Use rel_dist if you want to average the electrons
  over all available states.)

Negative occupancies are used to flag unbound states;
they are not actually used.
         
rel_dist CHARACTER
Default: 'energy'
'energy' or 'average'

* if 'energy' the relativistic l-1/2 states are filled first.

* if 'average' the electrons are uniformly distributed
  among all the states with the given l.
         
write_coulomb LOGICAL
Default: .false.
If .true., a fake pseuopotential file with name X.UPF,
where X is the atomic symbol, is written. It contains
the radial grid and the wavefunctions as specified in input,
plus the info needed to build the Coulomb potential
for an all-electron calculation - for testing only.
         

Card: AllElectronCards

If config is empty the electronic configuration is read from the following cards:

IF rel < 2 :

Syntax:

nwf  
 nl(1)   n(1)   l(1)   oc(1)   isw(1) 
 nl(2)   n(2)   l(2)   oc(2)   isw(2) 
 . . .
 nl(nwf)   n(nwf)   l(nwf)   oc(nwf)   isw(nwf) 
ELSEIF rel = 2 :

Syntax:

nwf  
 nl(1)    n(1)    l(1)    oc(1)    jj(1) 
 nl(2)    n(2)    l(2)    oc(2)    jj(2) 
 . . .
 nl(nwf)    n(nwf)    l(nwf)    oc(nwf)    jj(nwf) 

Description of items:


nwf INTEGER
number of wavefunctions
                     
nl CHARACTER
 wavefunction label (e.g. 1s, 2s, etc.)
                        
n INTEGER
 principal quantum number
                        
l INTEGER
 angular quantum number
                        
oc REAL
 occupation number
                        
isw INTEGER
 the spin index (1-2) used only in the lsda case
                        
jj REAL
The total angular momentum (0.0 is allowed for complete
shells: the codes fills 2l states with jj=l-1/2,
2l+2 with jj=l+1/2).
                        

Namelist: INPUTP

zval REAL
Default: (calculated)
Valence charge.

zval is automatically calculated from available data.
If the value of zval is provided in input, it will be
checked versus the calculated value. The only case in
which you need to explicitly provide the value of zval
is for noninteger zval (i.e. half core-hole pseudopotentials).
         
pseudotype INTEGER
1 ... norm-conserving, single-projector PP (old format)
      IMPORTANT: if pseudotype=1 all calculations are done using
      the SEMILOCAL form, not the separable nonlocal form

2 ... norm-conserving, multiple-projector PP in separable form

3 ... ultrasoft PP
         
file_pseudopw CHARACTER
Status: REQUIRED
File where the generated PP is written.

* if the file name ends with "upf" or "UPF",
or in any case for spin-orbit PP (rel=2),
the file is written in UPF format;

* if the file name ends with 'psp' it is
written in native CPMD format (this is currently
an experimental feature); otherwise it is written
in the old "NC" format if pseudotype=1, or
in the old RRKJ format if pseudotype=2 or 3
(no default, must be specified).
         
file_recon CHARACTER
Default: ' '
File containing data needed for PAW reconstruction
of all-electron wavefunctions from PP results.
If you want to use additional states to perform the
reconstruction, add them at the end of the list
of all-electron states.
         
lloc INTEGER
Default: -1
Angular momentum of the local channel.

* lloc=-1 pseudizes the all-electron potential
* lloc>-1 uses the corresponding channel as local PP

NB: if lloc>-1, the corresponding channel must be the last in the
list of wavefunctions appearing after the namelist &inputp
In the relativistic case, if lloc > 0 both the j=lloc-1/2 and
the j=lloc+1/2 wavefunctions must be at the end of the list.
         
rcloc REAL
Status: Must be specified only if lloc=-1, otherwise the corresponding value of rcut is used.
Matching radius (a.u.) for local pseudo-potential (no default).
         
nlcc LOGICAL
Default: .false.
If .true. produce a PP with the nonlinear core
correction of Froyen, Cohen, and Louie.
         
new_core_ps LOGICAL
Default: .false.
Status: requires nlcc=.true.
If .true. pseudizes the core charge with bessel functions.
         
rcore REAL
Matching radius (a.u.) for the smoothing of the core charge.
If not specified, the matching radius is determined
by the condition:  rho_core(rcore) = 2*rho_valence(rcore)
         
tm LOGICAL
Default: .false.
* .true. for Troullier-Martins pseudization [PRB 43, 1993 (1991)]

* .false. for Rabe-Rappe-Kaxiras-Joannopoulos pseudization
  [PRB 41, 1227 (1990), erratum PRB 44, 13175 (1991)]
         
rho0 REAL
Default: 0.0
Charge at the origin: when the Rabe-Rappe-Kaxiras-Joannopoulos
method with 3 Bessel functions fails, specifying rho0 > 0
may allow to override the problem (using 4 Bessel functions).
Typical values are in the order of 0.01-0.02
         
lpaw LOGICAL
Default: .false.
If .true. produce a PAW dataset, experimental feature
only for pseudotype=3
         
which_augfun CHARACTER
Default: 'AE' for Vanderbilt-Ultrasoft pseudopotentials and 'BESSEL' for PAW datasets.
If different from 'AE' the augmentation functions are pseudized
before rmatch_augfun. The pseudization options are:

* 'BESSEL'     Use Bessel functions to pseudize the Q.

These features are available only for PAW:

* 'GAUSS'      Use 2 Gaussian functions to pseudize the Q.
* 'BG'         Use original Bloechl's recipy with a single gaussian.

This feature is available only for US-PP:
* 'PSQ'        Use Bessel functions to pseudize Q from the origin
               to min(rcut(ns),rcut(ns1)) where ns and ns1 are
               the two channels for that Q.

Note: if lpaw is true and which_augfun is set to AE real all-
electron charge will be used, which will produce extremly
hard augmentation.
            
rmatch_augfun REAL
Default: 0.5 a.u.
Status: Used only if which_augfun is different from 'AE'.
Pseudization radius for the augmentation functions. Presently
it has the same value for all L.
            
lsave_wfc LOGICAL
Default: .false. if .not. lpaw, otherwise .true.
Set it to .true. to save all-electron and pseudo wavefunctions
used in the pseudopotential generation in the UPF file. Only
works for UPFv2 format.
         
author CHARACTER
Default: 'anonymous'
 Name of the author.
         
file_chi CHARACTER
Default: ' '
 file containing output PP chi functions
         
file_beta CHARACTER
Default: ' '
 file containing output PP beta functions
         
file_qvan CHARACTER
Default: ' '
 file containing output PP qvan functions
         
file_screen CHARACTER
Default: ' '
 file containing output screening potential
         
file_core CHARACTER
Default: ' '
 file containing output total and core charge
         
file_wfcaegen CHARACTER
Default: ' '
 file with the all-electron wfc for generation
         
file_wfcncgen CHARACTER
Default: ' '
 file with the norm-conserving wfc for generation
         
file_wfcusgen CHARACTER
Default: ' '
 file with the ultra-soft wfc for generation
         

Card: PseudoPotentialGenerationCards

IF rel=0 OR rel=2 :

Syntax:

nwfs  
 nls(1)   nns(1)   lls(1)   ocs(1)   ener(1)   rcut(1)   rcutus(1)   jjs(1) 
 nls(2)   nns(2)   lls(2)   ocs(2)   ener(2)   rcut(2)   rcutus(2)   jjs(2) 
 . . .
 nls(nwfs)   nns(nwfs)   lls(nwfs)   ocs(nwfs)   ener(nwfs)   rcut(nwfs)   rcutus(nwfs)   jjs(nwfs) 
* if lloc>-1 the state with lls=lloc must be the last

* if lloc>0 in the relativistic case, both states with jjs=lloc-1/2
  and jjs=lloc+1/2 must be the last two
            
ELSE

Syntax:

nwfs  
 nls(1)    nns(1)    lls(1)    ocs(1)    ener(1)    rcut(1)    rcutus(1)  
 nls(2)    nns(2)    lls(2)    ocs(2)    ener(2)    rcut(2)    rcutus(2)  
 . . .
 nls(nwfs)    nns(nwfs)    lls(nwfs)    ocs(nwfs)    ener(nwfs)    rcut(nwfs)    rcutus(nwfs)  

Description of items:


nwfs INTEGER
 number of wavefunctions to be pseudized
                     
nls CHARACTER
Wavefunction label (same as in the all-electron configuration).
                        
nns INTEGER
Principal quantum number (referred to the PSEUDOPOTENTIAL case;
nns=1 for lowest s, nns=2 for lowest p, and so on).
                        
lls INTEGER
 Angular momentum quantum number.
                        
ocs REAL
 Occupation number  (same as in the all-electron configuration).
                        
ener REAL
Energy (Ry) used to pseudize the corresponding state.
If 0.d0, use the one-electron energy of the all-electron state.
Do not use 0.d0 for unbound states!
                        
rcut REAL
 Matching radius (a.u.) for norm conserving PP.
                        
rcutus REAL
 Matching radius (a.u.) for ultrasoft PP - only for pseudotype=3.
                        
jjs REAL
 The total angular momentum (0.0 is allowed for complete shells).
                        

Namelist: TEST

needed only if iswitch=2, optional if iswitch=3

nconf INTEGER
Default: 1
 the number of configurations to be tested
         
file_pseudo CHARACTER
Default: ' '
Status: ignored if iswitch=3
File containing the PP.

* If the file name contains  ".upf" or ".UPF",
the file is assumed to be in UPF format;

* else if the file name contains ".rrkj3" or ".RRKJ3",
the old RRKJ format is first tried;

* otherwise, the old NC format is read.

IMPORTANT: in the latter case, all calculations are done
using the SEMILOCAL form, not the separable nonlocal form.
Use the UPF format if you want to test the separable form!
         
ecutmin, ecutmax, decut REAL
Default: decut=5.0 Ry; ecutmin=ecutmax=0Ry
Status: specify ecutmin and ecutmax if you want to perform this test
Parameters (Ry) used for test with a basis set of spherical
Bessel functions j_l(qr) . The hamiltonian at fixed scf
potential is diagonalized for various values of ecut:
ecutmin, ecutmin+decut, ecutmin+2*decut ... up to ecutmax.
This yields an indication of convergence with the
corresponding plane-wave cutoff in solids, and shows
in an unambiguous way if there are "ghost" states
         
rm REAL
Default: 30 a.u.
 Radius of the box used with spherical Bessel functions.
         
configts(i), i=1,nconf CHARACTER
A string containing the test valence electronic
configuration nc, nc=1,nconf. Same syntax as for "config".
If configts(i) is not set, the electron configuration
is read from the cards following the namelist.
         
lsdts(i), i=1,nconf INTEGER
Default: 1
See: lsd
0 or 1. It is the value of lsd used in the i-th test.
Allows to make simultaneously spin-polarized and
spin-unpolarized tests.
         
frozen_core LOGICAL
Default: .false.
If .true. only the core wavefunctions of the first
configuration are calculated. The eigenvalues, orbitals
and energies of the other configurations are calculated
with the core of the first configuration.
The first configuration must be spin-unpolarized.
         

Card: PseudoPotentialTestCards

IMPORTANT: this card has to be specified for each missing configts(i)

IF lsd=1 :

Syntax:

nwfts  
 elts(1)   nnts(1)   llts(1)   octs(1)   enerts(1)   rcutts(1)   rcutusts(1)   iswts(1) 
 elts(2)   nnts(2)   llts(2)   octs(2)   enerts(2)   rcutts(2)   rcutusts(2)   iswts(2) 
 . . .
 elts(nwfts)   nnts(nwfts)   llts(nwfts)   octs(nwfts)   enerts(nwfts)   rcutts(nwfts)   rcutusts(nwfts)   iswts(nwfts) 
ELSEIF rel=2 :

Syntax:

nwfts  
 elts(1)    nnts(1)    llts(1)    octs(1)    enerts(1)    rcutts(1)    rcutusts(1)    jjts(1) 
 elts(2)    nnts(2)    llts(2)    octs(2)    enerts(2)    rcutts(2)    rcutusts(2)    jjts(2) 
 . . .
 elts(nwfts)    nnts(nwfts)    llts(nwfts)    octs(nwfts)    enerts(nwfts)    rcutts(nwfts)    rcutusts(nwfts)    jjts(nwfts) 
ELSE

Syntax:

nwfts  
 elts(1)    nnts(1)    llts(1)    octs(1)    enerts(1)    rcutts(1)    rcutusts(1)  
 elts(2)    nnts(2)    llts(2)    octs(2)    enerts(2)    rcutts(2)    rcutusts(2)  
 . . .
 elts(nwfts)    nnts(nwfts)    llts(nwfts)    octs(nwfts)    enerts(nwfts)    rcutts(nwfts)    rcutusts(nwfts)  

Description of items:


nwfts INTEGER
 number of wavefunctions
                     
elts CRATACTER
See: nls
nnts INTEGER
See: nns
llts INTEGER
See: lls
octs REAL
See: ocs
enerts REAL
Status: not used
rcutts REAL
Status: not used
rcutusts REAL
Status: not used
iswts INTEGER
 spin index (1 or 2, used in lsda case)
                        
jjts REAL
 total angular momentum of the state
                        

Notes

For PP generation you do not need to specify namelist &test, UNLESS:

1. you want to use a different configuration for unscreening wrt the
one used to generate the PP. This is useful for PP with semicore
states: use semicore states ONLY to produce the PP, use semicore
AND valence states (if occupied) to make the unscreening

2. you want to specify some more states for PAW style reconstruction of
all-electron orbitals from pseudo-orbitals
      

Output files written

* file_tests            "prefix".test    results of transferability test

for each testing configuration N:

* file_wavefunctions    "prefix"N.wfc     all-electron KS orbitals
* file_wavefunctionsps  "prefix"Nps.wfc   pseudo KS orbitals

if lsd=1:

* file_wavefunctions    "prefix"N.wfc.up  all-electron KS up orbitals
* file_wavefunctions    "prefix"N.wfc.dw  all-electron KS down orbitals

if rel=2 and lsmall=.true.:

* file_wavefunctions    "prefix".wfc.small  all-electron KS small component

if parameters for logarithmic derivatives are specified:

* file_logder           "prefix"Nps.dlog  all-electron logarithmic derivatives
* file_logderps         "prefix"Nps.dlog  pseudo logarithmic derivatives

"N" is not present if there is just one testing configuration.
         

Recipes to reproduce old all-electron atomic results with the ld1 program

* The Herman-Skillman tables can be reproduced with:

    rel=0,
    isic=0,
    latt=1,
    dft='SL1-NOC'

* Data on the paper Liberman, Waber, Cromer Phys. Rev. 137, A27 (1965) can be
reproduced with:

    rel=2,
    isic=0,
    latt=1,
    dft='SL1-NOC'

* Data on the paper S. Cohen Phys. Rev. 118, 489 (1960) can be reproduced with:

    rel=2,
    isic=1,
    latt=0,
    dft='NOX-NOC'

* The revised PBE described in PRL 80, 890 (1998) can be obtained with:

    isic=0
    latt=0
    dft='SLA-PW-RPB-PBC' or 'dft='revPBE'

* The relativistic energies of closed shell atoms reported in PRB 64 235126 (2001)
can be reproduced with:

    isic=0
    latt=0
    cau_fact=137.0359895
    dft='sla-vwn' for the LDA case
    dft='PBE'     for the PBE case

* The NIST results in PRB 55, 191 (1997):

    LDA:
        rel=0
        dft='sla-vwn'

    LSD:
        rel=0
        lsd=1
        dft='sla-vwn'

    RLDA
        rel=2
        rel_dist='average'
        dft='rxc-vwn'

    ScRLDA:
        rel=1
        dft='rxc-vwn'
         
This file has been created by helpdoc utility.