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 abinis code.

The new user is advised to read first the new user's guide, before reading the present file. It will be easier to discover the present file with the help of the tutorial.

When the user is sufficiently familiarized with ABINIT, the reading of the ~ABINIT/Infos/tuning file might be useful. For response-function calculations using abinis, the complementary file ~ABINIT/Infos/respfn_help is needed.

Copyright (C) 1998-2004 ABINIT group (DCA, XG, RC)
This file is distributed under the terms of the GNU General Public License, see ~ABINIT/Infos/copyright or http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see ~ABINIT/Infos/contributors .

Goto : ABINIT home Page | Welcome | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D
Files that describe other input variables:

Content of the file : alphabetical list of developper variables.


A. accesswff  
B.
C. ceksph  
D. dedlnn   densty  
E. effmass   eshift   exchn2n3  
F. fftalg   fftcache   freqsusin   freqsuslo  
G.
H.
I. idyson   ikhxc   intexact   intxc   iprcch   iprcfc   isecur   istatr   istatshft   istwfk  
J.
K.
L. ldgapp  
M. mqgrid  
N. nbandsus   nbdblock   ndyson   nloalg   nnsclo   noseft   noseinert   noseit  
O. optforces   ortalg  
P.
Q. qprtrb  
R.
S.
T.
U. useria, userib, useric, userid, userie   userra, userrb, userrc, userrd, userre   useylm  
V. vprtrb  
W. wfoptalg  
X.
Y.
Z.




accesswff
Mnemonics: ACCESS to WaveFunction Files
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

Governs the method of access to the internal wavefunction files. Relevant only for the wavefunctions files for which the corresponding "mkmem"-type variable is zero, that is, for the wavefunctions that are not kept in core memory. The MPI/IO routines might be much more efficient than usual Fortran IO routines in the case of a large number of processors, with a pool of disks attached globally to the processors, but not one disk attached to each processor. For a cluster of workstations, where each processor has his own temporaries, the use of accesswff=0 might be perfectly allright.



Go to the top | Complete list of input variables
ceksph
Mnemonics: CEnter K SPHere
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

Control the set of plane waves in a sphere, generated for each k point. The value 0 is desirable for all usual band structure calculation, since this choice allows the symmetry to be preserved at each k-points, so that degeneracies are correct. The value 1 is used to generate input wavefunctions to the GW code of Rex Gody and coworkers. This option is only allowed in newsp.



Go to the top | Complete list of input variables
dedlnn
Mnemonics:
Characteristic: ENERGY
Variable type: real parameter
Default dedlnn is 0, i.e. no correction.

Gives a value for derivative d(Etotal)/d(log(Npw)) for given value of ecut. Here "log" refers to a natural, base "e" logarithm. Since Etotal is an energy, dedlnn is also an energy. Can be specified in Ha (the default), Ry, eV or Kelvin, since ecut has the 'ENERGY' characteristics. (1 Ha=27.2113961 eV).
dedlnn is used to compute the Pulay correction to the stress tensor using:
correction=(1/ucvol)*dedlnn.
See the discussion on the stress tensor given below.
This value must be computed independently by making several runs at fixed geometry and variable ecut, generally within +/- 3% of the desired ecut, and using the Etotal(npw) data to compute the derivative.
NOTE: ABINIT computes the stress tensor whenever a self-consistent energy run is performed, but the values along the diagonal of the stress tensor can have large systematic errors unless a user-provided value of dedlnn is input so that the appropriate Pulay correction to the diagonal stress tensor is computed.
An alternative (and more elegant) way to correct these systematic errors is provided through the use of the ecutsm input variable.




Go to the top | Complete list of input variables
densty

Mnemonics: initial DENSity for each TYpe of atom
Characteristic: DEVELOP
Variable type: real array densty(ntypat)
Default is 0.0d0.

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
effmass
Mnemonics: EFFective MASS
Characteristic: DEVELOP
Variable type: real number
Default value is one.


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 number
Default value is zero.

