ABINIT, developper input variables:
List and description.
This document lists and provides the description
of the name (keywords) of the input
variables "for developpers" to be used in the
main input file of the abinit code.
Content of the file : alphabetical list of developper variables.
A.
B.
builtintest
C.
cgtyphf
D.
densfor_pred
densty
dmft_dc
dmft_entropy
dmft_iter
dmft_mxsf
dmft_nlambda
dmft_nwli
dmft_nwlo
dmft_read_occnd
dmft_rslf
dmft_solv
dmft_t2g
dmft_tolfreq
dmft_tollc
dmftbandf
dmftbandi
dmftcheck
dmftctqmc_basis
dmftctqmc_check
dmftctqmc_correl
dmftctqmc_gmove
dmftctqmc_grnns
dmftctqmc_meas
dmftctqmc_mov
dmftctqmc_mrka
dmftctqmc_order
dmftctqmc_triqs_nleg
dmftqmc_l
dmftqmc_n
dmftqmc_seed
dmftqmc_therm
E.
effmass
eshift
exchmix
exchn2n3d
extrapwf
F.
fermie_nest
fftalg
fftcache
G.
getgam_eig2nkq
getwfkfine
H.
I.
intxc
iomode
iprcfc
irandom
irdvdw
irdwfkfine
isecur
istatr
istatshft
istwfk
J.
K.
L.
lotf_classic
lotf_nitex
lotf_nneigx
lotf_version
M.
macro_uj
maxnsym
mem_test
mqgrid
N.
nbdblock
nc_xccc_gspace
nctime
nloc_alg
nloc_mem
nnsclo
nnsclohf
normpawu
npulayit
nscforder
O.
optforces
optnlxccc
ortalg
P.
papiopt
pawprt_b
pawprt_k
pawujat
pawujrad
pawujv
plowan_bandf
plowan_bandi
plowan_compute
plowan_iatom
plowan_it
plowan_lcalc
plowan_natom
plowan_nbl
plowan_nt
plowan_projcalc
plowan_realspace
prepscphon
prtbltztrp
prtcif
prtdipole
prtnest
prtposcar
prtvdw
Q.
R.
recefermi
recgratio
recnpath
recnrec
recptrott
recrcut
rectesteg
rectolden
S.
symmorphi
T.
tfkinfunc
tfw_toldfe
tolrde
U.
use_gemm_nonlop
use_nonscf_gkk
usedmft
useria
userib
useric
userid
userie
userra
userrb
userrc
userrd
userre
useylm
V.
vdw_df_acutmin
vdw_df_aratio
vdw_df_damax
vdw_df_damin
vdw_df_dcut
vdw_df_dratio
vdw_df_dsoft
vdw_df_gcut
vdw_df_ndpts
vdw_df_ngpts
vdw_df_nqpts
vdw_df_nrpts
vdw_df_nsmooth
vdw_df_phisoft
vdw_df_qcut
vdw_df_qratio
vdw_df_rcut
vdw_df_rsoft
vdw_df_threshold
vdw_df_tolerance
vdw_df_tweaks
vdw_df_zab
vdw_nfrag
vdw_supercell
vdw_tol
vdw_tol_3bt
vdw_typfrag
vdw_xc
W.
wfoptalg
X.
xc_denpos
xc_tb09_c
builtintest
Mnemonics: BUITIN TEST number
Characteristic: DEVELOP
Variable type: integer
Default is 0
When builtintest is nonzero, the input file is a special one, that runs very quickly,
and that is accompanied by a specific analysis by ABINIT, at the end of the run, against
a hardcoded value of total energy (and possibly stresses, forces ...).
The echo of the analysis is done in the STATUS file.
In particular, such builtin tests can be used to check quickly
whether ABINIT fallbacks have been connected or not (bigdft, etsf_io, libxc, wannier90).
At present, builtintest=1 ... 7 are allowed. See more information in tests/builtin/README .
Go to the top
 Complete list of input variables
cgtyphf
Mnemonics: Conjugate Gradient TYpe used for Hartree Fock exact exchange
Characteristic: DEVELOP
Variable type: integer
Default is 2 if usefock == 1,
0 otherwise.
Gives how is calculated Fock exact exchange contribution in the conjugate gradient,
in the SCF case.
The value 2 corresponds to calculate the Fock
exact exchange contribution each time in the conjugate gradient. The value 1 corresponds to calculate the Fock
exact exchange contribution only for the initial guess (not for the gradient direction) in the conjugate gradient
Go to the top
 Complete list of input variables
densfor_pred
Mnemonics: DENSity and FORces PREDictor
Characteristic: DEVELOP
Variable type: integer
Default is 3 if ionmov==4 and iscf==5,
6 if paral_kgb==1,
2 otherwise.
Only relevant if iscf >0
Used when iscf>0, to define:
 the way a change of density is derived from a change of atomic position,
 the way forces are corrected when the SCF cycle is not converged.
Supported values :

0 => density not changed (fixed charge), forces not corrected

1 => density not changed, forces corrected with rigid ion hypothesis (atomic charge moved with atom)

2 => density changed and forces corrected with rigid ion hypothesis (atomic charge moves with atom)

3 => density changed and forces corrected with a different implementation of the rigid ion hypothesis

4 => density not changed, forces corrected with the use of Harris functional formula (*)

5 => density changed using D. Alfe 2ndorder algorithm (**), forces not corrected

6 => density changed using D. Alfe 2ndorder algorithm (**) and forces corrected with the use of Harris functional formula (*)
No meaning for RF calculations.
For the time being,
 the choice 3 must be used with ionmov=4
and iscf=5.
 the choices 4, 5 or 6 must be used when bandFFT parallelism is selected.
Otherwise, use the choice 2.
(*)
Note concerning the use of densfor_pred=4 or 6 (correction of forces)
:
The force on the atom located at R is corrected by the addition of the following term:
F_residual=Int[dr.V_residual.dRho_atomic/dR]
, where Rho_atomic is an atomic (spherical) density.
 When such an atomic density (Rho_atomic) is found in the pseudopotential or PAW file, it is used. If not, a gaussian density
(defined by densty parameter) is used.
 When SCF mixing is done on the density (iscf>=10), the potential residual (V_residual)
is obtained from the density residual with the first order formula
V_residual=dV/drho.Rho_residual
and uses the exchangecorrelation kernel
dVxc/drho=Kxc
which computation is timeconsuming for GGA functionals.
By default the LDA exchangecorrelation kernel is used (even for GGA, for which it seems to give a reasonable accuracy).
Using the exact GGA exchange correlation kernel is always possible by giving a negative value to densfor_pred.
(**)
Note concerning the use of densfor_pred=5 or 6 (density prediction)
:
The algorithm is described in
Computer Physics Communications
118
(1999) 3133
.
It uses an atomic (spherical) density. When such an atomic density is found in the pseudopotential or PAW file, it is used. If not, a gaussian density
(defined by densty parameter) is used.
Also note that, to be efficient, this algorithm requires a minimum convergence of the SCF cycle;
Typically, vres2 (or nres2) has to be small enough (10
^{
4
}
...10
^{
5
}
).
Go to the top
 Complete list of input variables
densty
Mnemonics: initial DENSity for each TYpe of atom
Characteristic: DEVELOP
Variable type: real(ntypat)
Default is 0.0
Gives a rough description
of the initial GS density, for each type of atom.
This value is only used to create
the first exchange and correlation potential,
and is not used anymore afterwards.
For the time being, it corresponds to an average
radius (a.u.) of the density, and is used to generate
a gaussian density. If set to 0.0d0, an optimized value is used.
No meaning for RF calculations.
Go to the top
 Complete list of input variables
dmft_dc
Mnemonics: Dynamical Mean Fied Theory: Double Counting
Characteristic: DEVELOP
Variable type: integer
Default is 1
Value of double counting used for DMFT. Only value 1 is activated for the moment and is the FLL double counting.
Go to the top
 Complete list of input variables
dmft_entropy
Mnemonics: Dynamical Mean Fied Theory: ENTROPY
Characteristic:
Variable type: integer
Default is 0
Only relevant if usedmft==1 and dmft_solv==5
If 1, enable the calculation of the entropy within the DMFT framework and so allows the calculation of the total energy (free energy).
In the current implementation, this is only possible with dmft_solv=5 (Continuous Time Quantum Monte Carlo).
See also the input variable dmft_nlambda.
Go to the top
 Complete list of input variables
dmft_iter
Mnemonics: Dynamical Mean Fied Theory: number of ITERation
Characteristic: DEVELOP
Variable type: integer
Default is 0
Number of iterations for the DMFT inner loop.
Go to the top
 Complete list of input variables
dmft_mxsf
Mnemonics: Dynamical Mean Fied Theory: MiXing parameter for the SelF energy
Characteristic: DEVELOP
Variable type: real
Default is 0.3
Mixing parameter for the simple mixing of the selfenergy.
Go to the top
 Complete list of input variables
dmft_nlambda
Mnemonics: Dynamical Mean Fied Theory: Number of LAMBDA points
Characteristic: DEVELOP
Variable type: integer
Default is 6
Only relevant if usedmft==1 and dmft_entropy==1
dmft_nlambda gives the number of integration points for the thermodynamical integration in case of free energy calculation within DMFT.
Its value must be greater or equal to 3.
Go to the top
 Complete list of input variables
dmft_nwli
Mnemonics: Dynamical Mean Fied Theory: Number of frequency omega (W) in the LInear mesh
Characteristic: DEVELOP
Variable type: integer
Default is 0
Number of Matsubara frequencies (linear mesh)
Go to the top
 Complete list of input variables
dmft_nwlo
Mnemonics: Dynamical Mean Fied Theory: Number of frequency omega (W) in the log mesh
Characteristic: DEVELOP
Variable type: integer
Default is 0
Number of frequencies in the log mesh.
Go to the top
 Complete list of input variables
dmft_read_occnd
Mnemonics: Dynamical Mean Fied Theory: Read Occupations (Non Diagonal)
Characteristic: DEVELOP
Variable type: integer
Default is 0
Flag to read/write Occupations as computed in DMFT. This flag is useful
to restart a DFT+DMFT calculation with selfconsistency over electronic density.
The occupations are written each time a DMFT loop is finished. So if the calculation stops
because the time limit is reached, this option offers the possibility to restart the selfconsistent loop
over density at the point where it stopped (assuming a restart with the wave functions, see getwfk).

0=> Occupations are written but never read.

1=> Occupations are read from I_DMFTOCCND, where I is the root for input files.

2=> Occupations are read from O_DMFTOCCND, where O is the root for output files.
An alternative and more simple way to restart a DFT+DMFT calculation is to use the density file (obtained with prtden=1
or prtden=1) and the selfenergy (see dmft_rslf).
Go to the top
 Complete list of input variables
dmft_rslf
Mnemonics: Dynamical Mean Fied Theory: Read SeLF energy
Characteristic: DEVELOP
Variable type: integer
Default is 0
Flag to read/write SelfEnergy. If put to one, selfenergy is written and read at each DFT iteration.
Go to the top
 Complete list of input variables
dmft_solv
Mnemonics: Dynamical Mean Fied Theory: choice of SOLVer
Characteristic: DEVELOP
Variable type: real
Default is 5
Choice of solver for the Impurity model.

0=> No solver and U=0, J=0 (see upawu and jpawu).

1=> LDA+U selfenergy is used (for testing purpose)

2=> Hubbard one solver. The Hubbard one solver is an approximation which gives a rough description of correlated Mott insulators. It should not be used for metals.

5=> Use the Continuous Time Quantum Monte Carlo (CTQMC) solver CTHyb of ABINIT
in the density density representation,
CTQMC calculations are much more time consuming that Hubbard I calculations. Nevertheless, the calculation is fully parallelised.

