mirror of https://gitlab.com/QEF/q-e.git
269 lines
13 KiB
Plaintext
269 lines
13 KiB
Plaintext
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
|
|
|
|
1) namelist &input (always needed)
|
|
|
|
title = a string describing the job (optional)
|
|
zed = the nuclear charge (1 < zed < 100)
|
|
atom = atomic symbol: atom='H', 'He', 'Be', etc
|
|
specify either atom OR zed, not both
|
|
|
|
xmin = radial grid parameter (default: -7.0)
|
|
dx = " " " (default: 0.0125)
|
|
the radial grid is: r(i+1) = exp(xmin+i*dx)/zed a.u.
|
|
rmax = outermost grid point (default: 100.0 a.u.)
|
|
|
|
beta = parameter for potential mixing (default: 0.2)
|
|
tr2 = convergence threshold for scf (default: 1e-14)
|
|
|
|
iswitch = 1 all-electron calculation (default)
|
|
2 PP test calculation
|
|
3 PP generation
|
|
|
|
nld = the number of logarithmic derivatives to be calculated
|
|
rlderiv= radius (a.u.) at which logarithmic derivatives are calculated
|
|
eminld, emaxld = energy range (min, max energy, in Ry) at which
|
|
logarithmic derivatives are calculated
|
|
deld = delta e (Ry) of energy for logarithmic derivatives
|
|
If the above parameters are not specified, logarithmic
|
|
derivaties are not calculated
|
|
|
|
rel = 0 non relativistic calculation (default for Z <= 18)
|
|
1 scalar relativistic calculation (default for Z > 18)
|
|
2 full relativistic calculation with spin-orbit
|
|
lsd = 1 spin-polarized calculation (default: 0, no spin pol.)
|
|
not allowed if iswitch=3 (PP generation) or with full
|
|
relativistic calculation
|
|
dft = exchange-correlation functional. Examples:
|
|
'PZ' Perdew and Zunger formula for LDA (default)
|
|
'PW91' Perdew and Wang GGA
|
|
'BP' Becke and Perdew GGA
|
|
'PBE' Perdew, Becke and Ernzerhof GGA
|
|
'BLYP' ...
|
|
For the complete list, see module "which_dft" in ../Modules/
|
|
|
|
latt= 1 (0) : (no) Latter correction (default: no)
|
|
isic= 1 (0) : (no) Self-interaction correction (default: no)
|
|
(only for all-electron calculation)
|
|
prefix (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
|
|
|
|
config = a string with the electronic configuration. Example:
|
|
'[Ar] 3d10 4s2 4p2.5' (default: ' ')
|
|
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)
|
|
Negative occupancies are used to flag unbound states;
|
|
they are not actually used
|
|
If config is empty the electronic configuration is read from
|
|
the following cards:
|
|
|
|
vdw = .true. or .false. (default: .false.)
|
|
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).
|
|
Up to now DFT with gradient correction for correlation energy
|
|
has not been implemented yet in this calculation.
|
|
|
|
1.1) optional cards for all-electron calculation
|
|
|
|
nwf
|
|
where nwf = number of wavefunctions, followed by nwf cards:
|
|
if rel <2
|
|
nl,n,l,oc(nl),isw(nl)
|
|
is rel = 2
|
|
nl,n,l,oc(nl),jj(nl)
|
|
where
|
|
nl = wavefunction label (1s 2s etc)
|
|
n,l= principal and angular quantum numbers
|
|
oc = occupation number
|
|
isw= the spin index (1-2) used only in the lsda case
|
|
jj = 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)
|
|
|
|
2) namelist &inputp (needed only if iswitch=3)
|
|
|
|
zval = valence charge (calculated)
|
|
zval is automatically calculated from available data.
|
|
If one 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 nointeger zval (i.e. half core-hole pseudopotentials)
|
|
pseudotype = (no default)
|
|
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= 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 = 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 (default: ' ')
|
|
lloc = angular momentum of the local channel (default -1)
|
|
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 atthe end of the list
|
|
rcloc = matching radius (a.u.) for local pseudo-potential (no default)
|
|
Must be specified only if lloc=-1, otherwise the
|
|
corresponding value of rcut is used.
|
|
nlcc =.true. : produce a PP with the nonlinear core (default .false.)
|
|
correction of Froyen, Cohen, and Louie
|
|
rcore= 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 = .true. for Troullier-Martins pseudization (default .false.)
|
|
[PRB 43, 1993 (1991)]
|
|
.false. for Rabe-Rappe-Kaxiras-Joannopoulos pseudization
|
|
[PRB 41, 1227 (1990), erratum PRB 44, 13175 (1991)]
|
|
rho0 = 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 (default 0.0)
|
|
lpaw =.true. : produce a PAW dataset, experimental feature
|
|
only for pseudotype=3 (default .false.)
|
|
file_chi = file containing output PP chi functions (' ')
|
|
file_beta = file containing output PP beta functions (' ')
|
|
file_qvan = file containing output PP qvan functions (' ')
|
|
file_screen= file containing output screening potential (' ')
|
|
file_core = file containing output total and core charge (' ')
|
|
|
|
2.1) additional cards for PP generation
|
|
|
|
nwfs
|
|
where nwfs=number of wavefunctions to be pseudized, followed by nwfs cards:
|
|
nls, nns, lls, ocs(nl), ener, rcut, rcutus
|
|
for rel=0, or, for rel=2:
|
|
nls, nns, lls, ocs(nl), ener, rcut, rcutus, jjs
|
|
where:
|
|
nls= wavefunction label (same as in the all-electron configuration)
|
|
nns= principal quantum number (referred to the PSEUDOPOTENTIAL case!
|
|
nns=1 for lowest s, nns=2 for lowest p, and so on)
|
|
lls= angular momentum quantum number
|
|
ocs= occupation number (same as in the all-electron configuration)
|
|
ener = 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 = matching radius (a.u.) for norm conserving PP
|
|
rcutus= matching radius (a.u.) for ultrasoft PP - only for pseudotype=3
|
|
jjs= the total angular momentum (0.0 is allowed for complete shells)
|
|
NB: 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
|
|
|
|
3) namelist &test (needed only if iswitch=2, optional if iswitch=3)
|
|
|
|
nconf = the number of configurations to be tested (default: 1)
|
|
file_pseudo = file containing the PP (default: ' ')
|
|
(ignored if iswitch=3)
|
|
If the file name contains "upf" or "UPF",
|
|
the file is assumed to be in UPF format;
|
|
otherwise, 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!
|
|
configts(nc) = a string containing the test valence electronic
|
|
configuration nc, nc=1,nconf. Same syntax as for "config".
|
|
If configts(nc) is not set, the electron configuration
|
|
is read from the following cards:
|
|
|
|
3.1) optional cards for PP test calculation
|
|
|
|
for each missing configts(nc):
|
|
nwfts
|
|
where nwfts = number of wavefunctions, followed by nwfts cards:
|
|
if lsd=1
|
|
elts, nnts, llts, octs, enerts, rcutts, rcutusts, iswts
|
|
if rel=2
|
|
elts, nnts, llts, octs, enerts, rcutts, rcutusts, jjts
|
|
otherwise
|
|
elts, nnts, llts, octs, enerts, rcutts, rcutusts
|
|
where:
|
|
elts, nnts, llts, octs = same meaning as els, nns, lls, ocs
|
|
as described in point 2.1) above
|
|
iswts= spin index (1 or 2, used in lsda case)
|
|
jjts = total angular momentum of the state (only for rel=2)
|
|
enerts = not used
|
|
rcutts = not used
|
|
rcutusts= not used
|
|
|
|
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
|
|
and for each testing configuration N:
|
|
file_wavefunctions "prefix"N.wfc all-electron KS orbitals
|
|
file_wavefunctionsps "prefix"Nps.wfc pseudo KS orbitals
|
|
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
|
|
========================================================================
|
|
Here are some 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'
|
|
|
|
|