*Note The tables below list the input systems' tokens and their function. Tables are organized by category.
lmfa inputThe present document explains the input more fully, but using input is the most definitive way to see what input is expected. It may occur that some tokens are optional for one program and required for another, or two programs use the tokens for separate meanings, that will not be fully explained here.
These tokens are read by programs that make hamiltonians in periodic crystals (lmf,lm,lmgf,lmpg,tbe). Some tokens apply only to codes that make energy bands, (lmf,lm,tbe).
Token  Arguments  Program  Optional  Default  Explanation 
GETQP  l 
Y  F 
Read list of kpoints from a disk file. This is a special mode, and
you normally you would let the program choose its own mesh by specifying the number of divisions (see NKABC). If token is not parsed, the program will attempt to parse NKABC. 

NKABC  1 to 3 i 
N 
The number of divisions in the three directions of the reciprocal
lattice vectors. kpoints are generated along a uniform mesh
on each of these axes. (This is the optimal general purpose quadrature for periodic functions as it integrates
the largest number of sine and cosine functions exactly for a specified number of points.)
The parser will attempt to read three integers. If only one number is read, the missing second and third entries assume the value of the first. Information from NKABC, together with BZJOB below, contains specifications equivalent to the widely used "Monkhorst Pack" scheme. But it is more transparent and esier to understand. The number of kpoints in the full BZ is the product of these numbers; the number of irreducible kpoints may be reduced by symmetry operations.  
PUTQP  l 
Y  F  If T, Write out the list of irreducible kpoints to file qpts, and the weights for tetrahedron integration if available.  
BZJOB  1 to 3 i 
Y  0 
Controls the centering of the kpoints in the BZ: 0: the mesh is centered so that one point lies at the origin 1: points symmetrically straddle the origin Three numbers are supplied, corresponding to each of the three primitive reciprocal lattice vectors. As with NKABC if only one number is read the missing second and third entries assume the value of the first. 

METAL  i 
lmf,lm,tbe  Y  1 
Specifies how the weights are generated for BZ integration.
Numerical quadrature is used to to accumulate the output density or any BZintegrated property. In insulators, each point in the full BZ gets equal weight; in metals, the weights depend on the Fermi level E_{F}, which must be determined from the eigenvalues. There are these possibilities:
0: System assumed to be an insulator; weights determined a priori.

TETRA  l 
lmf,lm,tbe  Y  T 
Selects BZ integration method 0: MethfesselPaxton sampling integration Tokens NPTS, N, W, EF0, DELEF (see below) are relevant to this integration scheme. 1: tetrahedron integration, with Bloechl weights 
N  i 
lmf,lm,tbe  Y  0 
Polynomial order for sampling integration; see
see Methfessel and Paxton, Phys. Rev. B, 40, 3616 (1989).
(Not used with tetrahedron integration or for insulators)
0: integration uses standard gaussian method >0: integration uses generalized gaussian functions, i.e. polynomial of order N * gaussian to generate integration weights −1: use the Fermi function rather than gaussians to broaden the δfunction. This generates the actual electron (fermi) distribution for a finite temperature. 100: By default, if a gap is found separating occupied and occupied states, the program will treat the system as and insulator, even when MET>0. To suppress this, add 100 to N (use −101 for Fermi distribution). 
W  r 
lmf,lm,tbe  Y  5e3 

EF0  r 
lmf,lm,tbe  Y  0  Initial guess at Fermi energy. Used with BZ_METAL=4. 
DELEF  r 
lmf,lm,tbe  Y  0.05  Initial uncertainty in Fermi level for sampling integration. Used with BZ_METAL=4. 
ZBAK  r 
lmf,lm  Y  0  Homogeneous background charge 
SAVDOS  i 
lmf,lm,tbe  Y  0 
0 does not save dos on disk 1 writes the total density of states on NPTS mesh points to disk file dos.ext. 2 Write weights to disk for partial DOS (In the ASA this occurs automatically). 4 Same as (2), but write weights mresolved. You may also cause lm or lmf to generate mresolved dos using the pdos commandline argument. NB: you must turn OFF all symmetry operations to produce correct results. (The extra inversion symmetry in the kpoints from timereversal symmetry is still allowed.) *Note SAVDOS>0 requires BZ_NPTS and BZ_DOS also. 
DOS  2 r 
Y  −1,0  Energy window over which DOS accumulated. Needed either for sampling integration or if SAVDOS>0.  
NPTS  i 
Y  1001 
Number of points in the densityofstates mesh used in
conjunction with sampling integration. Needed either for sampling integration or if SAVDOS>0. 

EFMAX  r 
lmf,lm,tbe  Y  2  Only eigenvectors whose eigenvalues are less than EFMAX are computed; this improves execution efficiency. 
NEVMX  i 
lmf,lm,tbe  Y  0 
>0 : Find at most NEVMX eigenvectors =0 : program uses internal default <0 : no eigenvectors are generated (and correspondingly, nothing associated with eigenvectors such as density.) Caution: if you want to look and partial DOS well above the Fermi level (which comes out around 0), you must set EFMAX and NEVMX high enough to encompass the range of interest. 
ZVAL  r 
Y  0  Number of electrons to accumulate in BZ integration. Normally zval is computed by the program.  
NOINV  l 
lmf,lm,tbe  Y  F  Suppress the automatic addition of the inversion to the list of point group operations. Usually the inversion symmetry can be included in the determination of the irreducible part of the BZ because of time reversal symmetry. There may be cases where this symmetry is broken: e.g. when spinorbit coupling is included or when the (beyond LDA) selfenergy breaks timereversal symmetry. In most cases, the program will automatically disable this addition in cases that knows the symmetry is broken. 
FSMOM  2 r 
lmf,lm  Y  0 0 
Set the global magnetic moment (collinear magnetic case).
In the fixedspin moment method, a spindependent potential
shift Beff is added to constrain the total magnetic moment to
value assigned by FSMOM=. No constraint is imposed if this
value is zero (the default). Optional second arg supplies an initial Beff. It is applied whether or not the first argument is 0. If arg#1 ≠ 0, Beff is made consistent with it. 
DMAT  l 
lmf,lmgf  Y  F  Calculate the density matrix. 
INVIT  l 
lmf,lm  Y  F 
Enables inverse iteration generate eigenvectors (this is
the default). It is more efficient than the QL method,
but occasionally fails to find all the vectors. When
this happens, the program stops with the message: DIAGNO: tinvit cannot find all evecs If you encounter this message set INVIT=F. 
EMESH  r 
lmgf,lmpg  Y  10,0,1,... 
Parameters defining contour integration for Green's function methods.
Element:

MULL  i 
tbe  Y  0  Mulliken population analysis. Mulliken population analysis is also implemented in lmf, but you specify the analysis with a commandline argument. 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
NIT  i 
lmf,lmmc,tbe  Y  maximum number of relaxation steps (molecular statics)  
SSTAT[...]  lm,lmgf  Y  (noncollinear magnetism) parameters specifying how spin statics (rotation of quantization axes to minimize energy) is carried out.  
SSTAT_MODE  i 
lm,lmgf  N  0 
0: no spin statics or dynamics −1: LandauGilbert spin dynamics 1: spin statics: quantization axis determined by making output density matrix diagonal 2: spin statics: size and direction of relaxation determined from spin torque Add 10 to mix angles independently of P,Q (Euler angles are subject to mixing to accelerate convergence) Add 1000 to mix Euler angles independently of P,Q 
SSTAT_SCALE  i 
lm,lmgf  N  0  (used with mode=2) scale factor amplifying magnetic forces 
SSTAT_MAXT  i 
lm,lmgf  N  0  maximum allowed change in angle 
SSTAT_TAU  i 
lm,lmgf  N  0  (used with mode=1) time step 
SSTAT_ETOL  i 
lm,lmgf  N  0  (used with mode=1) Set tau=0 this iter if etotehf>ETOL 
MSTAT[...]  lmf,lmmc,tbe  Y  (molecular statics) parameters specifying how site positions are relaxed given the internuclear forces  
MSTAT_MODE  i 
lmf,lmmc,tbe  N  0 
0: no relaxation 4: relax with conjugate gradients algorithm. (not generally recommended) 5: relax with FletcherPowell algorithm. Find minimum along a line; a new line is chosen. The Hessian matrix is updated only at the start of a new line minimization. FletcherPowell is more stable but usually less efficient than Broyden. 6: relax with Broyden algorithm. This is essentially a NewtonRaphson algorithm, where Hessian matrix and direction of descent are updated each iteration. 
MSTAT_HESS  l 
lmf,lmmc,tbe  N  T 
T: Read hessian matrix from file, if it exists F: assume initial hessian is the unit matrix 
MSTAT_XTOL  r 
lmf,lmmc,tbe  Y  1e3 
Convergence criterion for change in atomic displacements. >0: criterion satisfied when xtol > net shift (shifts summed over all sites) <0: criterion satisfied when xtol > max shift of any site 0: Do not use this criterion to check convergence *Note When molecular statics are performed, either GTOL or XTOL must be specified. Both may be specified. 
MSTAT_GTOL  r 
lmf,lmmc,tbe  Y  0 
Convergence criterion for tolerance in forces. >0: criterion satisfied when gtol > "net" force (forces summed over all sites) <0: criterion satisfied when xtol > max absolute force at any site 0: Do not use this criterion to check convergence *Note When molecular statics are performed, either GTOL or XTOL must be specified. Both may be specified. 
MSTAT_STEP  r 
lmf,lmmc,tbe  Y  0.015  Initial (and maximum) step length 
MSTAT_NKILL  i 
lmf,lmmc,tbe  Y  0  Remove hessian after NKILL iterations. Never remove Hessian if NKILL=0. 
MSTAT_PDEF=  r 
lmf,lmmc,tbe  Y  0 0 0 ...  Lattice deformation modes (not documented) 
MD[...]  lmmc,tbe  Y  Parameters for molecular dynamics  
MD_MODE  i 
lmmc  N  0 
0: no MD 1: NVE 2: NVT 3: NPT 
MD_TSTEP  r 
lmmc  Y  20.671 
Time step (a.u.) NB: 1 fs = 20.67098 a.u. 
MD_TEMP  r 
lmmc  Y  0.00189999 
Temperature (a.u.) NB: 1 deg.K = 6.3333e6 a.u 
MD_TAUP  r 
lmmc  Y  206.71  Thermostat relaxation time (a.u.) 
MD_TIME  r 
lmmc  N  20671000  Total MD time (a.u.) 
MD_TAUB  r 
lmmc  Y  2067.1  Barostat relaxation time (a.u.) 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
AS  r 
Y  2  Controls the relative number of lattice vectors in real and reciprocal space.  
TOL  r 
Y  1e8  Tolerance in the Ewald sums  
NKDMX  i 
Y  800 
The maximum number of realspace lattice vectors
entering into the Ewald sum, used for memory allocation.
Normally you should not need this token. Increase
NKDMX if you encounter an error message like this one: xlgen: too many vectors, n=... 