6=> Continuous Time Quantum Monte Carlo (CTQMC) solver CTHyb of TRIQS
in the density density representation.

7=> Continuous Time Quantum Monte Carlo (CTQMC) solver CTHyb of TRIQS
with the rotationally invariant formulation.
The CT Hyb algorithm is described in
Phys. Rev. Lett 97, 076405, (2006) .
For a discussion of densitydensity approximation with respect
with the rotationnally invariant formulation, see e.g.
Phys. Rev. B 86, 155107 (2012)
.
The ABINIT/CT Hyb implementation is discussed in
http://dx.doi.org/10.1016/j.cpc.2016.04.003 .
The TRIQS/CT Hyb implementation is described in
Comp. Phys. Comm. 200, 274 (2016)
. Before using it, it has to be installed following
instructions at https://triqs.ipht.cnrs.fr/1.3/applications/cthyb/install.html.
The current interface is valid for TRIQS 1.3 and TRIQS/CTHYB 1.3.
See the useful variables for CTQMC solver :
dmftctqmc_basis,
dmftctqmc_check,
dmftctqmc_correl,
dmftctqmc_gmove,
dmftctqmc_grnns,
dmftctqmc_meas,
dmftctqmc_mrka,
dmftctqmc_mov,
dmftctqmc_order,
dmftctqmc_triqs_nleg,
dmftqmc_l,
dmftqmc_n,
dmftqmc_seed,
dmftqmc_therm
Go to the top
 Complete list of input variables
dmft_t2g
Mnemonics: Dynamical Mean Fied Theory: t2g orbitals
Characteristic: DEVELOP
Variable type: integer
Default is 0
Can be set to 1 only if in cubic symmetry. It enables one to carry a DFT+DMFT calculations only on t2g orbitals.
Go to the top
 Complete list of input variables
dmft_tolfreq
Mnemonics: Dynamical Mean Fied Theory: Tolerance on LDA correlated electron occupation matrix for the definition of the frequency grid
Characteristic: DEVELOP
Variable type: real
Default is 0.0001
The LDA occupation matrix for correlated electrons can be computed directly. It can be compared to the calculation of the same quantity using LDA Green's function, a sum over Matsubara frequencies and
a projection over correlated orbitals.
Because the Matsubara grid is finite, the two quantities differ. If this difference is larger than dmft_tolfreq, then the code stops and an error message is given.
Go to the top
 Complete list of input variables
dmft_tollc
Mnemonics: Dynamical Mean Fied Theory: Tolerance on Local Charge for convergence of the DMFT loop
Characteristic: DEVELOP
Variable type: real
Default is 1e05
Tolerance for the variation of Local Charge during iterations of the DMFT Loop.
The default value is good for fast calculations. However, to obtain good convergence of the DFT Loop,
the DMFT Loop needs a better convergence criterion.
Go to the top
 Complete list of input variables
dmftbandf
Mnemonics: Dynamical Mean Field Theory: BAND: Final
Characteristic: DEVELOP
Variable type: integer
Default is 0
dmftbandf is the last band taken into account in the Projected Local
Orbitals scheme of DFT+DMFT. With dmftbandi, they define the energy window used to define Wannier Functions.
(see Amadon, B., Lechermann, F., Georges, A., Jollet, F., Wehling, T. O., and Lichtenstein, A. I. Phys. Rev. B 77(20), (2008).)
Go to the top
 Complete list of input variables
dmftbandi
Mnemonics: Dynamical Mean Field Theory: BAND: Initial
Characteristic: DEVELOP
Variable type: integer
Default is 0
dmftbandi is the first band taken into account in the Projected Local
Orbitals scheme of LDA+DMFT. With dmftbandf, they define the energy window used to define Wannier Functions.
(see Amadon, B., Lechermann, F., Georges, A., Jollet, F., Wehling, T. O., and Lichtenstein, A. I. Phys. Rev. B 77(20), (2008).)
Go to the top
 Complete list of input variables
dmftcheck
Mnemonics: Dynamical Mean Fied Theory: CHECKs
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only for developer purposes.
(Introduced by B. Amadon, v6.1.0)
Go to the top
 Complete list of input variables
dmftctqmc_basis
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo basis
Characteristic: DEVELOP
Variable type: integer
Default is 1
Only relevant if dmft_solv==5
Choose the basis to perform CTQMC calculation.

0=> Use the local basis in the spherical harmonics basis. Can be useful if the Hamiltonian has weak off diagonal terms
and for this reason, one want to keep the original basis for simplicity and for physical insight.

1=> Default value, diagonalize the local Hamiltonian (but only if it is not diagonal). The best choice in general.

2=> Diagonalise the local correlated occupation matrix. Can lead to non diagonal Hamiltonian that
cannot be handled by CTQMC. This option should be thus avoided.
Go to the top
 Complete list of input variables
dmftctqmc_check
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo check
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Check the fast calculations during the Monte Carlo simulation with very slow but robust methods.
Should only be used for debugging.

0=> No check.

1=> Check the overlap calculations (Impurity operator).

2=> Check the update of M matrix calculation (Bath operator).

3=> Check both.
Go to the top
 Complete list of input variables
dmftctqmc_correl
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo CORRelations
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Flag to compute statistics about segments and antisegments during the simulation.
Slow down the simulation.

0=> Nothing done

1=> Calculations performed and written in "Correlation.dat" file
Go to the top
 Complete list of input variables
dmftctqmc_gmove
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo Global MOVEs
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Default is no global moves.
The value of this variable is the modulo used to try a global move.
A value of 5000 means that a global move is tried every 5000 Monte Carlo sweep.
Go to the top
 Complete list of input variables
dmftctqmc_grnns
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo GReeNs NoiSe
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Compute the statistical noise for each time slice of each green function.
This is a good approximation only if there is enough Monte Carlo sweeps per cpu.

0=> Nothing

1=> Do it and write the noise in the "Gtau.dat" file.
Go to the top
 Complete list of input variables
dmftctqmc_meas
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo MEASurements
Characteristic: DEVELOP
Variable type: integer
Default is 1
Only relevant if dmft_solv==5
The modulo used to measure the interaction energy and the number of electrons.
Example : 2 means the measure is perform every two sweeps.
Go to the top
 Complete list of input variables
dmftctqmc_mov
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo MOVie
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Print a latex file per cpu displaying the full simulation.
This option should only be use with very small number (<1000) of Monte Carlo sweeps since it requires a lot of I/O band width.

0=> Nothing

1=> Write the "Movie_id.dat" file where id is the MPI rank of each process
Go to the top
 Complete list of input variables
dmftctqmc_mrka
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo MARKov Analysis
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Measure the time evolution of the number of electrons for each orbital and perform a fourier transform.
The result can be plotted using the "Markov_id.dat" file

0=> Nothing

1=> Do it and write the noise in the "Markov_id.dat" file where id is the rank of each MPI process.
Go to the top
 Complete list of input variables
dmftctqmc_order
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo perturbation ORDER
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv==5
Print a file containing the statistic distribution of the number of segments per orbital.
The maximal order taken into account dmftctqmc_order : 50 means that we have the statistic distribution from 0 to 50 segments.
The result is written in the "Perturbation.dat" file.
Go to the top
 Complete list of input variables
dmftctqmc_triqs_nleg
Mnemonics: Dynamical Mean Fied Theory: Continuous Time Quantum Monte Carlo perturbation of TRIQS, Number of LEGendre polynomials
Characteristic: DEVELOP
Variable type: integer
Default is 30
Only relevant if dmft_solv==6 or 7
Specify the number of Legendre polynomials used for the calculation of Green's function in CTQMC code from the library TRIQS.
Default is 30. The value of coefficients are given in file whose name ending is "Legendre_coefficient.dat".
(see also Phys. Rev. B 84, 075145 (2010))
Go to the top
 Complete list of input variables
dmftqmc_l
Mnemonics: Dynamical Mean Fied Theory: Quantum Monte Carlo time sLices
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if dmft_solv>=4
Number of time slices used to represent the time green function.
This value should be carefully chosen according to Niquist frequency and the tsmear value.
Go to the top
 Complete list of input variables
dmftqmc_n
Mnemonics: Dynamical Mean Fied Theory: Quantum Monte Carlo sweeps
Characteristic: DEVELOP
Variable type: real
Default is 0.0
Only relevant if dmft_solv>=4
Number of Monte Carlo sweeps. Should be at least 10^6.
Go to the top
 Complete list of input variables
dmftqmc_seed
Mnemonics: Dynamical Mean Fied Theory: Quantum Monte Carlo seed
Characteristic: DEVELOP
Variable type: integer
Default is jdtset
Only relevant if dmft_solv>=4
Seed to initilize the random number generator.
Should not be relevant except for testing purpose.
NOTE : If the CTQMC (dmft_solv=5) is used on many CPUs, each CPU initializes its random number generator with dmftqmc_seed+rank where rank is the rank of the cpu in the MPI communicator.
Go to the top
 Complete list of input variables
dmftqmc_therm
Mnemonics: Dynamical Mean Fied Theory: Quantum Monte Carlo THERMalization
Characteristic: DEVELOP
Variable type: integer
Default is 1000
Only relevant if dmft_solv==5
Number of Monte Carlo sweeps for the thermalization
Go to the top
 Complete list of input variables
effmass
Mnemonics: EFFective MASS
Characteristic: DEVELOP
Variable type: real
Default is 1
This parameter allows to change the electron mass, with respect to its
experimental value.
Go to the top
 Complete list of input variables
eshift
Mnemonics: Energy SHIFT
Characteristic: DEVELOP, ENERGY
Variable type: real
Default is 0
Only relevant if wfoptalg==3
eshift gives the shift of the energy used in the
shifted Hamiltonian squared.
The algorithm will determine eigenvalues and eigenvectors centered
on eshift.
Can be specified in Ha (the default), Ry, eV or Kelvin, since
ecut
has the
'ENERGY' characteristics.
(1 Ha=27.2113845 eV)
Go to the top
 Complete list of input variables
exchmix
Mnemonics: EXCHange MIXing
Characteristic: DEVELOP
Variable type: real
Default is 0.25
Only relevant if useexexch == 1
exchmix allows to tune the ratio of exact exchange when
useexexch is used. The default value of 0.25 corresponds to PBE0.
Go to the top
 Complete list of input variables
exchn2n3d
Mnemonics: EXCHange N2 and N3 Dimensions
Characteristic: DEVELOP
Variable type: integer
Default is 0
If exchn2n3d is 1, the internal representation of the FFT arrays
in reciprocal space will be array(n1,n3,n2), where the second and
third dimensions have been switched. This is to allow to be coherent with the
exchn2n3d=4xx FFT treatment.
Go to the top
 Complete list of input variables
extrapwf
Mnemonics: flag  EXTRAPolation of the WaveFunctions
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if densfor_pred==5 or densfor_pred==6
This flag activates the extrapolation of wavefunctions from one Molecular Dynamics (or Structural Relaxation) step to another.
The wave functions are extrapolated using 2ndorder algorithm of Arias, Payne and Joannopoulos
(PRB 45, 1538 (1992)).
Note that, when activated, this extrapolation requires nonnegligible additional memory resources
as the wave functions are stored for the two previous time steps. Also, it can only be activated
if a consistent density extrapolation is activated (see densfor_pred).
ABINIT 7.10: this option is under development and might give wrong results.
Go to the top
 Complete list of input variables
fermie_nest
Mnemonics: FERMI Energy for printing the NESTing function
Characteristic:
Variable type: real
Default is 0
This input variable is only effective when prtnest=1. The energy is relative to the calculated fermi energy.
Go to the top
 Complete list of input variables
