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 :
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
* 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 :
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
|
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'
|