Used only 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.2113961 eV)




Go to the top | Complete list of input variables
exchn2n3

Mnemonics: EXCHange N2 and N3
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

If exchn2n3 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 exchn2n3=4xx FFT treatment.



Go to the top | Complete list of input variables
fftalg
Mnemonics: Fast Fourier Transform ALGorithm
Characteristic: DEVELOP
Variable type: integer parameter
Default is 112, except for VPP Fujitsu, for which the Default is 111, and for NEC, for which the default is 200.

Allows to choose the algorithm for Fast Fourier Transforms. These have to be used when applied to wavefunctions (routine fourwf.f), as well as when applied to densities and potentials (routine fourdp.f). 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 : The second digit (B) is related to fourdp.f : The third digit (C) is related to fourwf.f : 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 parameter
Default is 16. Not yet machine-dependent.

Gives the cache size of the current machine, in Kbytes.
Internal representation as ngfft(8).




Go to the top | Complete list of input variables
freqsusin

Mnemonics: FREQuencies for the SUSceptibility matrix : the INcrement
Characteristic: DEVELOP
Variable type: real parameter, positive or zero
Default is 0.0

Define, with freqsuslo, the series of imaginary frequencies at which the susceptibility matrix should be computed.
This is still under development.




Go to the top | Complete list of input variables
freqsuslo

Mnemonics: FREQuencies for the SUSceptibility matrix : the LOwest frequency
Characteristic: DEVELOP
Variable type: real parameter, positive or zero
Default is 0.0

Define, with freqsusin, the series of imaginary frequencies at which the susceptibility matrix should be computed.
This is still under development.




Go to the top | Complete list of input variables
idyson
Mnemonics: Integer giving the choice of method for the DYSON equation
Characteristic: DEVELOP
Variable type: integer parameter
Default value is 1.

Choice for the method used to solve the Dyson equation in the calculation of the interacting susceptibility matrix or/and in the calculation of the ACFD exchange-correlation energy:



Go to the top | Complete list of input variables
ikhxc
Mnemonics: Integer option for KHXC = Hartree XC kernel
Characteristic:
Variable type: integer parameter
Default value is 1.