fftalg
Mnemonics: Fast Fourier Transform ALGorithm
Characteristic: DEVELOP
Variable type: integer
Default is 312 if FFTW3 and usedmft==0,
401 if paral_kgb==1,
112 otherwise.
This keyword is
irrelevant
when Fast Fourier Transforms are done using
Graphics Processing Units
(GPU),
i.e. when use_gpu_cuda=1 (in that case, it is ignored).
Allows to choose the algorithm
for Fast Fourier Transforms. These have to be used
when applied to wavefunctions (routine fourwf.F90),
as well as when
applied to densities and potentials (routine fourdp.F90).
Presently, it is the concatenation of three digits,
labelled (A), (B) and (C).
The first digit (A) is to be chosen among 1, 2, 3 and 4 :

1=> use FFT routines written by S. Goedecker.

2=> not available anymore

3=> use serial or multithreaded FFTW3 fortran routines (
http://www.fftw.org
).
Currently implemented with fftalg=312.

4=> use FFT routines written by S. Goedecker, 2002 version, that will
be suited for MPI and OpenMP parallelism.

5=> use serial or multithreaded MKL routines
Currently implemented with fftalg=512.
The second digit (B) is related to fourdp.f :

0=> only use Complextocomplex FFT

1=> realtocomplex is also allowed (only coded for A==1, A==3 and A==5)
The third digit (C) is related to fourwf.f :

0=> no use of zero padding

1=> use of zero padding (only coded for A==1, A==4)

2=> use of zero padding, and also combines actual
FFT operations (using 2 routines from S. Goedecker)
with important pre and postprocessing
operations, in order to maximize cache data reuse.
This is very efficient for cache architectures.
(coded for A==1 and A==4, but A==4 is not yet sufficiently tested)
Internal representation as ngfft(7).
Go to the top
 Complete list of input variables
fftcache
Mnemonics: Fast Fourier Transform CACHE size
Characteristic: DEVELOP
Variable type: integer
Default is 16 (Comment: todo: Not yet machinedependent)
Gives the cache size of the current
machine, in Kbytes.
Internal representation as ngfft(8).
Go to the top
 Complete list of input variables
getgam_eig2nkq
Mnemonics: GET the GAMma phonon data EIG2NKQ from dataset
Characteristic:
Variable type: integer
Default is 0
Only relevant if ieig2rf != 0 and qpt != (0.0,0.0,0.0)
Relevant for secondorder
eigenvalue calculations using responsefunctions (ieig2rf != 0), and only
for nonzero wavevectors qpt.
From the electronphonon matrix elements at some wavevector only, it is not possible to determine the DebyeWaller contribution : one has to know also the q=Gamma electronphonon matrix elements.
The variable getgam_eig2nkq allows to transmit the information about the secondorder derivatives of the
eigenvalues for q=Gamma from the dataset where the calculation at Gamma was done, to the datasets
for other wavevectors.
Go to the top
 Complete list of input variables
getwfkfine
Mnemonics: GET the fine grid wavefunctions from _WFK file
Characteristic:
Variable type: integer
Default is 0
Eventually used when ndtset>0
(in the multidataset mode), to indicate
starting wavefunctions, as an alternative to
irdwfkfine. One should first read the
explanations given for these latter variables.
The getwfkfine variables is typically used to chain the calculations
in the multidataset mode, since they describe from which dataset the OUTPUT
wavefunctions are to be taken, as INPUT wavefunctions
of the present dataset.
If getwfkfine==0, no use of previously computed output
wavefunction file appended with _DSx_WFK is done.
If getwfkfine is positive, its value gives the index of the dataset
for which the output wavefunction file appended with _WFK
must be used.
If getwfkfine is 1, the output wf file with _WFK
of the previous dataset must be taken,
which is a frequently occurring case.
If getwfkfine is a negative number, it indicates the number
of datasets to go backward to find the needed wavefunction file.
In this case, if one refers to a non existent data set (prior
to the first), the wavefunctions are not initialised from
a disk file, so that it is as if getwfkfine=0 for that
initialisation.
Thanks to this rule, the use of getwfkfine 1 is rather
straightforward : except for the first wavefunctions, that
are not initialized by reading a disk file, the output
wavefunction of one dataset is input of the next one.
NOTE : a negative value of a "get" variable indicates the number of datasets to go backwards;
it is not the number to be subtracted from the current dataset to find the proper dataset.
As an example :
ndtset 3 jdtset 1 2 4 getXXX 1
refers to dataset 2 when dataset 4 is initialized.
Responsefunction calculation :

one and only one of getwfkfine or irdwfkfine MUST be nonzero

if getwfkfine = 1 : read ground state k wavefunctions
from a disk file appended with _WFK , produced in a
previous ground state calculation (see the
section 4
of abinit_help).

Reading the fine grid wavefunction will trigger the kpoints interpolation technique of the temperature dependent
calculations.
BetheSalpeter calculation :

one and only one of getwfkfine or irdwfkfine MUST be nonzero

if getwfkfine = 1 : read ground state k wavefunctions
from a disk file appended with _WFK , produced in a
previous ground state calculation (see the
section 4
of abinit_help).

This variable or irdwfkfine is mandatory when bs_interp_mode == 1
This variable is experimental. In development.
Go to the top
 Complete list of input variables
intxc
Mnemonics: INTerpolation for eXchangeCorrelation
Characteristic: DEVELOP
Variable type: integer
Default is 0

0=> do "usual" xc quadrature on fft grid

1=> do higher accuracy xc quadrature using fft grid
and additional points at the centers of each cube
(doubles number of grid points)the high accuracy version
is only valid for boxcut>=2. If boxcut < 2, the code stops.
For RF calculations only intxc=0 is allowed yet. Moreover,
the GS preparation runs (giving the density file and zeroorder
wavefunctions) must be done with intxc=0
Prior to ABINITv2.3, the choice intxc=1 was favoured (it was the default),
but the continuation of the development of the code lead to prefer
the default intxc=0 . Indeed, the benefit of intxc=1 is
rather small, while making it available for all cases is a
nonnegligible development effort. Other targets are prioritary...
You will notice that many automatic tests use intxc=1. Please,
do not follow this historical choice for your production runs.
Go to the top
 Complete list of input variables
iomode
Mnemonics: IO MODE
Characteristic: DEVELOP
Variable type: integer
Default is 1 if MPI_IO and paral_kgb==1,
0 otherwise.
This option selects the format used to produce the output wavefunction files and the files containing
densities and potentials. It mainly affects the creation of the output files since several parts
of Abinit are able to read data from files independently of their format (either binary files or netcdf files).
The possible values are:

0 => Use standard Fortran IO (ok for sequential runs, not suitable for large parallel runs)

1 => Use MPI/IO routines (ok both for sequential and large parallel runs)

3 => Use NetCDF library to produce files according to the ETSF specification
(ok for sequential, requires netcdf4 + hdf5 + MPIIO support for large parallel runs)
By default, Abinit produces Fortran files and uses parallel MPIIO under the hood when these
operations cannot be implemented in terms of simple Fortran write/read statements.
For example, paral_kgb=1 uses the MPIIO API provided by your MPI library.
In a nutshell, use the default value and make sure that your MPI library supports MPIIO
before embarking yourself in large parallel runs (HAVE_MPI_IO should be set to 1 in ~abinit/config.h).
Many MPI libraries, nowadays, support the MPI2 standard so it's very likely that your MPI supports
parallel IO. If you encounter problems, please ask your sysadmin to install a MPI library
with MPIIO capabilities.
There are cases, however, in which you would like to change the default behaviour.
For example, you may want to generate WFK or DEN files in etsfio format because you need
data in this format.
In this case, you have to use iomode==3 in the input file to override the default behaviour.
Note however that you still need parallel IO capabilities enabled in the netcdf library
if you want to produce netcdf files in parallel with paral_kgb=1 (i.e. netcdf4 + hdf5 + MPIIO).
At present, the internal fallbacks provided by Abinit do not support netcdf4 so you
have to link against an external netcdf library that supports hdf5+MPIIO and
is compatible with the mpif90 used to compile Abinit.
See ~abinit/doc/build/configexamples/ubu_gnu_4.9_mpich.ac for a typical configuration file.
References:

"Specification of an extensible and portable file format for electronic structure and crystallographic data",
X. Gonze, C.O. Almbladh, A. Cucca, D. Caliste, C. Freysoldt, M. Marques, V. Olevano, Y. Pouillon,
M.J. Verstraete, Comput. Mat. Science 43, 1056 (2008)

"Sharing electronic structure and crystallographic data with ETSF_IO",
D. Caliste, Y. Pouillon, M.J. Verstraete, V. Olevano, X. Gonze,
Comput. Physics Communications 179, 748 (2008)

see also
http://www.etsf.eu/fileformats
.
Go to the top
 Complete list of input variables
iprcfc
Mnemonics: Integer for PReConditioner of Force Constants
Characteristic: DEVELOP
Variable type: integer
Default is 0
Used when iscf>0, to define the SCF preconditioning scheme.
Potentialbased preconditioning schemes for the SCF loop
are still under development.
The present parameter (force constant part)
describes the way a change of force
is derived from a change of atomic position.
Supported values :

0 => hessian is the identity matrix

1 => hessian is 0.5 times the identity matrix

2 => hessian is 0.25 times the identity matrix

1=> hessian is twice the identity matrix

... (simply corresponding power of 2 times the identity matrix)
No meaning for RF calculations.
Go to the top
 Complete list of input variables
irandom
Mnemonics: Integer for the choice of the RANDOM number generator
Characteristic: DEVELOP
Variable type: integer
Default is 3
For the time being, only used when imgmov=9
(Langevin PathIntegral Molecular Dynamics).
irandom defines the random number generator.
Supported values :

1 => "uniformrandom", delivered with ABINIT package (initially comes from numerical recipes).

2 => intrinsic Fortran 90 random number generator.

3 => "ZBQ" nondeterministic random number generator by R. Chandler and P. Northrop.
(Available at ).
irandom=3 is strongly advised when performing Molecular Dynamics restarts (avoids bias).
Go to the top
 Complete list of input variables
irdvdw
Mnemonics: Integer that governs the ReaDing of _VDW files
Characteristic: DEVELOP
Variable type: integer
Default is 0
Used when vdw_xc>0,
to read previously calculated vdWDF variables.
Supported values:

0 => do not read vdWDF variables

1 => read vdWDF variables
Go to the top
 Complete list of input variables
irdwfkfine
Mnemonics: Integer that governs the ReaDing of the fine grid _WFK files
Characteristic:
Variable type: integer
Default is 0
Indicates eventual starting
wavefunctions. As alternative, one can use the
input variables getwfkfine.
Groundstate calculation :

only irdwfkfine and getwfkfine have a meaning

at most one of irdwfkfine or getwfkfine can be nonzero

if irdwfkfine = 1 : read ground state wavefunctions
from a disk file appended with _WFK , produced in a
previous ground state fine grid calculation (see the
section 4
of abinit_help).
Responsefunction calculation :

one and only one of irdwfkfine or getwfkfine MUST be nonzero

if irdwfkfine = 1 : read ground state k wavefunctions
from a disk file appended with _WFK , produced in a
previous ground state calculation (see the
section 4
of abinit_help).

Reading the fine grid wavefunction will trigger the kpoints interpolation technique of the temperature dependent
calculations.
BetheSalpeter calculation :

one and only one of irdwfkfine or getwfkfine MUST be nonzero

if irdwfkfine = 1 : read ground state k wavefunctions
from a disk file appended with _WFK , produced in a
previous ground state calculation (see the
section 4
of abinit_help).

This variable or getwfkfine is mandatory when bs_interp_mode = 1
This variable is experimental. In development.
Go to the top
 Complete list of input variables