RPAD  r 
Y  0  Scale rcutoff by RPAD when lattice vectors padded in oblong geometries 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
MODE  i 
ASA  Y  0 
0: do nothing 1: selfconsistent cycle 10: Transverse magnetic exchange interactions J(q) 11: Read J(q) from disk and analyze results 14: Longitudinal exchange interactions 20: Transverse χ^{+−} from ASA Green's function 21: Read χ from disk and analyze results 20: Transverse χ^{++}, χ^{−−} from ASA Green's function Caution: modes 14 and higher have not been maintained. 
GFOPTS  c 
ASA  Y 
ASCII string with switches governing execution of lmgf or lmpg. Use `;' to separate the switches.
Available switches: 'p1' First order of potential function 'p3' Third order of potential function 'pz' Exact potential function (some problems; not recommended Use only one of the above; if none are used, the code generates second order potential functions. 'idos' integrated DOS (by principal layer in the lmpg case) 'noidos' suppress calculation of integrated DOS 'pdos' accumulate partial DOS 'emom' accumulate output moments; use 'noemom' to suppress 'noemom' suppresss accumulation of output moments 'sdmat' make site densitymatrix 'dmat' make densitymatrix 'frzvc' do not update potential shift needed to obtain charge neutrality 'padtol' Tolerance in Pade correction to charge. If tolerance exceeded, lmgf will repeat the band pass with an updated Fermi level 'omgtol' (CPA) tolerance criterion for convergence in coherent potential 'omgmix' (CPA) linear mixing parameter for iterating convergence in coherent potential 'nitmax' (CPA) maximum number of iterations to iterate for coherent potential 'lotf' (CPA) 'dz' (CPA) 

DLM  i 
ALL  Y  0 
Governs selfconsistency for both chemical CPA and magnetic CPA (disordered local moments).
12 : normal CPA/DLM calculation: charge and coherent potential Ω both iterated to selfconsistency. 32 : Ω alone is iterated to selfconsistency. 
BXY  l 
ALL  Y  F 
(DLM) Setting this switch to T generates a sitedependent
constraining field to properly align magnetic moments.
In this context constraining field is applied by scaling the LDA exchangecorrelation field. The scaling factor is [1+bxc(ib)^{2}]^{1/2}. A table of bxc is kept for each site in the first column of file shfac.ext. See also HAM_BXCSCAL. 
TEMP  r 
ALL  Y  0  (DLM) spin temperature. 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
CODE  i 
lmfgwd  Y  2 
This token tells what GW code you are creating input files for.
lmfgwd serves as a driver to several GW codes

NKABC  1 to 3 i 
Y 
Defines the kmesh for GW. This token serves the same function for GW as
BZ_NKABC does for the LDA codes, and the input format is the same.
When generating a GWinput template, lmfgwd passes the contents of NKABC to the n1n2n3 tag. *Note Shell scripts lmgw and lmgwsc used for the GW codes may also use this token. When invoked with switches getsigp or getnk, they will modify the n1n2n3 in GWinput. The data they use is taken from GW_NKABC. 

MKSIG  i 
lmfgwd  Y  3 
(selfconsistent calculations only).
Controls the form of V^{xc} (the static QSGW approximation to the dynamical selfenergy Σ).
In the table below Σ_{nn' }(E) refers to a matrix element of Σ between eigenstates n and n', at energy E relative to E_{F}. When generating a GWinput template, lmfgwd passes MKSIG to the iSigMode tag. Values of this tag have the following meanings.

GCUTB  r 
lmfgwd  Y  2.7 
Gvector cutoff for basis envelope functions as used in the GW package. When generating a GWinput template, lmfgwd passes GCUTB to the QpGcut_psi tag. 
GCUTX  r 
lmfgwd  Y  2.2 
Gvector cutoff for interstitial part of twoparticle objects such as the screened coulomb interaction. When generating a GWinput template, lmfgwd passes GCUTX to the QpGcut_cou tag. 
ECUTS  r 
lmfgwd  Y  2.5  (selfconsistent calculations only). Maximum energy for which to calculate the V^{xc} described in MKSIG above. This energy should larger than HAM_SIGP_EMAX which is used to interpolate V^{xc}. When generating a GWinput template, lmfgwd passes ECUTS+1/2 to the emax_sigm tag. 
NIME  i 
lmfgwd  Y  6 
Number of frequencies on the imaginary integration axis when making the correlation part of Σ.
When generating a GWinput template, lmfgwd passes NIME to the niw tag. 
DELRE  r 
lmfgwd  Y  .01,.04 
frequency mesh parameters (dw,omg_c) definining the real axis mesh when calculating Im χ_{0}.
The i^{th} mesh point is given by: ω_{i} = dw×(i−1) + [dw×(i−1)]^{2}/omg_c/2 Points are approximately uniformly spaced, separated by dw, up to frequency omg_c, around which point the spacing begins to increase linearly with frequency. When generating a GWinput template, lmfgwd passes DELRE(1) to the dw tag and DELRE(2) to the omg_c tag. *Note the similarity to OPTICS_DW used by the optics part of lmf and lm. 
DELTA  r 
lmfgwd  Y  1e4 
δfunction broadening for calculating χ_{0}, in atomic units.
Tetrahedron integration is used if DELTA<0.
When generating a GWinput template, lmfgwd passes DELTA to the delta tag. 
GSMEAR  r 
lmfgwd  Y  .003 
Broadening width for smearing pole in the Green's function when calculating Σ.
This parameter is sometimes important in metals, e.g. Fe. See Section 3 in this manual. When generating a GWinput template, lmfgwd passes GSMEAR to the esmr tag. 
PBTOL  r 
lmfgwd  Y  .001 
Overlap criterion for product basis functions inside augmentation spheres.
The overlap matrix of the basis of product functions generated and diagonalized for each l. Functions with overlaps less than PBTOL are removed from the product basis.
When generating a GWinput template, lmfgwd passes PBTOL to the second line after the the start of the PRODUCT_BASIS section. 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
NSPIN  i 
ALL  Y  1 
1 for nonspinpolarized calculations 2 for spinpolarized calculations 
REL  i 
ALL  Y  1 
0 : for nonrelativistic Schrodinger equation 1 : for scalar relativistic approximation to the Dirac equation 2 : for Dirac equation NB: For the magnetic parameters below to be active, HAM_NSPIN must be 2 
SO  i 
ALL  Y  0 
0 : no SO coupling 1 : Add L·S to hamiltonian 2 : Add L_{z}·S_{z} only to hamiltonian 3 : Like 2, but also add L·S−L_{z}S_{z} in an approximate manner that preserves indpendence in the spin channels. See here for analysis and description of the different approximations 
NONCOL  l 
ASA  Y  F 
F: collinear magnetism T: noncollinear magnetism 
SS  4 r 
ASA  Y  0 
Magnetic spin spiral, direction vector and angle.
Example : nc/test/test.nc 1 . 
BFIELD  i 
lm,lmf  Y  0 
0 : no external magnetic field applied. 1 : add sitedependent constant external Zeeman field (requires NONCOL=T). Fields are read from file bfield.ext. 2 : add B_{z}·S_{z} only to hamiltonian. Examples : fp/test/test.fp gdn nc/test/test.nc 5 
BXCSCAL  i 
lm,lmgf  Y  0 
This tag provides an alternative means to add an effective external magnetic field in the LDA. 0 : no special scaling of the exchangecorrelation field. 1 : scale the magnetic part of the LDA XC field by a sitedependent factor 1 + sbxc_{i} as described below. 2 : scale the magnetic part of the LDA XC field by a sitedependent factor (1 + sbxc_{i}^{2})^{1/2} as described below. This is a special mode used to impose contraining fields on rotations, used, e.g. by the CPA code. Sitedependent scalings sbxc_{i} are read from file bxc.ext. 
XCFUN  i 
ALL LDA  Y  2 
Specifies local exchange correlation functional: 1 : CeperlyAlder 2 : BarthHedin (ASW fit) 3 : PW91 (same as PBE) 4 : PBE (same as PW91) 
GGA  i 
ALL LDA  Y  0 
Specifies a GGA functional:

PWMODE  i 
lmf, lmfgwd 
Y 
Controls how APWs are added to the LMTO basis.
1s digit:


PWEMIN  r 
lmf, lmfgwd 
Y  0  Include APWs with energy E > PWEMIN (Ry) 
PWEMAX  r 
lmf, lmfgwd 
Y  1  Include APWs with energy E < PWEMAX (Ry) 
NPWPAD  i 
lmf, lmfgwd 
Y  1  Overrides default padding of variable basis dimension 
RDSIG  i 
lmf,lmfgwd, lm,lmgf 
Y  0 
Controls how the selfenergy Σ is added to local exchange correlation functional. See gw.html for detailed documentation. 1s digit: 0 do not read Σ 1 read file Σ in sigm.ext, if it exists, and add it to the LDA potential Add 2 to symmetrize Σ(T) Add 4 to include Re(Σ(T)) only 10s digit: (see gw.html for a more complete description of the theory behind this digit) 0 simple interpolation 1 approximate high energy parts of sigma by diagonal (see sigp) 3 interpolate sigma by LDA eigenvectors (no longer supported) In this mode use 100s digit for # interpolation points. Add 10000 to indicate the sigma file was stored in the full BZ (no symmetry operations are assumed) Add 20000 to use the minimum neighbor table (only one translation vector at the surfaces or edges; cannot be used with symmetrization) Add 40000 to allow file mismatch between expected kpoints and file values; see gw.html. *Note Some options can also be supplied through the commandline argument rsig[~option~option...]. 
RSSTOL  r 
ALL  Y  5e6 
Max tolerance in Bloch sum error for realspace Σ.
Unless otherwise specified (by e.g. rsig~rs), Σ is read in kspace and is immediately converted to real space by inverse Bloch transform. The r.s.form is forward Bloch summed and checked against the original kspace Σ. If the difference exceeds RSSTOL the program will abort. The conversion should be exact to machine precision unless the range of Σ is truncated. You can control the range of realspace Σ with RSRNGE below. 
RSRNGE  r 
ALL  Y  5  Maximum range of connecting vectors for realspace Σ (units of ALAT). 
NMTO  i 
ASA  Y  0  Order of polynomial approximation for NMTO hamiltonian. 
KMTO  r 
ASA  Y 
Corresponding NMTO kinetic energies. Read NMTO values, or skip if NMTO=0 

EWALD  l 
lm  Y  F  Make strux by Ewald summation (NMTO only). 
VMTZ  r 
ASA  Y  0  Muffintin zero defining wave functions. 
QASA  i 
ASA  Y  3 
A parameter specifying the definition of ASA moments Q0,Q1,Q2; see lmto documentation

PMIN  r 
ALL  Y  0 0 0 ... 
Global minimum in fractional part of logarithmic derivative parameters P_{l}. Enter values for l=0,..lmx 0 : no minimum constraint # : with #<1, floor of fractional P is # 1 : use freeelectron value as minimum *Note lmf always uses a minimum constraint, the freeelectron value (or slightly higher if AUTOBAS_GW is set). You can set the floor still higher with PMIN=#. 
PMAX  r 
ALL  Y  0 0 0 ... 
Global maximum in fractional part of potential functions P_{l}. Enter values for l=0,..lmx 0 : no maximum constraint # : with #<1, uppper bound of of fractional P is # 
OVEPS  r 
ALL  Y  0 
The overlap is diagonalized and the hilbert space is contracted, discarding the part
with eigenvalues of overlap < OVEPS Especially useful with the PMT basis, where the combination of smooth Hankel functions and APWs has a tendency to make the basis overcomplete. 
OVNCUT  i 
ALL  Y  0  This tag has a similar objective to OVEPS. The overlap is diagonalized and the hilbert space is contracted, discarding the part belonging to lowest OVNCUT evals of overlap. Supersedes OVEPS, if present. 
GMAX  r 
lmf, lmfgwd 
N 
Gvector cutoff used to create the mesh for the interstitial
density. A uniform mesh is with spacing between points in
the three directions as homogeneous as possible, with G vectors
G<GMAX. This input is required; but you may omit it if you supply information with the FTMESH token. 

FTMESH  i1 [i2 i3] 
FP  N 
The number of divisions specifying the uniform mesh density
along the three reciprocal lattice vectors. The second
and third arguments default to the value of the first one,
if they are not specified This input is used only if if the parser failed to read the GMAX token.  
TOL  r 
FP  Y  1e6 
Specifies the precision to which the generalized LMTO envelope
functions are expanded in a Fourier expansion of G vectors. 
FRZWF  l 
FP  Y  F 
Set to T to freeze the shape of the augmented part of the
wave functions. Normally their shape is updated as the
potential changes, but with FRZWF=t the potential used to
make augmentation wave functions is frozen at what is read
from the restart file (or freeatom potential if starting
from superposing free atoms). This is not normally necessary, and freezing wave functions makes the basis slightly less accurate. However, there are slight inconsistencies when these orbitals are allowed to change shape. Notably the calculated forces to not take this shape change into account, and they will be slightly inconsistent with the total energy. 
FORCES  i 
FP  Y  0 
Controls how forces are to be calculated, and how the
secondorder corrections are to be evaluated. Through the
variational principle, the total energy is correct to
second order in deviations from selfconsistency, but
forces are correct only to first order. To obtain forces
to second order, it is necessary to know how the density
would change with a (virtual) displacement of the
core+nucleus, which requires a linear response treatment.
lmf estimates this changes in one of two ways:

ELIND  r 
lmf  Y  1 
a parameter in the Lindhard response function, (the
Fermi level for a freeelectron gas relative to the bottom of
the band). You can specify this energy directly, by using a
positive number for the parameter. If you use instead a
negative number, the program will choose a default value from
the total number of valence electrons and assuming a
freeelectron gas, scale that default by the absolute value of
the number you specify. If you have a simple sp bonded system,
the default value is a good choice. If you have d
or f electrons, it tends to overestimate the response.
Use a something smaller, e.g. ELIND=0.7.
ELIND is used in three contexts: 
SIGP[...]  r 
lmf, lmfgwd 
Y  Parameters used to interpolate the selfenergy Σ. Used in conjunction with the GW package. See gw.html for description. Default:not used  
SIGP_MODE  r 
lmf, lmfgwd 
Y  4  Specifies the linear function used for matrix elements of Σ at highlylying energies. With recent implementations of the GW package 4 is recommended; it requires no input from you. 
SIGP_EMAX SIGP_NMAX SIGP_EMIN SIGP_NMIN SIGP_A SIGP_B 
r 
lmf, lmfgwd 
Y  See gw.html.  
AUTOBAS[...]  r 
lmfa, lmf, lmfgwd 
Y 
Parameters associated with the automatic determination of the basis set.
These switches greatly simplify the creation of an input file for lmf. *Note Programs lmfa and lmf both use tokens in the AUTOBAS tag but they mean different things, as described below. This is because lmfa generates the parameters while lmf uses them. See Building_FP_input_file.html for more detail. Default: not used 

AUTOBAS_GW  i 
lmfa  Y  0  Set to 1 to tailor the autogenerated basis set file basp0.ext to a somewhat larger basis, better suited for GW. 
AUTOBAS_GW  i 
lmf  Y  0  Set to 1 to float log derivatives P a bit more conservatively  better suited to GW calculations. 
AUTOBAS_LMTO  i 
lmfa  Y  0 
lmfa autogenerates
a trial basis set, saving the result into basp0.ext.
LMTO is used in an algorithm to determine how large a basis it should construct: the number of orbitals increases
as you increase LMTO. This algorithm also depends on which states in the free atom which carry charge.
Let l_{q} be the highest l which carries charge in the free atom.
There are the following choices for LMTO:

AUTOBAS_MTO  i 
lmfa  Y  0 
Autogenerate parameters that control which LMTO basis functions are to be included, and their shape. Tokens RSMH,EH (and possibly RSMH2,EH2) determine the shape of the MTO basis. lmfa will determine a reasonable set of RSMH,EH automatically (and RSMH2,EH2 for a 2κ basis), fitting to radial wave functions of the free atom. *Note lmfa can generate parameters and write them to file basp0.ext. lmf can read parameters from basp.ext. You must manually create basp.ext, e.g. by copying basp0.ext into basp.ext. You can tailor basp.ext with a text editor. There are the following choices for MTO: 0: do not autogenerate basis parameters 1: or 3 1κ parameters with Zdependent LMX 2: or 4 2κ parameters with Zdependent LMX 
AUTOBAS_MTO  i 
lmf, lmfgwd 
Y  0 
Read parameters RSMH,EH,RSMH2,EH2 that control which LMTO basis functions enter the basis. Once initial values have been generated you can tune these parameters automatically for the solid, using lmf with the optbas switch; see Building_FP_input_file.html and FPoptbas.html. The optbas step is not essential, especially for large basis sets, but it is a way to improve on the basis without increasing the size. There are the following choices for MTO: 0 Parameters not read from basp.ext; they are specified in the input file ctrl.ext. 1 or 3: 1κ parameters may be read from the basis file basp.ext, if they exist 2 or 4: 2κ parameters may be read from the basis file basp.ext, if they exist 1 or 2: Parameters read from ctrl.ext take precedence over basp.ext 3 or 4: Parameters read from basp.ext take precedence over those read from ctrl.ext. 
AUTOBAS_PNU  i 
lmfa  Y  0 
Autoset boundary condition for augmentation part of basis, through specification of
logarithmic derivative parameters P. 0 do not make P 1 Find P for l<lmxb from free atom wave function; save in file basp0.ext 
AUTOBAS_PNU  i 
lmf, lmfgwd 
Y  0 
Autoset boundary condition for augmentation part of basis, through specification of
logarithmic derivative parameters P. 0 do not attempt to read P from basp.ext. 1 Read P from basp.ext, for those species which P is given. 
AUTOBAS_LOC  i 
lmfa, lmf, lmfgwd 
Y  0 
Autoset local orbital parameters PZ,
which determine which deep or highlying states are to be included as local orbitals. Used by lmfa to control whether parameters PZ are to be sought: 0: do not autogenerate PZ 1 or 2: autogenerate PZ Used by lmf and lmfgwd to control how PZ is read: 1 or 2: read parameters PZ 1: Nonzero values from ctrl file take precedence over basis file input 
AUTOBAS_ELOC  r 
lmfa  Y  2 Ry  The first of two criteria to decide which orbitals should be included in the valence as local orbitals. If the energy of the free atom wave function exceeds (is more shallow than) ELOC, the orbital is included as a local orbital. 
AUTOBAS_QLOC  r 
lmfa  Y  0.005  The second of two criteria to decide which orbitals should be included in the valence as local orbitals. If the fraction of the free atom wave function's charge outside the augmentation radius exceeds QLOC, the orbital is included as a local orbital. 
AUTOBAS_PFLOAT  i1 i2 
lmf, lmfgwd 
Y  1 1 
Governs how the
logarithmic derivative parameters P_{l} are set and floated in the course of a selfconsistency cycle. The 1st argument controls default starting values of P and lower bounds to P when it is floated 0: Use version 6 defaults and float lower bound 1: Use defaults and float lower bound designed for LDA 2: Use defaults and float lower bound designed for GW The 2nd argument controls how the band center of gravity (CG) is determined  used when floating P. 0: band CG is found by a traditional method 1: band CG is found from the true energy moment of the density 
Go to Table of Contents
HEADER This line and the following one are printed to standard out on execution of a program. XXXAlternately:
HEADER [ In this form only two lines reside within the category delimiters,] and only two lines are printed.
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
SHOW  l 
all  Y  F 
Echo lines as it is read from input file and parsed by the proprocessor. Commandline argument show provides the same functionality. 
HELP  l 
all  Y  F 
Show what input would be sought, without attempting to read data. Commandline argument input provides the same functionality. 
VERBOS  1 to 3 
all  Y  30 
Sets the verbosity. 20 is terse, 30 slightly terse, 40 slightly verbose, 50 verbose,
and so on. If more than one number is given, later numbers control verbosity
in subsections of the code, notably the parts dealing with augmentation spheres. May also be set from the commandline: pr#1[,#2] 
IACTIV  l 
all  Y  F 
Turn on interactive mode. At some point programs will prompt you with queries. May also be controlled from the commandline: iactiv or iactiv=no. 
TIM  1 or 2 
all  Y  0,0 
Prints out CPU usage of blocks of code in a tree format.
First value sets tree depth. Second value, if present, prints timings on the fly. May also be controlled from the commandline: time=#1[,#2] 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
NIT  i 
ALL  Y  1  Maximum number of iterations in the selfconsistency cycle. 
NRMIX  i1 i2 
ASA,lmfa  Y  80,2 
Uses when selfconsistency is needed inside an augmentation sphere. This occurs when the density is determined from the moments
Q0,Q1,Q2 in the ASA; or in the free atom code, just Q0. i1: max number of iterations i2: number of prior iterations for Anderson mixing of the sphere density *Note You will probably never need to use this token. 
MIX  c 
ALL  Y 
Mixing rules for mixing input, output density in the selfconsistency cycle. Syntax: A[nmix][,b=beta][,bv=betv][,n=nit][,w=w1,w2][,nam=fn][,k=nkill][;...] or B[nmix][,b=beta][,bv=betv][,wc=wc][,n=#][,w=w1,w2][,nam=fn][,k=nkill] Click here for a further explanation of MIX. 

AMIX  c 
ASA  Y  Mixing rules when Euler angles are mixed independently. Syntax as in MIX  
CONV  r 
ALL  Y  1e4  Maximum energy change from the prior iteration for selfconsistency to be reached. 
CONVC  r 
ALL  Y  1e4 
Maximum in the RMS difference in <n^{out}−n^{in}>.
In the ASA, this is measured by the change in moments Q0..Q2 and log derivative parameter P. In the fullpotential case it is measured by an integral over the various parts of n (local, interstitial parts). 
UMIX  r 
ALL  Y  1  Mixing parameter for density matrix; used with LDA+U 
TOLU  r 
ALL  Y  0  Tolerance for density matrix; used with LDA+U 
NITU  i 
ALL  Y  0  Maximum number of LDA+U iterations of density matrix 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
MODE  i 
OPTICS  Y  0 
0: make no optics calculations 1: generate linear ε_{2} 20: generate second harmonic ε Example optics/test/test.optics sic The following cases (MODE < 0) generate joint or single densityofstates. *Note MODE < 0 works only with LTET=3 described below −1: generate joint densityofstates Examples (ASA) optics/test/test.optics all 4 (FP) fp/test/test.fp zbgan −2: generate joint densityofstates, spin 2 Example optics/test/test.optics fe 6 −3: generate updown joint densityofstates −4: generate downup joint densityofstates −5: generate spinup single densityofstates Example optics/test/test.optics all 7 −6: generate spindn single densityofstates 
LTET  i 
OPTICS  Y  0 
0: Integration by MethfesselPaxton sampling 1: standard tetrahedron integration 2: standard tetrahedron integration 3: enhanced tetrahedron integration *Note In the metallic case states near the Fermi level must be treated with partial occupancy. LTET=3 is the only scheme that handles this properly. It was adapted from the GW package and has extensions, e.g. the ability to handle nonvertical transitions k^{occ} ≠ k^{unocc}. 
WINDOW  r1 r2 
OPTICS  N  0 1 
Energy (frequency) window over which to calculate Im[ε(ω)]. Im ε is calculated on a mesh of points ω_{i}. The mesh spacing is specified by NPTS or DW, below. 
NPTS  i 
OPTICS  N  501 
Number of mesh points in the energy (frequency) window. Together with WINDOW, NPTS specifies
the frequency mesh as: ω_{i} = WINDOW(1) + DW×(i−1) where DW = (WINDOW(2)−WINDOW(1))/(NPTS−1) *Note you may alternatively specify DW below. 
DW  r1 [r2] 
OPTICS  Y 
Frequency mesh spacing DW[,OMG]. You can supply either one argument, or two.
If one argument (DW) is supplied, the mesh will consist of evenly
spaced points separated by DW.
If a second argument (OMG) is supplied, points are spaced quadratically as: ω_{i} = WINDOW(1) + DW×(i−1) + [DW×(i−1)]^{2}/OMG/2 Spacing is approximately uniform up to frequency OMG; beyond which it increases linearly. *Note The quadratic spacing can be used only with LTET=3. 

FILBND  i1 [i2] 
OPTICS  Y  0 0 
i1[,i2] occupied energy bands from which to calculate
ε using first order perturbation theory, without local fields. i1 = lowest occupied band i2 = highest occupied band (defaults to no. electrons) 
EMPBND  i1 [i2] 
OPTICS  Y  0 0 
i1[,i2] unoccupied energy bands from which to calculate
ε using first order perturbation theory, without local fields. i1 = lowest unoccupied band i2 = highest unoccupied band (defaults to no. bands) 
PART  l 
OPTICS  Y  F 
Resolve ε or joint DOS into bandtoband contributions, or by k.
Result is output into file popt.ext.

CHI2[..]  OPTICS  Y 
Tag containing parameters for second harmonic generation.
Not calculated unless tag is parsed.
Example : optics/test/test.optics sic 

CHI2_NCHI2  i 
OPTICS  N  0  Number of direction vectors for which to calculate χ_{2} 
CHI2_AXES  i1,i2,i3 
OPTICS  N  direction vectors for each of the NCHI2 sets  
ESCISS  r 
OPTICS  Y  0  Scissors operator (constant energy added to unoccupied levels) 
ECUT  r 
OPTICS  Y  0.2  Energy safety margin for determining (occ,unocc) window. lmf will attempt to reduce the number of (occ,unocc) pairs by restricting, for each k, transitions that contribute to the response, i.e. to those inside the optics WINDOW. The window is padded by ECUT include states outside, but near the edge of the window. States outside window may nevertheless make contribution, e.g. because they can be part of a tetrahedron that does contribute. If you do not want lmf to restrict the range, use ECUT<0. 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
HF  l 
lm,lmf  Y  F  If T, Use the HarrisFoulkes functional only; do not evaluate output density. 
SHARM  l 
ASA, lmf, lmfgwd 
Y  F  If T, use true spherical harmonics, rather than real harmonics. 
FRZ  l 
ALL  Y  F 
(ASA) If T, freezes core wave functions. (FP) If T, freezes the potential used to make augmented partial waves, so that the basis set does not change with potential. 
SAVVEC  l 
lm  Y  F  Save eigenvectors on disk. (This may be enabled automatically in some circumstances) 
Q  c 
ALL  Y 
Q=HAM, Q=BAND,
Q=MAD, Q=ATOM,
Q=SHOW make the program stop at selected points without completing a full iteration. 

SCR  i 
ASA  Y  0 
Is connected with the generation or use of the q→0 ASA
dielectric response function. It is useful in cases
when there is difficulty in making the density selfconsistent.
See linearresponseasa.html
for documentation.
Add 10*k to recompute intrasite contribution U every k^{th} iteration, 0<k≤9. Add 100*k to recompute P^{0} every k^{th} iteration (lmgf only). Examples : testing/test.scr and gf/test/test.gf mnpt 6 
ASA[...]  r 
ASA  N 
Parameters associated with ASAspecific input. 

ASA_ADNF  l 
ASA  Y  F  Enables automatic downfolding of orbitals 
ASA_NSPH  l 
ASA  Y  0  Set to 1 to generate l>0 contributions (from neighboring sites) to l=0 electrostatic potential 
ASA_TWOC  i 
ASA  Y  0  Set to 1 to use the twocenter approximation ASA hamiltonian 
ASA_GAMMA  i 
ASA  Y  0 
Set to 1 to rotate to the (orthogonal) gamma representation. This should have
no effect on the eigenvalues for the usual
threecenter hamiltonian, but converts the twocenter
hamiltonian from first order to second order. Set to 2 to rotate to the spinaveraged gamma representation. The lm code does not allow downfolding with GAMMA≠0. 
ASA_CCOR  l 
lm  Y  T 
If F, suppresses the combined correction. By default it is enabled.
*Note NB: if any orbitals are downfolded, CCOR is automatically enabled. 
ASA_NEWREP  l 
NC  Y  F  Set to 1 to rotate structure constants to a userspecified representation. It requires special compilation to be effective 
ASA_NOHYB  l 
NC  Y  F  Set to 1 to turn off hybridization 
ASA_MTCOR  l 
NC  Y  F  Set to T to turn on Ewald MT correction 
ASA_QMT  r 
NC  Y  0 
Override standard background charge for Ewald MT correction Input only meaningful if MTCOR=T 
Go to Table of Contents
CONST a=10.69 nspec=4+2Variables declared this way are similar to, but distinct from variables declared for the preprocessor, such as
% const nbas=5 CONST a=10.69 nspec=4 SPEC ALAT=a NSPEC=nspec NBAS={nbas}After the preprocessor comples, the input file appears as:
CONST a=10.69 nspec=4 SPEC ALAT=a NSPEC=nspec NBAS=5When the CONST category is read (it is read before other categories), variables a and nspec are defined and used in the SPEC category.
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
MODE  i 
ASA  Y 
0: do nothing 1: diagonal layer GF Examples : pgf/test/test.pgf all 5 and pgf/test/test.pgf all 6 2: left and rightbulk bulk GF 3: find k(E) for left bulk Example : pgf/test/test.pgf 2 4: find k(E) for right bulk 5: Calculate ballistic current Example : pgf/test/test.pgf femgo  
SPARSE  i 
ASA  Y  0 
0: Calculate G layer by layer using Dyson's equation Example : pgf/test/test.pgf all 5 1: Calculate G using LU decomposition Example : pgf/test/test.pgf all 6 
PLATL  r 
ASA  N  The third lattice vector of left bulk region  
PLATR  r 
ASA  N  The third lattice vector of right bulk region  
GFOPTS  c 
ASA  Y 
ASCII string with switches governing execution of lmgf or lmpg. Use `;' to separate the switches.
Available switches: 'p1' First order of potential function 'p3' Third order of potential function 'pz' Exact potential function (some problems; not recommended Use only one of the above; if none are used, the code makes second order potential functions 'idos' integrated DOS (by principal layer in the lmpg case) 'noidos' suppress calculation of integrated DOS 'pdos' accumulate partial DOS 'emom' accumulate output moments; use 'noemom' to suppress 'noemom' suppresss accumulation of output moments 'sdmat' make site densitymatrix 'dmat' make densitymatrix 'frzvc' do not update potential shift needed to obtain charge neutrality 'padtol' Tolerance in Pade correction to charge. If tolerance exceeded, lmgf will repeat the band pass with an updated Fermi level 'omgtol' (CPA) tolerance criterion for convergence in coherent potential 'omgmix' (CPA) linear mixing parameter for iterating convergence in coherent potential 'nitmax' (CPA) maximum number of iterations to iterate for coherent potential 'lotf' (CPA) 'dz' (CPA) 
Token  Arguments  Program  Optional  Default  Explanation 
FILE  c 
ALL  Y 
Provides a mechanism to read site data from a separate file. File
subs/iosite.f documents the syntax of the site file structure.
The reccommended (standard) format has the following syntax: The first line should contain a '%' in the first column, and a `version' token vn=#. Structural data (see category STRUC documentation) may also be put this line. Each subsequent line supplies input for one site. In the simplest format, a line would would have the following: spid x y z where spid is the species identifier (same information would otherwise be specified by token ATOM= below) and x y z are the site positions. Examples : fp/test/test.fp er and fp/test/test.fp tio2
Bug: when you read site data from an alternate file, the
reader doesn't compute the reference energy. 

ATOM  c 
ALL  N  Identifies the species (by label) to which this atom belongs. It is a fatal error for the species not to have been defined.  
ATOM_POS  r1 r2 r3 
ALL  N 
the basis vector (length 3), in dimensionless Cartesian coordinates. As with the
primitive lattice translation vectors, the true vectors (in
atomic units) are scaled from these by ALAT in category
STRUC. NB: XPOS and POS are alternative forms of input. One or the other is required. 

ATMOM_XPOS  r1 r2 r3 
ALL  N 
Atom coordinates, as (fractional) multiples of the lattice vectors. NB: XPOS and POS are alternative forms of input. One or the other is required. 

ATOM_DPOS  r1 r2 r3 
ALL  Y  0 0 0  Shift in atom coordinates added to POS 
ATOM_RELAX  i1 i2 i3 
ALL  Y  1 1 1  relax site positions (lattice dynamics or molecular statics) or Euler angles (spin dynamics) 
ATOM_RMAXS  r 
FP  Y  Sitedependent radial cutoff for structure constants, in a.u.  
ATOM_ROT  c 
ASA  Y  Rotation of spin quantization axis at this site  
ATOM_PL  i 
lmpg  Y  0  (lmpg) Assign principal layer number to this site 
Go to Table of Contents
The following four species apply to the automatic sphere resizer:
Token  Arguments  Program  Optional  Default  Explanation 
SCLWSR  r 
ALL  Y  0  SCLWSR>0 turns on the automatic sphere resizer. It defaults to 0, which turns off the resizer. The 10's digit tells the resizer how to deal with resizing empty spheres; see lmto.html. 
OMAX1  r1 r2 r3 
ALL  Y  0.16, 0.18, 0.2 
Constrains maximum allowed values of sphere overlaps. You may input up to three numbers, which correspond to atomatom, and atomemptysphere, and emptysphereemptysphere overlaps respectively. 
OMAX2  r1 r2 r3 
ALL  Y  0.4, 0.45, 0.5 
Constrains maximum allowed values of sphere overlaps defined
differently from OMAX1; see lmto.html. Both constraints are applied. 
WSRMAX  r 
ALL  Y  0  Imposes an upper limit to any one sphere radius 
Token  Arguments  Program  Optional  Default  Explanation 
ATOM  c 
ALL  N 
A character string (8 characters or fewer) that labels this
species. This label is used, e.g. by the SITE
category to associate a species with an atom at a given site.
Species are split into classes; how and when this is done depends
whether you are using an ASA or fullpotential implementation.
ASAspecific : The species ID also names a disk file with information about that atom (potential parameters, moments, potential and some sundry other information). More precisely, species are split into classes, the program differentiates class names by appending integers to the species label. The first class associated with the species has the species label; subsequent ones have integers appended. Example : testing/test.ovlp 3 

Z  r 
ALL  N  Nuclear charge. Normally an integer, but Z can be a fractional number. A fractional number implies a virtual crystal approximation to an alloy with some Z intermediate between the two integers sandwiching it.  
R  r 
ALL  N 
The augmentation sphere radius, in atomic units. This is a required input for most programs:
choose one of R=, R/W= or
R/A=. Read descriptions of the latter two below for further remarks;
also see this page for a more complete discussion on the choice of sphere radii.
lmchk can find sphere radii automatically for you. Invoke lmchk with getwsr. You can also rescale userchosen radii to meet constraints. with the SCLWSR token. 

R/W  r 
ALL  N 
R/W= ratio of the augmentation sphere radius to the average Wigner Seitz radius W.
W is the radius of a sphere such that
(4πW^{3}/3) = V/N, where V/N is the volume per atom.
Thus if all radii are equal with R/W=1, the sum of sphere volumes
would fill space, as is usual in the ASA.
ASAspecific : You must choose the radii so that the sum of sphere volumes (4π/3Σ_{i}R_{i}^{3}) equals the unit cell volume V; otherwise results may become unreliable. The spacefilling requirement means sphere may overlap quite a lot, particularly in open systems. If sphere overlaps get too large, (>20% or so) accuracy becomes an issue. In such a case you should add "empty spheres" to fill space. Use lmchk to print out sphere overlaps. lmchk also has an automatic empty spheres finder, which you invoke with the findes switch; see here for a discussion. Example : testing/test.ovlp 3 FPspecific : FP results are much less sensitive to the choice of sphere radii. Strictly, the spheres should not overlap, but because of lmf's unique augmentation scheme, overlaps of up to 10% cause negligibly small errors as a rule. (This does not apply to GW calculations!) Even so, it is not advisable to let the overlaps get too large. As a general rule the Lcutoff should increase as the sphere radius increases. Also it has been found in practice that selfconsistency is harder to accomplish when spheres overlap significantly. 

R/A  r 
ALL  N  R/A= ratio of the augmentation sphere radius to the lattice constant.  
A  r 
ALL  Y  Radial mesh point spacing parameter. All programs dealing with augmentation spheres represent the density on a shifted logarithmic radial mesh. The i^{th} point on the mesh is r_{i} = b[exp(a(i−1)−1]. b is determined from the number of radial mesh points specified by NR.  
NR  i 
ALL  Y  Depends on other input 
Number of radial mesh points 
LMX  i 
ALL  Y  basis lcutoff inside the sphere. If not specified, it defaults to NL−1  
RSMH  r 
lmf, lmfgwd 
Y  0  Smoothing radii defining basis, one radius for each l. RSMH and EH together define the shape of basis function in lmf. To automate selection, see Building_FP_input_file.html. To optimize, try running lmf with optbas or see FPoptbas.html. 
EH  r 
lmf, lmfgwd 
Y  Hankel energies for basis, one energy for each l. RSMH and EH together define the shape of basis function in lmf. To automate selection, see Building_FP_input_file.html. To optimize, see FPoptbas.html.  
RSMH2  r 
lmf, lmfgwd 
Y  0  Basis smoothing radii, second group 
EH2  r 
lmf, lmfgwd 
Y  Basis Hankel function energies, second group  
LMXA  i 
FP  Y  NL1  angular momentum lcutoff for projection of wave functions tails centered at other sites in this sphere. Must be at least the basis lcutoff (specified by LMX=). 
IDXDN  i 
ASA  Y  1 
a set of integers, one for each lchannel marking which
orbitals should be downfolded. 0 use automatic downfolding in this channel. 1 leaves the orbitals in the basis. 2 folds down about the inverse potential function at E_{ν} 3 folds down about the screening constant alpha. In the FP case, 1 includes the orbital in the basis; >1 removes it 
KMXA  i 
lmf, lmfgwd 
Y  3  Polynomial cutoff for projection of wave functions in sphere. Smoothed Hankels are expanded in polynomials around other sites instead of Bessel functions as in the case of normal Hankels. 
RSMA  r 
lmf, lmfgwd 
Y  R*0.4  Smoothing radius for projection of smoothed Hankel tails into augmentation spheres. smHankels are expanded in polynomials by integrating with Gaussians at that site. Thus RSMA=0 => smHankels Taylor series expansion about the origin. For large KMXA the choice is irrelevant, but RSMA is best chosen that maximizes the convergence of smHankels with KMXA. 
LMXL  i 
lmf, lmfgwd 
Y  NL1  Angular momentum lcutoff for explicit representation of local charge on a radial mesh. 
RSMG  r 
lmf, lmfgwd 
Y  R/4  Smoothing radius for Gaussians added to sphere densities to correct multipole moments needed for electrostatics. Value should be as large as possible but small enough that the Gaussian doesn't spill out significantly beyond rmt. 
LFOCA  i 
FP  Y  1 
Prescribes how the core density is treated.

RFOCA  r 
FP  Y  R*0.4  Smoothing radius fitting tails of core density. A large radius produces smoother interstitial charge, but less accurate fit. 
RSMFA  r 
FP  Y  R/2  Smoothing radius for tails of freeatom charge density. Irrelevant except first iteration only (nonselfconsistent harris). A large radius produces smoother interstitial charge, but somewhat less accurate fit. 
RS3  r 
FP  Y  1  Minimum allowed smoothing radius for local orbital 
HCR  r 
lm  Y 
Hard sphere radii for structure constants *If token is not parsed, attempt to read the following: 

HCR/R  r 
lm  Y  0.7  Hard sphere radii for structure constants, in units of R 
ALPHA  r 
ASA  Y  Screening parameters for structure constants  
DV  r 
ASA  Y  0  Artificial constant potential shift added to spheres belonging to this species 
MIX  l 
ASA  Y  F  Set to suppress selfconsistency of classes in this species 
IDMOD  i 
ALL  Y  0 
0 : floats log derivative parameter P_{l} to band center of gravity 1 : freezes P_{l} 2 : freezes linearization energy E_{ν}. 
CSTRMX  l 
ALL  Y  F  Set to T to exclude this species when automatically resizing sphere radii 
GRP2  i 
ASA  Y  0 
Species with a common nonzero value of GRP2 are symmetrized, independent of
symmetry operations. The sign of GRP2 is used as a switch, so species with negative GRP2 are symmetrized but with spins flipped (NSPIN=2) 
FRZWF  l 
FP  Y  F  Set to freeze augmentation wave functions for this species 
IDU  i 
ALL  Y  0 0 0 0 
LDA+U mode: 0 No LDA+U 1 LDA+U with Around Mean Field limit double counting 2 LDA+U with Fully Localized Limit double counting 3 LDA+U with mixed double counting 
UH  r 
ALL  Y  0 0 0 0  Hubbard U for LDA+U 
JH  r 
ALL  Y  0 0 0 0  Exchange parameter J for LDA+U 
EREF=  r 
ALL  Y  0  Reference energy subtracted from total energy 
AMASS=  r 
FP  Y  Nuclear mass in a.u. (for dynamics)  
CHOLE  c 
lmf,lm  Y 
channel for core hole. You can force partial core occupation.
Syntax consists of two characters, the principal quantum number and
the second one of `s',`d',`d',`f' for the l quantum number, e.g. `2s'
See Partially occupied core holes for description and examples. Default: nothing  
CHQ  r[,r] 
ALL  Y  1 0 
First number specifies the number of electrons to remove from the l
channel specified by CHOLE=. Second (optional) number specifies the hole magnetic moment. See Partially occupied core holes for description and examples. 
P  r,r,... 
ALL  Y 
starting values for potential functions, one for each of l=0..LMXA
Default: taken from an internal table.  
PZ  r,r,... 
FP  Y  0  starting values for local orbital's potential functions, one for each of l=0..LMX. Setting PZ=0 for any l means that no local orbital is specified for this l. Each integer part of PZ must be either one less than P (semicore state) or one greater (highlying state). 
Q  r,r,... 
ALL  Y 
charges for each lchannel making up freeatom density
Default: taken from an internal table.  
MMOM  r,r,... 
ALL  Y  0  magnetic moments for each lchannel making up freeatom density Relevant only for the spinpolarized case. 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
RMAXS  r 
ALL  Y 
Radial cutoff for strux, in a.u. If token is not parsed, attempt to read the following: 

RMAX  r 
ALL  Y  0  the maximum sphere radius (in units of the average WSR) over which neighbors will be included in the generation of structure constants. This takes a default value and is not required input. It is an interesting exercise to see how much the structure constants and eigenvalues change when this radius is increased. 
NEIGHB  i 
FP  Y  30  Minimum number of neighbors in cluster 
ENV_MODE  i 
ALL  Y  0 
Type of envelope functions: 0 2nd generation 1 SSSW (3rd generation) 2 NMTO 3 SSSW and vallap basis 
ENV_NEL  i 
lm, lmstr 
Y  (NMTO only) Number of NMTO energies  
ENV_EL  r 
lm, lmstr 
N  0  SSSW of NMTO energies, in a.u. 
DELRX  r 
ASA  Y  3  Range of screened function beyond last site in cluster 
TOLG  r 
FP  Y  1e6  Tolerance in l=0 gaussians, which determines their range 
RVL/R  r 
ALL  Y  0.7  Radial cutoff for vallap basis (this is experimental) 
VLFUN  i 
ALL  Y  0 
Functions for vallap basis (this is experimental) 0 G0 + G1 1 G0 + Hsm 2 G0 + Hsmdot 
MXNBR  i 
ASA  Y  0  make lmstr allocate enough memory in dimensioning arrays for MXNBR neighbors in the neighbor table. This is rarely needed 
SHOW  l 
lmstr  Y  F  Show strux after generating them 
EQUIV  l 
lmstr  Y  F  if true, try to find equivalent neighbor tables, to reduce the computational effort in generating strux. Not generally recommended 
LMAXW  i 
lmstr  Y  1  lcutoff for (optional) Watson sphere, used to help localize strux 
DELRW  r 
lmstr  Y  0.1  range extending beyond cluster radius for Watson sphere 
IINV_NIT=  i 
lmstr  Y  0  Number of iterations 
IINV_NCUT  i 
lmstr  Y  0  Number of sites for inner block 
IINV_TOL  r 
lmstr  Y  0  Tolerance in errors 
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
BEGMOM  i 
ASA  Y  1  when true, causes program lm to begin with moments from which potential parameters are generated. If false, the potential parameters are used and the program proceeds directly to the band calculation. 
FREE  l 
ASA  Y  F  is intended to facilitate a selfconsistent freeatom calculation. When FREE is true, the program uses rmax=30 for the sphere radius rather than whatever rmax is passed to it; the boundary conditions at rmax are taken to be value=slope=0 (rmax=30 should be large enough that these boundary conditions are sufficiently close to that of a free atom.); subroutine atscpp does not calculate potential parameters or save anything to disk; and lm terminates after all the atoms have been calculated. 
CNTROL  l 
ASA  Y  F  When CONTRL=T, the parser attempts to read the ``continuously variable principal quantum numbers'' P and moments Q0,Q1,Q2 for each l channel; see P,Q below. 
ATOM  c 
ASA  Y  Class label. P,Q (and possibly other data) is given by class. Tokens following a class label and preceding the next class label belong to that class.  
ATOM_P= and ATOM_Q 
c 
ASA  Y 
Read ``continuously variable principal
quantum numbers'' for this
class (P=...), or energy
moments Q0,Q1,Q2 (Q=...). P
consists of one number per l
channel, Q of three numbers
(Q0,Q1,Q2) for each l.
*Note In spin polarized calculations, a second set of parameters must follow the first, and the moments should all be half of what they are in nonspin polarized calculations. In this sample input file for Si, P,Q is given as: ATOM=SI P=3.5 3.5 3.5 Q=1 0 0 2 0 0 0 0 0 ATOM=ES P=1.5 2.5 3.5 Q=.5 0 0 .5 0 0 0 0 0One electron is put in the Si s orbital, 2 in the p and none in the d, while 0.5 electrons are put in the s and p channels for the empty sphere. All first and second moments are zero. This rough guess produces a correspondingly rough potential. You do not have to supply information here for every class; but for classes you do, you must supply all of (P,Q0,Q1,Q2). Data read in START supersedes whatever may have read from disk. Remarks below provide further information about how P,Q is read and printed. 

RDVES  l 
ASA  Y  F  Read Ves(RMT) from the START category along with P,Q 
ATOM_ENU  r 
ASA  Y  Linearization energies 
The parser returns P,Q according the following priorities:
Alternatively, you may read these data from a restart file rsta.ext, which if it exists contains data for all classes in one file. The program wil not read this data by default; use rs=1 to have it read from the rsta file. To write class data to rsta, use rs=*,1 (* must be be 0 or 1).
If class data read from either of these sources, the input system returns it. For classes where none is available the parser will pick a default:
After a calculation finishes you can run lmctl to read P,Q from disk and format it in a form ready to insert into the START category. Thus all the information needed to generate a selfconsistent ASA calculation can be contained in the ctrl file.
When the sample Si test is run to selfconsistency, invoking lmctl will generate something like:
ATOM=SI P= 3.8303101 3.7074067 3.2545634 Q= 1.1694276 0.0000000 0.0297168 1.8803181 0.0000000 0.0489234 0.1742629 0.0000000 0.0063520 ATOM=ES P= 1.4162942 2.2521617 3.1546386 Q= 0.2873686 0.0000000 0.0129888 0.3485430 0.0000000 0.0165416 0.1400664 0.0000000 0.0055459Because the P's float to the band centerof gravity (i.e. center of gravity of the occupied states for a particular site and l channel) the corresponding first moments Q1 vanish. P's are floated by default since it minimizes the linearization error.
Go to Table of Contents
Token  Arguments  Program  Optional  Default  Explanation 
FILE  c 
ALL  Y 
provides a mechanism to read structural data from an independent file using alternate input styles.
If SITE is not present in the STRUC category, NBAS, PLAT and ALAT are read from the
ctrl file.
File subs/iosite.f documents the syntax of the file structure.
The first line should contain a '%' sign
and a `version' token vn=#. On the same line, supply tokens
nbas= and plat=, similar to the input file.
Following the header line comes a table of site positions other siterelated stuff. That table is not read in the STRUC category. To
read site data from this file, specify FILE in the SITE
category. # < alat # # # < plat(1,1) plat(2,1) plat(3,1) # # # < plat(1,2) plat(2,2) plat(3,2) # # # < plat(1,3) plat(2,3) plat(3,3) 

ALAT  r 
ALL  N  A scaling, in atomic units, of the primitive translation and basis vectors  
NBAS  i 
ALL  N  Size of the basis  
PLAT  r 
ALL  N  (dimensionless) primitive translation vectors  
NSPEC  i 
ALL  Y  Number of atom species  
DALAT  r 
ALL  Y  0  is added to ALAT. Useful because the average WignerSeitz radius W is computed from ALAT, so quantities scaled by W are fixed while ALAT varies. NB: this token is Not Particularly Useful for the ASA, since spheres must be spacefilling. 
NL=  i 
ALL  Y  3  Sets a global default value for lcutoffs l^{cut} : NL = [1 + l^{cut}]. This default is used for both the basis and augmentation cutoffs. 
SHEAR  r 
ALL  Y 
Enables shearing of the lattice in a volumeconserving
manner. For SHEAR=#1,#2,#3,#4, #4 is the distortion
amplitude, and #1,#2,#3 are a direction vector.
Example : SHEAR=0,0,1,0.01 This distorts a lattice in initially cubic symmetry to tetragonal symmetry, with 0.01 shear. 

ROT  c 
ALL  Y 
Rotates the lattice and basis vectors, and the symmetry
group operations by a unitary matrix.
Example : ROT=z:pi/4,y:pi/3,z:pi/2 generates a rotation matrix corresponding to the Euler angles α=π/4, β=π/3 γ=π/2. See rotations.html for the general syntax. *Note Lattice and basis vectors, and point group operations (SYMGRP) are all rotated. 

DEFGRD  r 
ALL  Y  A 3×3 matrix defining a general linear transformation of the lattice vectors.  
STRAIN  r 
ALL  Y  A sequence of six numbers defining a general distortion of the lattice vectors  
ALPHA  r 
ALL  N  Amount of Voigt strain 
Go to Table of Contents
Normally you don't need SYMGRP; the program is capable of finding its own symmetry operations. However, there are cases where it is useful or even necessary. For example when including spinorbit coupling or noncollinear magnetism where the symmetry group isn't specified by atomic positions alone. In this case you need to supply extra information.
You can use SYMGRP to explicitly declare a set of generators from which the entire group can be created. For example, the three operations R4X, MX and R3D are sufficient to generate all 48 elements of cubic symmetry. Unless conditions are set for noncollinear magnetism and/or SO coupling, the inversion is assumed by default as a consequence of timereversal symmetry^{†}.
A tag describing a generator for a point group operation has the form O(nx,ny,nz) where O is one of M, I or Rj, or E, for mirror, inversion jfold rotation and identity operation, respectively. nx,ny,nz are a triplet of indices specifying the axis of rotation. You may use X, Y, Z or D as shorthand for (1,0,0), (0,1,0), (0,0,1), and (1,1,1) respectively. You may also enter products of rotations, such as I*R4X.
Thus
SYMGRP R4X MX R3Dspecifies three generators (4fold rotation around x, mirror in x, 3fold rotation around (1,1,1)). Generating all possible combinations of these rotations will result in the 48 symmetry operations of the cube.
To suppress all symmetry operations, use
SYMGRP E
Fullpotential programs (e.g. lmf) do not make spherical approximations to the potential and require you to specify the full space group. The translation part is appended to the point group (rotation) in one of the following forms: `:(x1,x2,x3)' or alternatively `::(p1,p2,p3)' with the double `::'. The first defines the translation in Cartesian coordinates; the second as multiples of plat. These two lines (taken from testing/ctrl.cr3si6) are equivalent specifications:
SYMGRP r6z:(0,0,0.4778973) r2(1/2,sqrt(3)/2,0) SYMGRP r6z::(0,0,1/3) r2(1/2,sqrt(3)/2,0)
SYMGRP findamounts to the same as not including a SYMGRP category in the input at all. You can also specify a mix of generators you supply, and tell the program to find any others that might exist. For example,
SYMGRP r4x findspecifies that 4fold rotation be included, and `find' tells the program to look for any additional symops that might exist.
SYMGRP ... AFM::1/2,1/2,1/2This operation is used only by lmf.
`GRP2' averages the input density; `GRP2=2' averages the output density; `GRP2=3' averages both the input and the output density.
VERS LM:7It tells the input system that you have a v7 style input file.
For a particular program you need an additional token to tell the parser that this file is set up for that program. Thus your VERS category should read:
VERS LM:7 ASA:7 for lm, lmgf or lmpg VERS LM:7 FP:7 for lmf or lmfgwd VERS LM:7 MOL:3 for a molecules codes such as lmmc VERS LM:7 TB:9 for the empirical tightbinding tbe and so on.Add version control tokens for whatever programs your input file is capable of handling.
Go to Table of Contents
Category MIX controls the mixing scheme used in the iterations towards selfconsistency in the LM program. There is a choice between the Broyden and Anderson mixing schemes. Both schemes mix in linear combinations of the input and output density (recall that in the ASA, P's and Q's are enough to completely specify the density) both from the present iteration and prior iterations to accelerate convergence to selfconsistency (output = input). For Anderson mixing, the mixing beta controls how much output and how much input moment is used in the next estimate for the moments: Q* = beta*Qout + (1beta)*Qin. Here Qout and Qin are charges (that is, moments or densities), and the "charges" generated by the input "charge" for a sequence of prior iterations. For small systems, you can take beta close to one; for large systems charge sloshing becomes a problem and you have to do something different. Possible choices need to take beta much smaller. See slatsm/amix.f for a description of the Anderson mixing scheme, and how it chooses the linear combination of prior iterations in the mix. The syntax for Anderson mixing is MODE=A[,b=val] where the optional b=val assigns val to beta. Broyden mixing uses a more sophisticated procedure, in which it tries to build up the Hessian matrix. It usually works better but has more pitfalls than Anderson. As with Anderson, it uses linear mixing in the absence of prior iterations, Q* = beta*Qout + (1beta)*Qin. Broyden has an additional parameter, wc, that controls how much weight is given to prior iterations in the mix (see below). The syntax for Broyden mixing is MODE=B[,b=val][,wc=val] There are other switches available to handle more complex cases. You can change the name of the mixing file, kill the mixing file after a number of iterations, and change to a different set of mixing parameters after a specified number of iterations. The most general syntax is MODE=parmset1[;parmset2;parmset3...] Each parmset has a general syntax: A[nmix][,b=beta][,n=nit][,fn=fnam][,k=nkill][,w=w1,w2][,wa=wa][,bv=betv] or B[nmix][,b=beta][,wc=wc][,n=nit][,fn=fnam][,k=nkill][,w=w1,w2][,wa=wa][,bv=betv] (NB: additional parm [,r=rmscst] for constrained mixing) The optional parameters (b=, wc=, etc) may occur in any order. These parameters are as follows. Fortran routine parmxp.f parses the MODE line to read the parameters, and pqmix.f does the mixing. nmix: maximum number of prior iterations to include in the mix (the mixing file may contain more than nmix prior iterations.) NB: nmix=0 implies linear mixing. beta: the mixing beta (see above) betv: (when XIPMX=t): the Madelung potential as generated from the mixed moments is damped out. This is done by taking using instead of this potential V = (1betv) V_prior + betv V_rhomixed; see XIPMX below. nit: the number of iterations to use mix with this set of parameters before passing on to the next set. After the last set is exhausted, it starts over with the first set. fnam: change the mixing file name (mixm is the default). Must be four characters or fewer. nkill:kill mixing file after nkill iterations. This is occasionally helpful when the mixing runs out of steam, or when the mixing parameters change. wc: (Broyden only) that controls how much weight is given to prior iterations in estimating the Jacobian. wc=1 is fairly conservative. Choosing wc<0 assigns a floating value to wc, equal to wcinput/rmserr. This increases wc as the error becomes small. w1,w2 (spinpolarized calculations only) pqmix mixes the sum (up+down) and difference (updown) of the two spin channels. They are weighted by w1 and w2 in the mixing, more heavily emphasizing the more heavily weighted. As special cases, w1=0 freezes the charge and mixes the magnetic moments only w2=0 freezes the moments and mixes the charge only wa: weight for extra quantities included with P,Q in the mixing procedure. For noncollinear magnetism, includes the Euler angles. For nonspherical density, includes the qpp. As special cases, any one or two of w1,w2 and wa may be zero. A zero weight freezes the values corresponding to those weights. Example: MODE=B30,n=8,w=2,1,fn=mxm,wc=11,k=3;A2,b=1 does 8 iterations of Broyden mixing, followed by Anderson mixing The Broyden iterations weight the (up+down) double that of (updown) for the spin pol case, and iterations are saved in a file which is deleted at the end of every third iteration. WC is 11. beta assumes the default value. The Anderson iterations mix two prior iterations with beta of 1.Back to ITER
Go to Table of Contents