Define the HXC kernel, in the cases for which it can be dissociated with the choice of the HXC functional given by ixc, namely the TD-DFT computation of excited states (iscf=-1), and the computation of the susceptibility matrix (for ACFD purposes). Options 2 to 6 are for the ACFD only.
For ACFD-ALDA, BPG and energy optimized kernels are highly experimental and not tested yet !!! For ACFD calculations, a cut-off density has been defined for the ALDA, BPG and energy optimized kernels : let rhomin = userre*rhomax (where rhomax is the maximum density in space) ; then the actual density used to calculate the local part of these kernels at point r is max(rho(r),rhomin.




Go to the top | Complete list of input variables
intexact
Mnemonics: INTegration using an EXACT scheme
Characteristic: DEVELOP
Variable type: integer parameter
Default value is 0.

Relates to the ACFD xc functionals only. If intexact > 0, the integration over the coupling constant will be performed analytically in the RPA and in the two-electron PGG approximation for the ACFD exchange-correlation energy. Otherwise, the integration over the coupling constant will be performed numerically (also see ndyson and idyson. Note that the program will stop in intexact > 0 and ikhxc/=1 (RPA) or ikhxc/=3 (PGG, with two electrons)



Go to the top | Complete list of input variables
intxc
Mnemonics: INTerpolation for eXchange-Correlation
Characteristic: DEVELOP
Variable type: integer parameter
Default value is 0.


For RF calculations only intxc=0 is allowed yet. Moreover, the GS preparation runs (giving the density file and zero-order 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 non-negligible development effort. Other targets are prioritary... You will notice that many automatice tests use intxc=1. Please, do not follow this historical choice for your production runs.



Go to the top | Complete list of input variables


iprcch

Mnemonics: Integer for PReConditioning of CHarge response
Characteristic: DEVELOP
Variable type: integer parameter
Default for iprcch is 2, unless ionmov=4 and iscf=5, in which case iprcch is automatically put to 3.

Used when iscf>0, to define the SCF preconditioning scheme. Potential-based preconditioning schemes for the SCF loop are still under development. The present parameter (charge part : mixed electronic-atomic) describe the way a change of density is derived from a change of atomic position. Supported values : For the time being, the choice 3 must be used with ionmov=4 and iscf=5. Otherwise, use the choice 2.
No meaning for RF calculations.




Go to the top | Complete list of input variables
iprcfc
Mnemonics: Integer for PReConditioner of Force Constants
Characteristic: DEVELOP
Variable type: integer parameter
Default for iprcfc is 0.

Used when iscf>0, to define the SCF preconditioning scheme. Potential-based preconditioning schemes for the SCF loop are still under development.
The present parameter (force constant part) describe the way the a change of force is derived from a change of atomic position.
Supported values : No meaning for RF calculations.




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 out-of-line data is allowed, and might save one non-SCF calculation every two line minimisation when some stability conditions are fulfilled (since there are 2 non-SCF 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 non-SCF 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 non-SCF 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 repetition Rate

istatshft
Mnemonics: Integer for STATus file SHiFT

Characteristic: DEVELOP, NO MULTI
Variable type: integer parameter
Default istatr is 49, and 149 for Cray T3E (slow I/Os). Values lower than 10 may not work on some machines. Default istatshft 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 array istwfk(nkpt)
Default is 0 for all k points for GS calculations. For RF calculations, the Default is not used : istwfk is forced to be 1 deep inside the code, for all k points. For spin-orbit calculations (nspinor=2), istwfk is also forced to be 1, for all k points.

Control the way the wavefunction for each k-point is stored inside ABINIT, in reciprocal space.
For the GS calculations, in the "cg" array containing the wavefunction coefficients, there is for each k-point and each band, a segment cg(1:2,1:npw). The 'full' number of plane wave is determined by ecut. However, if the k-point coordinates are build only from zeroes and halves (see list below), the use of time-reversal symmetry (that connects coefficients) has been implemented, in order to use real-to-complex 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 time-reversal 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 time-reversal symmetry cannot be used in the RF calculations. Note that the input variable "mkmem" also controls the wavefunction storage, but at the level of core memory versus disk space.




Go to the top | Complete list of input variables
ldgapp
Mnemonics: Lein-Dobson-Gross approximation
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

Concern only the ACFD computation of the correlation energy (optdriver=3).
If ldgapp > 0, the Lein, Dobson and Gross first-order approximation to the correlation energy is also computed during the ACFD run. [See Lein, Dobson and Gross, J. Comput. Chem. 20,12 (1999)]. This is only implemented for the RPA, for the PGG kernel and for the linear energy optimized kernel at the present time.




Go to the top | Complete list of input variables


mqgrid
Mnemonics: Maximum number of Q-space GRID points for pseudopotentials
Characteristic: DEVELOP
Variable type: integer parameter
Default is 1201.

Govern the size of the one-dimensional information related to pseudopotentials, in reciprocal space : potentials, or projector functions.



Go to the top | Complete list of input variables


nbandsus
Mnemonics: Number of BANDs to compute the SUSceptibility
Characteristic:
Variable type: integer parameter
Default value is nband.

Number of bands to be used in the calculation of the susceptibility matrix (ACFD only).



Go to the top | Complete list of input variables
nbdblock
Mnemonics: Number of BanDs in a BLOCK
Characteristic: DEVELOP
Variable type: integer parameter
Default is 1

In case of non-standard, blocked algorithms for the optimization of the wavefunctions (that is, if wfoptalg/=0), nbdblock defines the number of bands (or states) in a block.



Go to the top | Complete list of input variables


ndyson
Mnemonics: Number of points to be added for the solution of the DYSON equation
Characteristic:
Variable type: integer parameter
Default value is -1.

Number of points to be added to lambda=0 and lambda=1 (that are always calculated for the integration ober the coupling constant lambda in the ACFD calculation of the exchange-correlation energy.



Go to the top | Complete list of input variables
nfreqsus
Mnemonics: Number of FREQuencies for the SUSceptibility matrix
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0

If 0, no computation of frequency-dependent susceptibility matrix. If 1 or larger, will read freqsuslo and freqsusin to define the frequencies (1 is currently the only value allowed)



Go to the top | Complete list of input variables
nloalg
Mnemonics: Non Local ALGorithm
Characteristic: DEVELOP
Variable type: integer variable
Default is 4, except for the NEC where it is 2.

Allows to choose the algorithm for non-local operator application. On super-scalar architectures, the Default nloalg=4 is the best, but you can save memory by using nloalg=-4 . More detailed explanations : Negative values of nloalg correspond positive ones, where the phase precomputation has been suppressed, in order to save memory space:
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 time-consuming.
Note : internally, nloalg is an array nloalg(1:4), that also allows to initialize, in order, jump, mblkpw, and mincat (not documented). However, only the first component nloalg(1) is read as an input variable.




Go to the top | Complete list of input variables
nnsclo
Mnemonics: Number of Non-Self Consistent LOops
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

Gives the maximum number of non-self-consistent loops of nline line minimisations, in the SCF case (when iscf >0). In the case iscf<=0 , the number of non-self-consistent loops is determined by nstep.
The Default value of 0 correspond to make the two first fixed potential determinations of wavefunctions have 2 non-self consistent loops, and the next ones to have only 1 non-self consistent loop.




Go to the top | Complete list of input variables
optforces
Mnemonics: OPTions for the calculation of FORCES
Characteristic: DEVELOP
Variable type: integer parameter
Default is 1.

Allows to choose options for the calculation of forces.



Go to the top | Complete list of input variables
ortalg
Mnemonics: ORThogonalisation ALGorithm
Characteristic: DEVELOP
Variable type: integer parameter
Default is 2.

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 band-by-band CG gradient for finding eigenfunctions.
Negative values make only one projection per line mininisation.
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, actually identical to the one in versions prior to 1.7
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
qprtrb
Mnemonics: Q-wavevector of the PERTurbation
Characteristic: DEVELOP
Variable type: integer array of three values
Default wavevector is 0 0 0.

Gives the wavevector, in units of reciprocal lattice primitive translations, of a perturbing potential of strength vprtrb. See vprtrb for more explanation.



Go to the top | Complete list of input variables
useria, userib, useric, userid, userie
Mnemonics: USER Integer variables A, B, C, D and E
Characteristic:
Variable type: integers
Default values are 0 .

These are user-definable 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, userrb, userrc, userrd, userre
Mnemonics: USER Real variables A, B, C, D, and E
Characteristic:
Variable type: real numbers

These are user-definable with the same purpose as useri above.
Default value is 0.0 .



Go to the top | Complete list of input variables
useylm
Mnemonics: USE YLM (the spherical harmonics)
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

(Not working yet: purely for developpers)



Go to the top | Complete list of input variables
vprtrb
Mnemonics: potential -V- for the PeRTuRBation
Characteristic: DEVELOP, ENERGY
Variable type: real array of 2 elements
Default value is 0.d0 0.d0.

Gives the real and imaginary parts of a scalar potential perturbation. Can be specified in Ha (the default), Ry, eV or Kelvin, since ecut has the 'ENERGY' characteristics.
This is made available for testing responses to such perturbations. The form of the perturbation, which is added to the local potential, is:




Go to the top | Complete list of input variables
wfoptalg
Mnemonics: WaveFunction OPTimisation ALGorithm
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0.

Allows to choose the algorithm for the optimisation of the wavefunctions.
The different possibilities are :




Go to the top | Complete list of input variables
Goto : ABINIT home Page | Welcome | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D