isecur
Mnemonics: Integer for level of SECURity choice
Characteristic: DEVELOP
Variable type: integer
Default is 0
In the presently used algorithms, there is a compromise
between speed and robustness, that can be tuned by
using isecur.
If isecur =0, an extrapolation of outofline
data is allowed, and might save one nonSCF calculation every
two line minimisation when some stability conditions
are fulfilled (since there are 2 nonSCF calculations
per line minimisation, 1 out of 4 is saved)
Using isecur=1 or higher integers will raise gradually
the threshold to make extrapolation.
Using isecur=2 will allow to save 2 nonSCF calculations
every three line minimisation, but this can make the
algorithm unstable. Lower values of isecur allows
for more (tentative) savings. In any case, there must
be one nonSCF computation per line minimisation.
No meaning for RF calculations yet.
Go to the top
 Complete list of input variables
istatr
Mnemonics: Integer for STATus file SHiFT
Characteristic: DEVELOP, NO_MULTI
Variable type: integer
Default is 0 (Comment: Values lower than 10 may not work on some machines.)
Govern the rate of output of the status file.
This status file is written when the number of the
call to the status subroutine is equal to '
istatshft
' modulo 'istatr', so that
it is written once every 'istatr' call.
When 'istatr'=0, there is no writing of a status file (which is the default).
Go to the top
 Complete list of input variables
istatshft
Mnemonics: Integer for STATus file SHiFT
Characteristic: DEVELOP, NO_MULTI
Variable type: integer
Default is 1
Govern the rate of output of the status file.
This status file is written when the number of the
call to the status
subroutine is equal to 'istatshft' modulo '
istatr
', so that
it is written once every '
istatr
' call.
There is also a writing for each of the 5 first calls,
and the 10th call.
Go to the top
 Complete list of input variables
istwfk
Mnemonics: Integer for choice of STorage of WaveFunction at each k point
Characteristic:
Variable type: integer(nkpt)
Default is *0 (Comment: For RF calculations, the Default is not used : istwfk is forced to be 1 deep inside the code, for all k points. For spinorbit calculations (nspinor=2), istwfk is also forced to be 1, for all k points.)
Control the way the
wavefunction for each kpoint is stored inside ABINIT,
in reciprocal space.
For the GS calculations, in the "cg" array containing the
wavefunction coefficients, there is for each kpoint
and each band, a segment cg(1:2,1:npw). The 'full' number
of plane wave is determined by ecut.
However, if the kpoint coordinates are build
only from zeroes and halves (see list below),
the use of timereversal symmetry (that connects coefficients)
has been implemented, in order to use realtocomplex
FFTs (see fftalg), and to treat explicitly only half
of the number of plane waves (this being used as 'npw').
For the RF calculations, there is not only the "cg"
array, but also the "cgq" and "cg1" arrays. For the
timereversal symmetry to decrease the number of
plane waves of these arrays, the q vector MUST be (0 0 0).
Then, for each k point, the same rule as for the
RF can be applied.
WARNING (991018) : for the time being, the timereversal
symmetry cannot be used in the RF calculations.

1=> do NOT take advantage of the timereversal symmetry

2=> use timereversal symmetry for k=( 0 0 0 )

3=> use timereversal symmetry for k=(1/2 0 0 )

4=> use timereversal symmetry for k=( 0 0 1/2)

5=> use timereversal symmetry for k=(1/2 0 1/2)

6=> use timereversal symmetry for k=( 0 1/2 0 )

7=> use timereversal symmetry for k=(1/2 1/2 0 )

8=> use timereversal symmetry for k=( 0 1/2 1/2)

9=> use timereversal symmetry for k=(1/2 1/2 1/2)

0=> (preprocessed) for each k point, choose automatically
the appropriate timereversal option when it is allowed,
and chose istwfk=1 for all the other k points.
Go to the top
 Complete list of input variables
lotf_classic
Mnemonics: LOTF classic model for Glue model
Characteristic: DEVELOP
Variable type: integer
Default is 5
Glue model used in LOTF.
For the moment it is imposed to be 5.
Go to the top
 Complete list of input variables
lotf_nitex
Mnemonics: LOTF number of iterations
Characteristic: DEVELOP
Variable type: integer
Default is 10
Set the number of Molecular Dynamics iterations which are computed by LOTF.
Go to the top
 Complete list of input variables
lotf_nneigx
Mnemonics: LOTF max number of neighbours
Characteristic: DEVELOP
Variable type: integer
Default is 5
Set the max number of Neighbours used in the LOTF method.
For the moment it is imposed to be 40.
Go to the top
 Complete list of input variables
lotf_version
Mnemonics: LOTF version of MD algorithm
Characteristic: DEVELOP
Variable type: integer
Default is 2
Set the MD algorithm in the LOTF method.
For the moment it is imposed to be 2.
Go to the top
 Complete list of input variables
macro_uj
Mnemonics: Macro variable that activates the determination of the U and J parameter (for the PAW+U calculations)
Characteristic: DEVELOP
Variable type: integer
Default is 0
Sets proper input values for the determination of U and J i.e.
for pawujat (first atom treated with PAW+U),
irdwfk (=1),
tolvrs (=10^(8)),
nstep (=255),
diemix (=0.45),
atvshift (pawujat) pawujv). Do not overwrite these variables manually unless you know what you do.

macro_uj=1 (and nsppol=2) Standard procedure to determine U on atom pawujat through a shift of the potential on both spin channels.

macro_uj=1 (and nsppol=1) Non standard procedure to determine U from potential shift on atom pawujat (experimental).

macro_uj=2 (and nsppol=2) Non standard procedure to determine U from potential shift on atom pawujat through a shift on spin channel 1 on this atom and the response on this channel (experimental).

macro_uj=3 (and nsppol=2) Standard procedure to determine J from potential shift on spin channel 1 on atom pawujat and response on spin channel 2 (experimental).
Determination of U and J can be done only if the symmetry of the atomic arrangement is reduced and the atom pawujat is not connected to any other atom by symmetry relations (either input reduced symmetries manually, define concerned atom as a separate atomic species or shift concerned atom from ideal position).
Go to the top
 Complete list of input variables
maxnsym
Mnemonics: MAXimum Number of SYMetries
Characteristic: DEVELOP
Variable type: integer
Default is 384
Gives the maximum number of spatial symetries allowed in the memory.
The default value is sufficient for most applications; it has to be increase in the case of the use of a supercell (unit cell identically repeated).
Go to the top
 Complete list of input variables
mem_test
Mnemonics: MEMory TEST
Characteristic: DEVELOP
Variable type: integer
Default is 1
This variable controls the memory test done in the memana routine.
Possible values:

0 no test on the available memory is performed

1 the routine tries to allocate the estimated memory, for testing
purposes, and if a failure occurs, the routine stops.

2 like 1, but before stopping, the routine will provide
an estimation of the available memory.
Go to the top
 Complete list of input variables
mqgrid
Mnemonics: Maximum number of Qspace GRID points for pseudopotentials
Characteristic: DEVELOP
Variable type: integer
Default is 3001
Govern the size of the onedimensional information
related to pseudopotentials, in reciprocal space :
potentials, or projector functions.
Go to the top
 Complete list of input variables
nbdblock
Mnemonics: Number of BanDs in a BLOCK
Characteristic: DEVELOP
Variable type: integer
Default is 1
In case of nonstandard, blocked algorithms for the
optimization of the wavefunctions (that is, if
wfoptalg=4):

if wfoptalg=4,
nbdblock defines the number of blocks (the number of bands in the block is
then nband/nbdblock ).
Go to the top
 Complete list of input variables
nc_xccc_gspace
Mnemonics: use XC CoreCorrection in Gspace
Characteristic: DEVELOP
Variable type: integer
Default is 0 if usepaw==0,
1 if usepaw==1,
0 otherwise.
(Comment: 0 when usepaw=0, 1 when usepaw=1)
Historically, Abinit treats the model core charge used for the nonlinear core
correction in real space. Alternatively, it is possible to instruct the code to compute the core charge in Gspace following the same approach used in
the PAW code. The Gspace formalism is more accurate than the interpolation in real space, especially when derivatives of the model core charge are
needed, e.g. DFPT. Preliminary tests showed that the violation of the acoustic sum rule is reduced when nc_xccc_gspace==1 , especially for LDA.
It is worth stressing, however, that nc_xccc_gspace==1
should be used only in conjunction with NC pseudos whose model core charge that decays quickly in
Gspace. Several NC pseudos available in the Abinit table are not optimized for the Gspace formalism and users are strongly invited to perform
convergence studies with respect to ecut before using this option.
Go to the top
 Complete list of input variables
nctime
Mnemonics: NetCdf TIME between output of molecular dynamics informations
Characteristic: DEVELOP
Variable type: integer
Default is 0
When nctime is nonzero, the molecular dynamics information
is output in NetCDF format, every nctime time step. Here is the content of an example file :
netcdf md32.outH_moldyn1 {
dimensions:
time = UNLIMITED ; // (11 currently)
DimTensor = 6 ;
DimCoord = 3 ;
NbAtoms = 32 ;
DimVector = 3 ;
DimScalar = 1 ;
variables:
double E_pot(time) ;
E_pot:units = "hartree" ;
double E_kin(time) ;
E_kin:units = "hartree" ;
double Stress(time, DimTensor) ;
Stress:units = "hartree/Bohr^3" ;
double Position(time, DimCoord, NbAtoms) ;
Position:units = "Bohr" ;
double Celerity(time, DimCoord, NbAtoms) ;
Celerity:units = "Bohr/(atomic time unit)" ;
double PrimitiveVector1(DimVector) ;
double PrimitiveVector2(DimVector) ;
double PrimitiveVector3(DimVector) ;
double Cell_Volume(DimScalar) ;
Cell_Volume:units = "Bohr^3" ;
}
Go to the top
 Complete list of input variables
nloc_alg
Mnemonics: Non LOCal ALGorithm
Characteristic: DEVELOP
Variable type: integer
Default is 4
Allows to choose the algorithm for nonlocal operator application.
On superscalar architectures, the default nloc_alg=4 is the best.
More detailed explanations:
 nloc_alg=2 : Should be efficient on vector machines. It is
indeed the fastest algorithm for the NEC, but
actual tests on Fujitsu machine did not gave better
performances than the other options.
 nloc_alg=3 : same as nloc_alg==2, but the loop order is inverted.
 nloc_alg=4 : same as nloc_alg==3, but maximal use of registers
has been coded. This should be especially efficient on
scalar and superscalar machines. This has been confirmed by tests.
Note: internally, nloc_alg is stored in
nloalg(1)
. See also nloc_mem for the tuning of the memory used in the nonlocal operator application.
Go to the top
 Complete list of input variables
nloc_mem
Mnemonics: Non LOCal MEMOry
Characteristic: DEVELOP
Variable type: integer
Default is 2 if usepaw==1,
1 otherwise.
Controls the memory use for the application of the nonlocal operator.
More detailed explanations:

nloc_mem==1 : (k+G) vectors are not precomputed, in order to save memory space.

nloc_mem==2 : (k+G) vectors are precomputed, once per kpoint.

nloc_mem==1 or 2 : Negative values of
nloc_mem correspond positive ones,
where the phase precomputation has been suppressed, in order to save memory space, as an array
double precision :: ph3d(2,npw,natom)
is saved (typically half the space needed
for the wavefunctions at 1 k point  this corresponds
to the silicon case). However, the computation of phases
inside nonlop is somehow timeconsuming.
Note: internally, sign(nloc_mem) is stored in
nloalg(2)
and abs(nloc_mem)1 is stored in
nloalg(3)
. See also nloc_alg for the algorithm for the nonlocal operator application.
Go to the top
 Complete list of input variables
nnsclo
Mnemonics: Number of NonSelf Consistent LOops
Characteristic: DEVELOP
Variable type: integer
Default is 0
Gives the maximum number of
nonselfconsistent loops of nline line minimisations,
in the SCF case (when iscf >0). In the case iscf <=0 ,
the number of nonselfconsistent loops is determined
by nstep.
The Default value of 0  for standard planewave calculations  corresponds to make
the two first fixed potential determinations
of wavefunctions have 2 nonself consistent loops,
and the next ones to have only 1 nonself consistent loop.
The Default value of 0  for wavelets calculations (usewvl=1)  corresponds to make
2 steps with 3 nonself consistent loops , 2 steps with 2 nonself consistent loops,
then the next ones with 1 nonself consistent loop.
Go to the top
 Complete list of input variables
nnsclohf
Mnemonics: Number of NonSelf Consistent LOops for Fock exact exchange
Characteristic: DEVELOP
Variable type: integer
Default is 1 if usefock==1,
0 otherwise.
Gives the maximum number of loops with nonselfconsistent occupied states used to calculate Fock exact exchange,
in the SCF case.
The Default value is 0 when usefock = 0.
Default value is 1 when usefock = 1 and correspond to update occupied
wavefunctions at each selfconsistent loop.
Go to the top
 Complete list of input variables
normpawu
Mnemonics: NORMalize atomic PAW+U projector
Characteristic: DEVELOP
Variable type: integer(ntypat)
Default is 0
Defines whether the atomic wave function (used as projectors in PAW+U) should be renormalized to 1
within PAW sphere.

normpawu=0 : leave projector

normpawu=1 : renormalize
Go to the top
 Complete list of input variables
npulayit
Mnemonics: Number of PULAY ITerations for SC mixing
Characteristic: DEVELOP
Variable type: integer
Default is 7
Only relevant if iscf in [7,17]
Gives the number of previous iterations involved in Pulay mixing (mixing
during electronic SC iterations).
Go to the top
 Complete list of input variables
nscforder
Mnemonics: SCaling Function ORDER
Characteristic:
Variable type: integer
Default is 16
This variable controls the order of used scaling functions when the Hartree potential is computed using the Poisson solver (see icoulomb imput variable). This variable is of seldom use since the default value is large enough. Nonetheless, possible values are 8, 14, 16, 20, 24, 30, 40, 50, 60, 100. Values greater than 20 are included in ABINIT for test purposes only.
Go to the top
 Complete list of input variables
optforces
Mnemonics: OPTions for the calculation of FORCES
Characteristic: DEVELOP
Variable type: integer
Default is 1 if toldff or tolrff != 0,
2 otherwise.
Allows to choose options for the calculation of forces.

optforces=0 : the forces are set to zero, and many steps of the
computation of forces are skipped

optforces=1 : calculation of forces at each SCF iteration, allowing
to use forces as criterion to stop the SCF cycles

optforces=2 : calculation of forces at the end of the SCF iterations
(like the stresses)
Go to the top
 Complete list of input variables
optnlxccc
Mnemonics: OPTion for the calculation of NonLinear eXchangeCorrelation Core Correction
Characteristic: DEVELOP
Variable type: integer
Default is 1
Allows to choose options for the calculation of nonlinear XC correction.
At present, only relevant for the FHI type of pseudopotentials, with pspcod=6 .

optnlxccc=1 : uses the old psp6cc.f routine, with inconsistent treatment of realspace derivatives of the core function (computed in this routine, while splined in the other parts of the code)

optnlxccc=2 : consistent calculation derivatives, in the psp6cc_dhr.f routine from DHamann.
Go to the top
 Complete list of input variables
ortalg
Mnemonics: ORThogonalisation ALGorithm
Characteristic: DEVELOP
Variable type: integer
Default is 2 if wfoptalg >= 10 ,
2 otherwise.
Allows to choose the algorithm
for orthogonalisation.
Positive or zero values make two projections per
line minimisation, one before the preconditioning, one
after. This is the clean application of the bandbyband
CG gradient for finding eigenfunctions.
Negative values make only one projection per line minimisation.
The orthogonalisation step is twice faster, but the
convergence is less good. This actually calls to
a better understanding of this effect.
ortalg=0, 1 or 1 is the conventional coding.
ortalg=2 or 2 try to make better use of existing registers
on the particular machine one is running.
More demanding use of registers
is provided by ortalg=3 or 3, and so on.
The maximal value is presently 4 and 4.
Tests have shown that ortalg=2 or 2 is suitable for
use on the available platforms.
Go to the top
 Complete list of input variables
papiopt
Mnemonics: PAPI OPTion
Characteristic:
Variable type: integer
Default is 0
PAPI
aims to
provide the tool designer and application engineer with a
consistent interface and methodology for use of the
performance counter hardware found in most major
microprocessors. PAPI enables software engineers to see, in
near real time, the relation between software performance and
processor events.
This option can be used only when ABINIT has been compiled with the
enablepapi
configure option.
If papiopt=1, then PAPI counters are used instead of
the usual time() routine. All the timing output of ABINIT is
then done with PAPI values. The measurements are more accurate and
give also access to the flops of the calculation.
Go to the top
 Complete list of input variables
pawprt_b
Mnemonics: PAW print band
Characteristic: DEVELOP
Variable type: integer
Default is 0
Forces the output of the allelectron wavefunction for
only a single band. To be used in conjuction with:
pawprtwf=1
and
pawprt_k.
The indexing of the bands start with one for the lowest occupied band
and goes up from there.
Go to the top
 Complete list of input variables
pawprt_k
Mnemonics: PAW print kpoint
Characteristic: DEVELOP
Variable type: integer
Default is 0
Forces the output of the allelectron wavefunction for
only a single kpoint. To be used in conjuction with:
pawprtwf=1
and
pawprt_b.
The indexing follows the order in ouptput of the internal
variable
kpt
in the beginning of the run.
Go to the top
 Complete list of input variables
pawujat
Mnemonics: PAW+macro_UJ, ATom number
Characteristic: DEVELOP
Variable type: integer
Default is 1 (Comment: i.e. the first atom treated with PAW+U.)
Determines the atom for which U (or J) should be determined. See also macro_uj.
Go to the top
 Complete list of input variables
pawujrad
Mnemonics: PAW+macro_UJ, sphere RADius
Characteristic: DEVELOP
Variable type: real
Default is 20 a.u.
The sphere radius serves to extrapolate the U value calculated at r_paw to a larger sphere radius.
See also macro_uj.
As most projector functions are localized within r_paw to ≈80%,
20 a.u. contains ≈100% of the wavefunction and corresponds to r_paw → ∞.
Go to the top
 Complete list of input variables
pawujv
Mnemonics: PAW+macro_UJ, potential shift (V)
Characteristic: DEVELOP
Variable type: real
Default is 0.1 eV
Amplitude of the potential shift for the determination of U (or J). See also macro_uj.
Go to the top
 Complete list of input variables
plowan_bandf
Mnemonics: Projected Local Orbital WANnier functions Initial BAND
Characteristic: DEVELOP
Variable type: integer
Default is 0
Gives the upper band to include in the calculation of Wannier functions
Go to the top
 Complete list of input variables
plowan_bandi
Mnemonics: Projected Local Orbital WANnier functions Initial BAND
Characteristic: DEVELOP
Variable type: integer
Default is 0
Gives the lower band to include in the calculation of Wannier functions
Go to the top
 Complete list of input variables
plowan_compute
Mnemonics: Projected Local Orbital WANnier functions COMPUTATION
Characteristic: DEVELOP
Variable type: integer
Default is 0
Activate computation of Projected Local Orbital Wannier functions (PLO Wannier) and corresponding band structure.
Variables plowan_bandi,
plowan_bandf,
plowan_natom,
plowan_nbl,
plowan_iatom,
plowan_lcalc,
plowan_projcalc are mandatory to precise the nature of the projections.

0=> Default value: do not activate calculation of PLO Wannier.

1=> Compute PLO Wannier and band structure

2=> Compute PLO Wannier and band structure. In this case, the coupling in kspace between blocks of Wannier functions belonging to different
angular momenta or atoms is removed.
Other related variables are
plowan_realspace,
plowan_nt,
plowan_it.
The implementation is not symetrized over kpoint and not parallelized.
(The calculation of projections is
detailed in
Phys. Rev. B 77, 205112, (2008)
)
Go to the top
 Complete list of input variables
plowan_iatom
Mnemonics: Projected Local Orbital WANnier functions, ATOM Index
Characteristic: DEVELOP
Variable type: integer
Default is 0
Gives the indices of the plowan_natom atoms on which the projections will be done.
Go to the top
 Complete list of input variables
plowan_it
Mnemonics: Projected Local Orbital WANnier functions, Index of Translation.
Characteristic: DEVELOP
Variable type: integer(3,plowan_nt)
Default is 0
Requires plowan_realspace to be greater than 0 and
plowan_nt to be greater than 0.
Precise a given set of selected real space translation by using the real space vectors basis.
These atoms are used to define Wannier functions in real space. These real space
Wannier functions are used as a basis to compute the Hamiltonian.
Go to the top
 Complete list of input variables
plowan_lcalc
Mnemonics: Projected Local Orbital WANnier functions, L values to use for CALCulation
Characteristic: DEVELOP
Variable type: integer(sum(plowan_nbl))
Default is 1
Gives the plowan_nbl values of angular momenta for each atom, in the order of the atoms
as given in plowan_iatom.
Go to the top
 Complete list of input variables
plowan_natom
Mnemonics: Projected Local Orbital WANnier functions, Number of ATOMs
Characteristic: DEVELOP
Variable type: integer
Default is 0
Gives the number of atoms on which the projection will be done
Go to the top
 Complete list of input variables
plowan_nbl
Mnemonics: Projected Local Orbital WANnier functions, NumBer of L values
Characteristic: DEVELOP
Variable type: integer(plowan_natom)
Default is 0
Gives the total number of angular momenta (over all atoms) to compute the projections.
Go to the top
 Complete list of input variables
plowan_nt
Mnemonics: Projected Local Orbital WANnier functions, Number of Translation on which the real space values of
energy are computed
Characteristic: DEVELOP
Variable type: integer
Default is 0
Requires plowan_realspace to be greater than 0.
Gives a number of selected atoms. These atoms are used to define Wannier functions in real space. These real space
Wannier functions are used as a basis to compute the Hamiltonian.
Go to the top
 Complete list of input variables
plowan_projcalc
Mnemonics: Projected Local Orbital WANnier functions, PROJectors values to use for CALCulation
Characteristic: DEVELOP
Variable type: integer(sum(plowan_nbl))
Default is 1
Gives the plowan_nbl values of projectors for each atom, in the order of the atoms
as given in plowan_iatom. The index i for the projectors refers to the ith number on line
orbitals of the PAW atomic data file.
Go to the top
 Complete list of input variables
plowan_realspace
Mnemonics: Projected Local Orbital WANnier functions, activate REAL SPACE calculation.
Characteristic: DEVELOP
Variable type: integer
Default is 0
Can take the following values:

0=> Default value: do not activate calculation of real space Wannier functions.

1=> Compute PLO Wannier in real space for analysis. These data can also be used in a following dataset to perform a Wannier interpolation.

2=> Do simple Wannier Interpolation for a given k points starting from real space Wannier function Hamiltonian
computed in a preceding dataset.
Go to the top
 Complete list of input variables
prepscphon
Mnemonics: PREPare SelfConsistent PHONon calculation
Characteristic: DEVELOP
Variable type: integer
Default is 0
Print PCINFO, PHFREQ, and PHVEC files, for use with selfconsistent phonon runs, after a perturbation
calculation. Only prints out files for the present qpoint, and there is presently no tool to symmetrize
or merge these files, so use anaddb instead (with prtscphon input variable). The abinit input
variable is destined to someday bypass the use of anaddb for scphon calculations.
Go to the top
 Complete list of input variables
prtbltztrp
Mnemonics: PRinT output for BoLTZTRaP code
Characteristic: DEVELOP
Variable type: integer
Default is 0
Print out geometry (_BLZTRP_GEOM) and eigenenergy (_BLZTRP_EIGEN) files for the
BoltzTraP code
by Georg Madsen.
Go to the top
 Complete list of input variables
prtcif
Mnemonics: PRinT Crystallographic Information File
Characteristic: DEVELOP
Variable type: integer
Default is 0
If set to 1, a CIF file is output with the crystallographic data for the present run (cell size shape and atomic positions).
Go to the top
 Complete list of input variables
prtdipole
Mnemonics: PRinT DIPOLE
Characteristic: DEVELOP
Variable type: integer
Default is 0
Print out dipole of unit cell, calculated in real space for the primitive cell only. Under development.
Go to the top
 Complete list of input variables
prtnest
Mnemonics: PRinT NESTing function
Characteristic: DEVELOP
Variable type: integer
Default is 0
If set to 1, the nesting function for the kpoint grid is printed. For the moment the path in q space for the nesting function is fixed, but will become an input as well.
Go to the top
 Complete list of input variables
prtposcar
Mnemonics: PRinT POSCAR file
Characteristic: DEVELOP
Variable type: integer
Default is 0
Print out VASPstyle POSCAR and FORCES files, for use with PHON or frophon codes for frozen phonon calculations.
See the associated script in ~abinit/extras/post_processing/phondisp2abi.py for further details on interfacing
with PHON, PHONOPY, etc...
Go to the top
 Complete list of input variables
prtvdw
Mnemonics: PRinT Van Der Waals file
Characteristic: DEVELOP
Variable type: integer
Default is 0
Print out a NetCDF file containing a vdWDF kernel.
Go to the top
 Complete list of input variables
recefermi
Mnemonics: RECursion  initial guess of the FERMI Energy
Characteristic: DEVELOP
Variable type: real
Default is 0
Used in Recursion method (tfkinfunc=2).
In the first SCF calculation it fixes the initial guess for the Fermi energy.
Go to the top
 Complete list of input variables
recgratio
Mnemonics: RECursion  Grid Ratio
Characteristic: DEVELOP
Variable type: integer
Default is 1
Used in Recursion method (tfkinfunc=2).
It represents the ratio of the two grid step: recgratio=fine_step/coarse_step and
it is bigger or equal than 1. It introduces a doublegrid system which permits
to compute the electronic density on a coarse grid, using a fine grid
(defined by ngfft) in the
discretisation of the green kernel (see recptrott).
Successively the density and the recursion coefficients are interpolated on the fine grid by
FFT interpolation. Note that ngfft/recgratio=number of points of the
coarse grid has to be compatible with the parallelization parameters.
Go to the top
 Complete list of input variables
recnpath
Mnemonics: RECursion  Number of point for PATH integral calculations
Characteristic: DEVELOP
Variable type: integer
Default is 500
Used in Recursion method (tfkinfunc=2).
Determine the number of discretisation points to compute some path
integral in the recursion method ; those path integrals are used to
compute the entropy and the eigenvalues energy. during the latest SFC
cycles.
Go to the top
 Complete list of input variables
recnrec
Mnemonics: RECursion  Number of RECursions
Characteristic: DEVELOP
Variable type: integer
Default is 10
Used in Recursion method (tfkinfunc=2).
Determine the maximum order of recursion, that is the dimension of the
krylov space we use to compute density. If the precision set by
rectolden is reached before that order, the recursion method
automatically stops.
Go to the top
 Complete list of input variables
recptrott
Mnemonics: RECursion  TROTTer P parameter
Characteristic: DEVELOP
Variable type: integer
Default is 0
Used in Recursion method (tfkinfunc=2).
Determine the trotter parameter used to compute the exponential of the hamiltonian in the
recursion method: exp(beta*(Delta + V)) ~ (exp(beta/(4*recptrott)
V) exp(beta/(4*recptrott) Delta) exp(beta/(4*recptrott)
V))^(2*recptrott).
If set to 0, we use recptrott = 1/2 in the above formula.
Increasing recptrott improve the accuracy of the trotter formula, but
increase the dicretisation error: it may be necessary to increase
ngfft. The discretisation error is essentially the discretisation
error of the green kernel exp((recptrott/beta*r^2)) on the ngfft
grid.
Go to the top
 Complete list of input variables
recrcut
Mnemonics: RECursion  CUTing Radius
Characteristic: DEVELOP
Variable type: integer
Default is 0
Used in Recursion method (tfkinfunc=2).
Used to improve the
computational time in the case of the recursion method in a large
cell: the density at a point will be computed with taking account only of
a sphere of radius recrcut.
Go to the top
 Complete list of input variables
rectesteg
Mnemonics: RECursion  TEST on Electron Gas
Characteristic: DEVELOP
Variable type: integer
Default is 0
Used in Recursion method (tfkinfunc=2).
It is used to test an electron gas by putting the ion potential
equal to zero.
Go to the top
 Complete list of input variables
rectolden
Mnemonics: RECursion  TOLerance on the difference of electronic DENsity
Characteristic: DEVELOP
Variable type: real
Default is 0.0 (Comment: Default value to be changed.)
Used in Recursion method (tfkinfunc=2).
Sets a tolerance for differences of electronic density that, reached TWICE
successively, will cause one SCF cycle to stop. That electronic
density difference is computed in the infinity norm (that is, it is
computed pointbypoint, and then the maximum difference is computed).
Go to the top
 Complete list of input variables
symmorphi
Mnemonics: SYMMORPHIc symmetry operations
Characteristic: DEVELOP, GW
Variable type: integer
Default is 1
With symmorphi=1, symmetry operations with a nonsymmorphic vector are allowed.
With symmorphi=0, they are not allowed.
In the latter case, if the symmetry operations are specified in the input file, the code
will stop and print an error message if a nonsymmorphic vector is encountered.
By contrast, if the symmetry operations are to be determined automatically
(if nsym=0), then the set of symmetries will
not include the nonsymmorphic operations.
Note : this feature exist because in a previous status of the GW calculations, nonsymmorphic
symmetry operations could not be exploited. Thus, the k points were restricted
to the IBZ. In order to prepare GW calculations, and to perform GW calculations,
symmorphi=0 was to be used, together with nsym=0.
Go to the top
 Complete list of input variables
tfkinfunc
Mnemonics: ThomasFermi KINetic energy FUNCtional
Characteristic: DEVELOP
Variable type: integer
Default is 0

tfkinfunc=1 : ThomasFermi
kinetic functional (explicit functional of the density) is used instead of KohnSham kinetic
energy functional (implicit functional of the density through KohnSham wavefunctions).
See Perrot F., Phys. Rev. A20,586594 (1979)).

tfkinfunc=11 : ThomasFermiWeizsacker
kinetic functional with Gradient Corrections is used.
The convergence of a calculation with this functional needs to be initialized from a calculation without Gradient Correction.
This is automatically done with tfkinfunc=11. For the initialization steps, the tfw_toldfe criterion is used.
When it is reached, then the Gradient Correction is added and the SCF cycle continues.
Note: to obtain the convergence of a Molecular Dynamics simulation with TFW, it is necessary to find the best set of
preconditionning parameters (diemix, diemac, dielng) and the best value of npulayit (if the default Pulay mixing is used).

tfkinfunc=12 : same as tfkinfunc=11,
but without the initialization steps. Gradient correction is directly added.

tfkinfunc=2 : the Recursion Method
is used in order to compute electronic density, entropy, Fermi energy and eigenvalues energy.
This method computes the density without computing any orbital, is efficient at high temperature,
with a efficient parallelization (almost perfect scalability). When that option is in use, the
ecut input variable is no longer a convergence parameter ;
ngfft becomes the main convergence parameter: you should adapt ecut for the ngfft
grid you need (it is not yet automatically computed). Other convergence parameter are for the energetic values:
recnrec, recptrott, recnpath.
Since the convergence of the selfconsistent cycle
is determined directly by the convergence of the density:
toldfe, toldff, tolrff,
tolvrs, tolwfr are not used, and are replaced by
rectolden; the energetic values, except for the fermi energy, are only
computed during the latest SFC cycle : the output file will show a
jump of the total energy at the end, but it is not because of a bad
convergence behavior. Computational speed can be improved by the use
of recrcut and recgratio.
The recursion method has not be tested in the case of non cubic cell
or with the use of symmetries.
In the recursion method the following variables are set to:
useylm=1, userec=1.
Go to the top
 Complete list of input variables
tfw_toldfe
Mnemonics: ThomasFermiWeizsacker: TOLerance on the DiFference of total Energy, for initialization steps
Characteristic: ENERGY
Variable type: real
Default is 1.0E6 or toldfe is present
Only relevant if tfkinfunc=11
This input variable has the same definition as toldfe and is only relevant when tfkinfunc=11.
It sets a tolerance for absolute differences of total energy that, reached TWICE successively, will cause the
initialization steps (without gradient correction) to stop and the gradient correction to be added.
Can be specified in Ha (the default), Ry, eV or Kelvin, since it has the 'ENERGY' characteristics.
Go to the top
 Complete list of input variables
tolrde
Mnemonics: TOLerance on the Relative Difference of Eigenenergies
Characteristic:
Variable type: real
Default is 0.005
Sets a tolerance for the ratio of differences of eigenenergies
in the line minimisation conjugategradient algorithm. It compares the
decrease of the eigenenergy due to the last line minimisation, with the
one observed for the first line minimisation.
When the ratio is lower than tolrde,
the next line minimisations are skipped.
The number of line minimisations is limited by
nline anyhow.
This stopping criterion is present for both GS and RF calculations.
In RF calculations, tolrde is actually doubled before comparing with the abovementioned
ratio, for historical reasons.
Go to the top
 Complete list of input variables
use_gemm_nonlop
Mnemonics: USE the GEMM routine for the application of the NONLocal OPerator
Characteristic: DEVELOP
Variable type: integer
Default is 0 (Comment: because it is not usually worth using it unless bandpp is large and it requires additional memory)
This keyword tells abinit to use a BLAS routine to speed up the computation of the nonlocal operator. This requires the precomputation of a large matrix, and has a significant memory overhead. In exchange, it provides improved performance when used on several bands at once (Chebyshev or LOBPCG algorithm with bandpp
The memory overhead is proportional to the number of atoms, the number of plane waves, and the number of projectors per atom. It can be mitigated by distributing the array with
npfft
The performance depends crucially on having a good BLAS installed. Provided the BLAS supports OpenMP, this option also yields very good scaling for the nonlocal operator.
Go to the top
 Complete list of input variables
use_nonscf_gkk
Mnemonics: USE NONSCF calculation of GKK matrix elements (electron phonon)
Characteristic: DEVELOP
Variable type: integer
Default is 0 (Comment: Default is 0 for the moment. Do not use nonscf method.)
When this flag is activated during a phonon calculation with abinit, all of the perturbations are cycled through, but only the symmetryirreducible ones are calculated selfconsistently. For the others the perturbed density is rotated by the appropriate symop and the gkk matrix elements are calculated nonselfconsistently. As they do not depend on the perturbed wave functions, they are correct from the first iteration, and nstep is set to 1 for those perturbations. Note that the resulting 1DEN files are simply the rotate/symmetric ones and that the resulting 1WF files are garbage (completely unconverged) except the matrix elements in the header (equivalent to GKK files, but please use the latter much smaller files for elph calculations). The new default behavior with use_nonscf_gkk = 1 should be transparent for the user, with the same output files but a much quicker execution.
Caveat: Note that very tight convergence of ground state and phonon calculations is necessary to get good GKK matrix elements! tolwfr = 1.e24 or so is recommended everywhere. There may be problems using use_nonscf_gkk = 1 with nonsymmorphic symmetries  please check (at least) that lifetimes for phonons go to 0 for acoustic modes at Gamma.
Go to the top
 Complete list of input variables
usedmft
Mnemonics: USE Dynamical Mean Field Theory
Characteristic: DEVELOP
Variable type: integer
Default is 0
If set to 1, enable the use of DFT+DMFT, see in particular the important variables
dmft_solv,
dmftbandi,
dmftbandf,
dmft_nwli,
dmft_nwlo,
dmft_tollc,
dmft_tolfreq,
and dmft_iter.
The current implementation uses Wannier functions obtained from
projected local orbitals
as correlated orbitals (see dmftbandi and dmftbandf input variables to define them).
The Green functions are computed on a mesh of linear Matsubara frequencies. However, most of the code uses logarithmic Matsubara grid to lower the computational cost. Both dmft_nwli and dmft_nwlo are thus convergence parameters.
DMFT is currently available for collinear (nspinor=1) polarized or unpolarized calculations (nspden=nsppol=2 or nspden=nsppol=1)
and for non collinear calculations (nspinor=2,nspden=4,nsppol=1). However it is not yet available
for collinear antiferromagnetic calculations (nspden=2,nsppol=1) and non collinear non magnetic calculations (nspden=1, nsppol=1,nspinor=2).
CTQMC calculations (dmft_solv=5) are not yet possible if nspinor=2.
Only static calculations without relaxation or dynamics are possible (forces and stress are not computed in the scheme: so the computed values should NOT be trusted).
When correlated density matrices are diagonal, all values of upawu and jpawu
are possible. If the correlated density matrices are non diagonal, only jpawu = 0 is implemented.
Relevant direct output quantities from
converged DMFT calculations are total energy and occupation of correlated orbitals. For Hubbard I calculation (dmft_solv=2), total and partial spectral
functions can be obtained with prtdos=1 and can be found in files OUTSpFunc* (where OUT is the root for
output files). For CTQMC calculations (dmft_solv=5), imaginary time impurity Green function are output of the calculations and can be used to produce
spectral function using an external Maximum Entropy Code.
A typical DFT+DMFT calculation involves two runs. First, a DFT calculation is fully converged (even unoccupied wavefunctions have to be converged).
Then, the DFT+DMFT calculation is started using DFT wavefunctions or density files. As DFT+DMFT calculations (with CTQMC) are computationnally
expensive, it is convenient to use prtden=1, to write DEN file at each DFT iteration, in order to be able to restart the calculation easily.
For details of the implementation see,
B. Amadon, F. Lechermann, A. Georges, F. Jollet, T. O. Wehling, and A. I. Lichtenstein, Phys. Rev. B 77(20), (2008)
, for Wannier functions and
B. Amadon, J. Phys.: Condens. Matter 24 075604 (2012) (doi:10.1088/09538984/24/7/075604),
for selfconsistency and Hubbard I implementation.
If usedmft=1 and nbandkss/=0, then, the DFT+DMFT calculation is not done and only projections are computed at the end
of the calculation. They can be used by an external code or used to compute the screened interaction (see variable ucrpa).
Go to the top
 Complete list of input variables
useria
Mnemonics: USER Integer variable A
Characteristic:
Variable type: integer
Default is 0
These are userdefinable integers which the user may
input and then utilize in subroutines of his/her own
design. They are not used in the official versions
of the ABINIT code, and should ease independent
developments (hopefully integrated in the official
version afterwards).
Internally, they are available in the dtset structured datatype,
e.g. dtset%useria .
Go to the top
 Complete list of input variables
userib
Mnemonics: USER Integer variable B
Characteristic:
Variable type: integer
Default is 0
These are userdefinable integers which the user may
input and then utilize in subroutines of his/her own
design. They are not used in the official versions
of the ABINIT code, and should ease independent
developments (hopefully integrated in the official
version afterwards).
Internally, they are available in the dtset structured datatype,
e.g. dtset%useria .
Go to the top
 Complete list of input variables
useric
Mnemonics: USER Integer variable C
Characteristic:
Variable type: integer
Default is 0
These are userdefinable integers which the user may
input and then utilize in subroutines of his/her own
design. They are not used in the official versions
of the ABINIT code, and should ease independent
developments (hopefully integrated in the official
version afterwards).
Internally, they are available in the dtset structured datatype,
e.g. dtset%useria .
Go to the top
 Complete list of input variables
userid
Mnemonics: USER Integer variable D
Characteristic:
Variable type: integer
Default is 0
These are userdefinable integers which the user may
input and then utilize in subroutines of his/her own
design. They are not used in the official versions
of the ABINIT code, and should ease independent
developments (hopefully integrated in the official
version afterwards).
Internally, they are available in the dtset structured datatype,
e.g. dtset%useria .
Go to the top
 Complete list of input variables
userie
Mnemonics: USER Integer variable E
Characteristic:
Variable type: integer
Default is 0
These are userdefinable integers which the user may
input and then utilize in subroutines of his/her own
design. They are not used in the official versions
of the ABINIT code, and should ease independent
developments (hopefully integrated in the official
version afterwards).
Internally, they are available in the dtset structured datatype,
e.g. dtset%useria .
Go to the top
 Complete list of input variables
userra
Mnemonics: USER Real variable A
Characteristic:
Variable type: real
Default is 0.0
These are userdefinable with the same purpose as useria and cie.
Go to the top
 Complete list of input variables
userrb
Mnemonics: USER Real variable B
Characteristic:
Variable type: real
Default is 0.0
These are userdefinable with the same purpose as useria and cie.
Go to the top
 Complete list of input variables
userrc
Mnemonics: USER Real variable C
Characteristic:
Variable type: real
Default is 0.0
These are userdefinable with the same purpose as useria and cie.
Go to the top
 Complete list of input variables
userrd
Mnemonics: USER Real variable D
Characteristic:
Variable type: real
Default is 0.0
These are userdefinable with the same purpose as useria and cie.
Go to the top
 Complete list of input variables
userre
Mnemonics: USER Real variable E
Characteristic:
Variable type: real
Default is 0.0
These are userdefinable with the same purpose as useria and cie.
Go to the top
 Complete list of input variables
useylm
Mnemonics: USE YLM (the spherical harmonics)
Characteristic: DEVELOP
Variable type: integer
Default is 1 if usepaw==1,
1 if tfkinfunc==1,
0 otherwise.
When this flag is activated, the nonlocal operator is applied using an algorithm based on spherical harmonics. Nonlocal projectors are used with their usual form:
P
_{
lmn
}
(r)=Y
_{
lm
}
(r)*p
_{
ln
}
(r)
When useylm=0, the sum over Y_lm can be reduced to a Legendre polynomial form.
Go to the top
 Complete list of input variables
vdw_df_acutmin
Mnemonics: vdWDF MINimum Angular CUToff
Characteristic: DEVELOP
Variable type: real
Default is 10
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build angular meshes for the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_aratio
Mnemonics: vdWDF RATIO between the highest and
lowest Angle.
Characteristic: DEVELOP
Variable type: real
Default is 30
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build angular meshes for the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_damax
Mnemonics: vdWDF MAXimum Angular Delta
Characteristic: DEVELOP
Variable type: real
Default is 0.5
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build angular meshes for the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_damin
Mnemonics: vdWDF MINimum Angular Delta
Characteristic: DEVELOP
Variable type: real
Default is 0.01
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build angular meshes for the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_dcut
Mnemonics: vdWDF Dmesh CUToff
Characteristic: DEVELOP
Variable type: real
Default is 30
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_dratio
Mnemonics: vdWDF RATIO between the highest and
lowest D.
Characteristic: DEVELOP
Variable type: real
Default is 20
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_dsoft
Mnemonics: vdWDF SOFTening distance.
Characteristic: DEVELOP
Variable type: real
Default is 1.0
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_gcut
Mnemonics: vdWDF Kspace CUToff
Characteristic: DEVELOP
Variable type: real
Default is 5
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to filter the vdWDF kernel in reciprocal space.
Go to the top
 Complete list of input variables
vdw_df_ndpts
Mnemonics: vdWDF Number of Dmesh PoinTS
Characteristic: DEVELOP
Variable type: integer
Default is 20
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_ngpts
Mnemonics: vdWDF Number of Gmesh PoinTS
Characteristic: DEVELOP
Variable type: integer
Default is 1
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_nqpts
Mnemonics: vdWDF Number of Qmesh PoinTS
Characteristic: DEVELOP
Variable type: integer
Default is 30
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_nrpts
Mnemonics: vdWDF Number of RPoinTS
Characteristic: DEVELOP
Variable type: integer
Default is 2048
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to define the sampling of the vdWDFkernel in realspace.
Go to the top
 Complete list of input variables
vdw_df_nsmooth
Mnemonics: vdWDF Number of SMOOTHening iterations
Characteristic: DEVELOP
Variable type: integer
Default is 12
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to exponentially smoothen q near q0.
Go to the top
 Complete list of input variables
vdw_df_phisoft
Mnemonics: vdWDF SOFTening PHI value.
Characteristic: DEVELOP
Variable type: real
Default is 1.0
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_qcut
Mnemonics: vdWDF Qmesh CUToff
Characteristic: DEVELOP
Variable type: real
Default is 5
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_qratio
Mnemonics: vdWDF RATIO between highest and
lowest Q
Characteristic: DEVELOP
Variable type: real
Default is 20
Only relevant if vdw_xc>0
Used when vdw_xc>0,
.
Go to the top
 Complete list of input variables
vdw_df_rcut
Mnemonics: vdWDF Realspace CUToff
Characteristic: DEVELOP
Variable type: real
Default is 100
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to define the vdWDF kernel cutoff radius.
Go to the top
 Complete list of input variables
vdw_df_rsoft
Mnemonics: vdWDF SOFTening radius.
Characteristic: DEVELOP
Variable type: real
Default is 0.0
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_threshold
Mnemonics: vdWDF energy calculation threshold
Characteristic: DEVELOP
Variable type: real
Default is 0.01
Only relevant if vdw_xc>0
Sets a threshold for the energy gradient that,
when reached, will cause the vdWDF interactions to be calculated.
Adjust it to a big value (e.g. 1e12) to enable it all along the SCF
calculation. Too small values, as well as negative values, will result
in the vdWDF energy contributions never being calculated.
Go to the top
 Complete list of input variables
vdw_df_tolerance
Mnemonics: vdWDF global TOLERANCE.
Characteristic: DEVELOP
Variable type: real
Default is 1e13
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
Go to the top
 Complete list of input variables
vdw_df_tweaks
Mnemonics: vdWDF tweaks.
Characteristic: DEVELOP
Variable type: integer
Default is 0
Only relevant if vdw_xc>0
Used when vdw_xc>0,
to build the vdWDF kernel.
IMPORTANT NOTE: modifying this variable will likely transform the calculated energies and their gradients into garbage. You have been warned!
Go to the top
 Complete list of input variables
vdw_df_zab
Mnemonics: vdWDF Zab parameter
Characteristic: DEVELOP
Variable type: real
Default is 0.8491
Only relevant if vdw_xc>0
Used when vdw_xc>0,
as introduced in
doi:10.1103/PhysRevLett.92.246401
.
Go to the top
 Complete list of input variables
vdw_nfrag
Mnemonics: van der Waals Number of interacting FRAGments
Characteristic: DEVELOP
Variable type: integer
Default is 1
Only relevant if vdw_xc in [10,11]
The absolute value of vdw_nfrag is the number of vdW interacting
fragments in the unit cell. As wannierization takes place in reciprocal space, the MLWF
center positions could be translated by some lattice vector from the cell where atoms
are placed. If vdw_nfrag >= 1 then MLWFs are translated to the original
unit cell, otherwise the program will keep the positions obtained by Wannier90. The
later is usually correct if some atoms are located at the corners or at limiting
faces of the unit cell.
Go to the top
 Complete list of input variables
vdw_supercell
Mnemonics: Van Der Waals correction from Wannier functions in SUPERCELL
Characteristic: DEVELOP
Variable type: integer(3)
Default is [0, 0, 0]
Only relevant if vdw_xc in [10,11]
Set of dimensionless positive numbers which define the maximum multiples
of the primitive translations (rprimd) in the supercell construction. Each component of vdw_supercell
indicates the maximum number of cells along both positive or negative directions of the corresponding
primitive vector i.e. the components of rprimd. In the case of layered
systems for which vdW interactions occur between layers made of tightly bound atoms, the evaluation
of vdW corrections coming from MLWFs in the same layer (fragment) must be avoided. Both a negative or
null value for one component of vdw_supercell will indicate that the corresponding direction
is normal to the layers.
Go to the top
 Complete list of input variables
vdw_tol
Mnemonics: van der Waals TOLerance
Characteristic: DEVELOP
Variable type: real
Default is 1e10
Only relevant if vdw_xc==5
The DFTD methods (S. Grimme approach) dispersion potentials, vdw_xc==5 or 6 or 7, include a pair potential.
The number of pairs of atoms contributing to the potential is necessarily limited. To be included
in the potential a pair of atom must have contribution to the energy larger than vdw_tol.
Go to the top
 Complete list of input variables
vdw_tol_3bt
Mnemonics: van der Waals TOLerance for 3Body Term
Characteristic: DEVELOP
Variable type: real
Default is 1 (Comment: Do include the 3body term in the correction)
Only relevant if vdw_xc == 6
Control the computation of the 3body correction inside DFTD3 dispersion correction (Grimme approach) to the total energy:
If vdw_tol_3bt<0, no 3body correction.
If vdw_tol_3bt>0, the 3body term is included with a tolerance = vdw_tol_3bt
DFTD3 as proposed by S. Grimme adds two contributions to the total energy in order to take into account of the dispersion:

A pairwise potential for which the tolerance is controlled by vdw_tol
 A 3body term which is obtained by summing over all triplets of atoms. Each individual contribution depends of the distances and angles between the three atoms. As it is impossible to sum over all the triplets in a periodic system, one has to define a stopping criterium which is here that an additional contribution to the energy must be higher than vdw_tol_3bt
The last term has been predicted to have an important effect for large molecules (see for e.g. Grimme S., J. Chem. Phys. 132, 154104 (2010) ). It is however quite costly in computational time for periodic systems and seems to lead to an overestimation of lattice parameters for weakly bound systems (see for e.g. Reckien W., J. Chem. Phys. 132, 154104(2010) ). Still, its contribution to energy, to forces and to stress is available (not planned for elastic constants, dynamical matrix and internal strains)
Go to the top
 Complete list of input variables
vdw_typfrag
Mnemonics: van der Waals TYPe of FRAGment
Characteristic: DEVELOP
Variable type: integer(natom)
Default is 1*natom
Only relevant if vdw_xc in [10,11]
This array defines the interacting fragments by assigning to each atom an
integer index from 1 to
vdw_nfrag
. The ordering of vdw_typfrag is the same as
typat or xcart. Internally each MLWF is
assigned to a given fragment by computing the distance to the atoms. MLWFs belong to
the same fragment as their nearest atom. The resulting set of MLWFs in each interacting fragment
can be found in the output file in xyz format for easy visualization.
Go to the top
 Complete list of input variables
vdw_xc
Mnemonics: van der Waals eXchangeCorrelation functional
Characteristic: DEVELOP
Variable type: integer
Default is 0
Selects a vanderWaals density functional to
apply the corresponding correction to the exchangecorrelation energy.
If set to zero, no correction will be applied.
Possible values are:

0: no correction.

1: apply vdWDF1 (DRSLL) from Dion
et al.
doi:10.1103/PhysRevLett.92.246401

2: apply vdwDF2 (LMKLL) from Lee
et al.
arXiv:1003.5255v1

5: apply vdwDFTD2 as proposed by S. Grimme (adding a semiempirical dispersion potential)
Available only for groundstate calculations and response functions; see vdw_tol variable
to control convergency
J. Comp. Chem. 27, 1787 (2006)

6: apply vdwDFTD3 as proposed by S. Grimme (refined version of DFTD2)
Available only for groundstate calculations and response functions except strain; see vdw_tol variable
to control convergency and [[FAKE LINK:vdw_dftd3_3bt]] variable to include 3body corrections
J. Chem. Phys. 132, 154104 (2010)

7: apply vdwDFTD3(BJ) as proposed by Grimme (based on BeckeJonhson method J. Chem. Phys. 20042006)
Available only for groundstate calculations and response functions except strain; see vdw_tol variable
to control convergency
J. Comput. Chem. 32, 1456 (2011)

10: evaluate the vdW correlation energy from maximally localized Wannier functions, as proposed by
P. L. Silvestrelli, also known as vdWWF1 method.
doi:10.1103/PhysRevLett.100.053002.
For details on this implementation please check:
doi:10.1016/j.cpc.2011.11.003
The improvements introduced by Andrinopoulos
et al.
in
J. Chem. Phys. 135, 154105 (2011)
namely
the amalgamation procedure, splitting of plike MLWFs
into
two slike Wannier functions and fractional occupation of MLWFs are performed automatically.

11: evaluate the vdW correlation energy from maximally localized Wannier functions, as proposed by
A. Ambrosetti and P. L. Silvestrelli, also known as vdWWF2 method.
doi:10.1103/PhysRevB.85.073101

14: apply DFT/vdWQHOWF method as proposed by Silvestrelli, which combines the quantum harmonic
oscillatormodel with localized Wannier functions.
J. Chem. Phys. 139, 054106 (2013)
For periodic systems a supercell approach has to be used since
vdw_supercell
is not enabled in this case.
For vdw_xc=1 and vdw_xc=2, the implementation follows the strategy devised
in the article of RománPérez and Soler
(doi:10.1103/PhysRevLett.103.096102)
Go to the top
 Complete list of input variables
wfoptalg
Mnemonics: WaveFunction OPTimisation ALGorithm
Characteristic: DEVELOP
Variable type: integer
Default is AUTO_FROM_PSP (Comment: 0 when usepaw=0 (normconserving pseudopotentials), 10 when usepaw=1 (PAW) ; 114 if paral_kgb=1.)
Allows one to choose the algorithm for the optimisation of the wavefunctions.
The different possibilities are :

wfoptalg=0 : standard statebystate conjugate gradient algorithm,
with no possibility to parallelize over the states;

wfoptalg=2 : minimisation of the residual with respect
to different shifts, in order to cover the whole set of occupied
bands, with possibility to parallelize over blocks of states (or bands).
The number of states in a block
is defined in nbdblock.
THIS IS STILL IN DEVELOPMENT.

wfoptalg=3 : minimisation of the residual with respect
to a shift. Available only in the nonselfconsistent case
iscf=2,
in order to find eigenvalues and wavefunctions close to a
prescribed value.

wfoptalg=4 : (see also wfoptalg=14), a parallel code based on the Locally Optimal
Block Preconditioned Conjugate Gradient (LOBPCG) method of Knyazev.
Reference : A.V. Knyazev, "Toward the Optimal Preconditioned Eigensolver
: Locally Optimal Block Preconditioned Conjugate Gradient Method". SIAM
Journal on Scientific Computing 23, pp517541 (2001)
.
The implementation rests on the
matlab program by Knyazev
.
Reference A. V. Knyazev, I. Lashuk, M. E. Argentati, and E. Ovchinnikov,
Block Locally Optimal Preconditioned Eigenvalue Xolvers (BLOPEX) in
hypre and PETSc (2007). SIAM Journal on Scientific Computing (SISC).
25(5): 22242239
.
For more information see
F. Bottin, S. Leroux, A. Knyazev, G. Zerah, Large scale
ab initio calculations based on three levels of parallelization. (2008).
Computational Material Science, 42(2), 329336.

wfoptalg=10 : (for PAW) standard statebystate conjugate gradient algorithm,
with no possibility to parallelize over the states, but modified
scheme described in Kresse, Furthmuller, PRB 54, 11169 (1996)
(modified kinetic energy, modified preconditionning, minimal
orthogonalization, ...) ;

wfoptalg=14 :
the recommended for parallel code, the same as wfoptalg=4 except that the preconditioning of
the block vectors does not depend on the kinetic energy of each band,
and the orthogonalization after the LOBPCG algorithm is no longer
performed. The first modification increases the convergence and the
second one the efficiency.

wfoptalg=114 :
A new version of wfoptalg=14 which is more efficient for few blocks and can take advantage of OpenMP if abinit is compiled with a multithreaded linear algebra library.
With more than 1 thread npfft shoud NOT be used for the time being.

wfoptalg=1 :
new algorithm based on Chebyshev filtering, designed for very large number of processors, in the regime where LOBPCG does not scale anymore. It is not able to use preconditionning and therefore might converge slower than other algorithms. By design, it will
not
converge the last bands: it is recommended to use slightly more bands than necessary. For usage with tolwfr, it is imperative to use nbdbuf. For more performance, try use_gemm_nonlop. For more information, see the
performance guide
and the
paper
by A. Levitt and M. Torrent. Status: experimental but usable. Questions and bug reports should be sent to antoine (dot) levitt (at) gmail.com.
Go to the top
 Complete list of input variables
xc_denpos
Mnemonics: eXchangeCorrelation  DENsity POSitivity value
Characteristic: DEVELOP
Variable type: real
Default is 1e14
For the evaluation of the exchangecorrelation functionals, the density
cannot be negative, or even too small (e.g. the LDA exchange kernel
behaves like the density at power (2/3), and the density is used at the denominator
of different factors in GGAs and metaGGAs.
xc_denpos is the smallest value that the density can assume at the time of the
evaluation of a XC functional, in ABINIT. When then computed density drops below xc_denpos
before attacking the evaluation of the XC functional, then it will be (only for that purpose)
replaced by xc_denpos. Note that the evaluation of the gradients or other quantities
that are densitydependent is performed before this replacement.
It has been observed that the SCF cycle of the TranBlaha mGGA can be quite hard to make converge, for systems
for which there is some vacuum. In this case, setting xc_denpos to 1.0e7 ... 1.0e6 has been seen
to allow good convergence. Of course, this will affect the numerical results somehow, and one should play
a bit with this value to avoid incorrect calculations.
Go to the top
 Complete list of input variables
xc_tb09_c
Mnemonics: Value of the c parameter in the eXchangeCorrelation TB09 functional
Characteristic:
Variable type: real
Default is 99.99
The modified BeckeJohnson exchangecorrelation functional by Tran and Blaha (Phys. Rev. Lett. 102, 226401 (2009)) reads :
V_x(r) = c * V_x^{BR}(r) + (3*c  2) * 1/pi * sqrt(5/12) * sqrt(2*kden(r)/den(r))
in which V_x^{BR}(r) is the BeckeRoussel potential.
In this equation the parameter c can be evaluated at each SCF step according to the following equation :
c = alpha + beta * sqrt(1/V_{cell} * \int_{V_{cell}} grad(den(r))/den(r) d3r)
The c parameter is evaluated thanks to the previous equation when xc_tb09_c is equal to the "magic" default value 99.99.
The c parameter can also be fixed to some (propertyoptimized or materialoptimized) value by using this variable.
Go to the top
 Complete list of input variables