# ABINIT, file handling input variables:

## Complete list and description.

This document lists and provides the description of the name (keywords) of "file handling" input variables 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/doc/users/tuning file might be useful. For response-function calculations using abinis, please read the response function help file

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

Goto : ABINIT home Page | 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 | Optic | Mrgscr

Files that describe other input variables:

- Basic variables, VARBAS
- Developper variables, VARDEV
- Geometry builder + symmetry related variables, VARGEO
- Ground-state calculation variables, VARGS
- GW variables, VARGW
- Internal variables, VARINT
- Parallelisation variables, VARPAR
- Projector-Augmented Wave variables, VARPAW
- Response Function variables, VARRF
- Structure optimization variables, VARRLX
- Wannier90 interface variables, VARW90

### Content of the file : alphabetical list of "file handling" variables.

A.
B.
C. cmlfile
D.
E.
F.
G. getacfd getddk getden getkss getocc getqps getscr getwfk getwfq get1den get1wf
H.
I. irdddk irdden irdkss irdqps irdscr irdwfk irdwfq ird1wf
J.
K. kssform
L.
M. mffmem mkmem
N.
O.
P. prtacfd prtcml prtden prtdos prtdosm prteig prtfsurf prtgeo prtgkk prtkpt prtpot prtstm prtvha prtvhxc prtvol prtvxc prtwant prtwf prt1dm
Q.
R.
S.
T.
U.
V.
W.
X.
Y.
Z.

cmlfile
Mnemonics: Chemical Markup Language FILE
Characteristic: NO INTERNAL
Variable type: character string
Default is no file.
Used to import some of the data from one or more Chemical Markup Language 2 (CML2) file(s) (one per dataset). Unlike most of the other input variables, it refers to a character string, e.g. :

     cmlfile ../t67.in_CML.xml

The file is preprocessed, and the relevant information is translated in order to be used as an alternative to the usual input variables. Note that the input variables directly defined in the usual input file have precedence over the CML data : the latter are used only when there is no occurence of the corresponding keyword in the input file...
The ABINIT CML parser is still quite primitive. The mechanism followed to parse the CML file is described afterwards.
The ABINIT CML parser will localize in the CML file the first occurence of a 'molecule' markup section. It will ignore all other occurences of 'molecule'. Inside this 'molecule' section, it will localize the first occurences of the 'crystal', 'symmetry' and 'atomArray' sections. All other occurences, and all other sections, are ignored.
The following ABINIT input variables will be extracted from these sections of the CML file (if the data is available) :

- acell from the first 'scalar title="a"','scalar title="b"', and 'scalar="c"' sections (all three must be present if one is present) in the 'crystal' section, expecting the data in Angstrom;
- angdeg from the first 'scalar title="alpha"','scalar title="beta"', and 'scalar title="gamma"' sections (all three must be present if one is present) in the 'crystal' section, expecting the data in degrees;
- nsym, symrel and tnons from the content of 'matrix' sections in the 'symmetry' section;
- natom from the number of items in the first 'atom' sections in the 'atomArray' section;
- typat from the attribute 'elementType' in the 'atom' sections in the 'atomArray' section, with identification of the pseudopotentials that have the correct nuclear charge, according to the atomic symbol (the first pseudopotential with the correct nuclear charge, from the pseudopotential list, will be used);
- xred from the attributes 'xFract', 'yFract', and 'zFract' (all three must be present if one is present) in the 'atom' sections in the 'atomArray' section.

These limited parsing capabilities are enough for ABINIT to read the CML files it has created thanks to the use of the prtcml input variable.
Go to the top | Complete list of input variables

getacfd
Mnemonics: GET ACFD variables
Characteristic: DEVELOP
Variable type: integer parameter
Default is 0
Restores the values saved from a previous interrupted ACFD calculation, in order to continue calculating the correlation energy.
Please note that the use of this variable requires compiled-in NetCDF support, as these values are stored in a NetCDF file.
As of version 4.5, this variable has no effect.
See also: prtacfd.
Go to the top | Complete list of input variables

getden
Mnemonics: GET the DENsity from ...
Characteristic:
Variable type: integer parameter
Default is 0.
Eventually used when ndtset>0 (multi-dataset mode) and, in the case of a ground-state calculation, if iscf<0 (non-SCF calculation), to indicate that the starting density is to be taken from the output of a previous dataset. It is used to chain the calculations, since it describes from which dataset the OUTPUT density are to be taken, as INPUT density of the present dataset.
If getden==0, no such use of previously computed output density file is done.
If getden is positive, its value gives the index of the dataset from which the output density is to be used as input.
If getden is -1, the output density of the previous dataset must be taken, which is a frequently occuring case.
If getden is a negative number, it indicates the number of datasets to go backward to find the needed file. In this case, if one refers to a non existant data set (prior to the first), the density is not initialised from a disk file, so that it is as if getden=0 for that initialisation. Thanks to this rule, the use of getden -1 is rather straightforward : except for the first density, that is not initialized by reading a disk file, the output density of one dataset is input of the next one.
Be careful : the output density file of a run with non-zero ionmov does not have the proper name (it has a "TIM" indication) for use as an input of an iscf<0 calculation.
One should use the output density of a ionmov==0 run.
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.
Go to the top | Complete list of input variables

getkss
Mnemonics: GET Kohn-Sham Structure from ...
Characteristic: GW
Variable type: integer parameter
Default is 0.
Used when ndtset>0 (multi-dataset mode) and optdriver=3 or 4 (a GW calculation), to indicate that the KSS wavefunction file is to be taken from the output of a previous dataset. It is used to chain the calculations, since it describes from which dataset the OUTPUT wavefunctions are to be taken, as INPUT of the present dataset.
If getkss==0, no such use of previously computed output KSS file is done.
If getkss is positive, its value gives the index of the dataset from which the output KSS file is to be used as input.
If getkss is -1, the output KSS file of the previous dataset must be taken, which is a frequently occuring case.
If getkss is a negative number, it indicates the number of datasets to go backward to find the needed file. In this case, if one refers to a non existent data set (prior to the first), the KSS file is not initialised from a disk file, so that it is as if getkss=0 for that initialisation.
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.
Go to the top | Complete list of input variables

getocc
Mnemonics: GET OCC parameters from ...
Characteristic:
Variable type: integer parameter, an instance of a 'get' variable
Default is 0.
This variable is typically used to chain the calculations, in the multi-dataset mode (ndtset>0), since it describes from which dataset the array occ is to be taken, as input of the present dataset. The occupation numbers are EVOLVING variables, for which such a chain of calculations is useful.
If ==0, no use of previously computed values must occur.
If it is positive, its value gives the index of the dataset from which the data are to be used as input data. It must be the index of a dataset already computed in the SAME run.
If equal to -1, the output data of the previous dataset must be taken, which is a frequently occuring case. However, if the first dataset is treated, -1 is equivalent to 0, since no dataset has yet been computed in the same run.
If another negative number, it indicates the number of datasets to go backward to find the needed data (once again, going back beyond the first dataset is equivalent to using a null get variable).
NOTE that a non-zero getocc MUST be used with occopt==2, so that the number of bands has to be initialized for each k point. Of course, these numbers of bands must be identical with the numbers of bands of the dataset from which occ will be copied. The same is true for the number of k points.
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.
Go to the top | Complete list of input variables

getqps
Mnemonics: GET QuasiParticle Structure
Characteristic: GW
Variable type: integer parameter
Default is 0.
Used when ndtset>0 (multi-dataset mode) and optdriver=3, or 4 (screening or sigma step of a GW calculation), to indicate that the eigenvalues and possibly the wavefunctions have to be taken from a previous quasiparticle calculation (instead of the usual LDA starting point). This is to achieve quasiparticle self-consistency. See also irdqps
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.
Go to the top | Complete list of input variables

getscr
Mnemonics: GET SCReening (the inverse dielectric matrix) from ...
Characteristic: GW
Variable type: integer parameter
Default is 0.
Used when ndtset>0 (multi-dataset mode) and optdriver=4 (sigma step of a GW calculation), to indicate that the dielectric matrix (_SCR file) is to be taken from the output of a previous dataset. It is used to chain the calculations, since it describes from which dataset the OUTPUT dielectric matrix are to be taken, as INPUT of the present dataset.
If getscr==0, no such use of previously computed output EPS file is done.
If getscr is positive, its value gives the index of the dataset from which the output _SCR file is to be used as input.
If getscr is -1, the output _SCR file of the previous dataset must be taken, which is a frequently occuring case.
If getscr is a negative number, it indicates the number of datasets to go backward to find the needed file. In this case, if one refers to a non existent data set (prior to the first), the _SCR file is not initialised from a disk file, so that it is as if getscr=0 for that initialisation.
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.
Go to the top | Complete list of input variables

getwfk
Mnemonics: GET the wavefunctions from _WFK file

getwfq
Mnemonics: GET the wavefunctions from _WFQ file

get1wf
Mnemonics: GET the first-order wavefunctions from _1WF file

getddk
Mnemonics: GET the ddk wavefunctions from _1WF file
Characteristic:
Variable type: integer parameter
Default is 0.
Eventually used when ndtset>0 (in the multi-dataset mode), to indicate starting wavefunctions, as an alternative to irdwfk, irdwfq, ird1wf, or irdddk. One should first read the explanations given for these latter variables.
The getwfk, getwfq, get1wf and getddk variables are typically used to chain the calculations in the multi-dataset mode, since they describe from which dataset the OUTPUT wavefunctions are to be taken, as INPUT wavefunctions of the present dataset.
We now focus on the getwfk input variable (the only one used in ground-state calculations), but the rules for getwfq and get1wf are similar, with _WFK replaced by _WFQ or _1WF.
If getwfk==0, no use of previously computed output wavefunction file appended with _DSx_WFK is done.
If getwfk is positive, its value gives the index of the dataset for which the output wavefunction file appended with _WFK must be used.
If getwfk is -1, the output wf file with _WFK of the previous dataset must be taken, which is a frequently occuring case.
If getwfk 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 getwfk=0 for that initialisation. Thanks to this rule, the use of getwfk -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.
In the case of a ddk calculation in a multidataset run, in order to compute correctly the localisation tensor, it is mandatory to declare give getddk the value of the current dataset (i.e. getddk3 3 ) - this is a bit strange and should be changed in the future.
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.
Go to the top | Complete list of input variables

get1den
Mnemonics: GET the first-order density from _DEN file
Characteristic:
Variable type: integer parameter
Default is 0.
Relevant only when optdriver=5. Indicate the files from which first-order densities must be obtained. (As an alternative, one should define an input variable ird1den, but this is still to be coded, as of v5.3).
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.
Go to the top | Complete list of input variables

irdden
Mnemonics: Integer that governs the ReaDing of DEN file
Characteristic:
Variable type: integer parameter
Default is 0 when iscf > 0, 1 when iscf < 0.
Start the ground-state calculation from the density file of a previous run. When iscf < 0, the reading of a DEN file is always enforced.

A non-zero value of irdden is treated in the same way as other "ird" variables, see the section 4 of abinis_help.

Go to the top | Complete list of input variables

irdkss
Mnemonics: Integer that governs the ReaDing of KSS file
Characteristic: GW
Variable type: integer parameter
Default is 0.
Relevant only when optdriver=3 or 4. Indicate the file from which the dielectric matrix must be obtained. As alternative, one can use the input variable getkss.
When optdriver=3 or 4, at least one of irdkss or getscr must be non-zero.

A non-zero value of irdkss is treated in the same way as other "ird" variables, see the section 4 of abinis_help.

Go to the top | Complete list of input variables

irdqps
Mnemonics: Integer that governs the ReaDing of QuasiParticle Structure
Characteristic: GW
Variable type: integer parameter
Default is 0.
Relevant only when optdriver=3 or 4. Indicate the file from which the eigenvalues and possibly the wavefunctions must be obtained, in order to achieve a self-consistent quasiparticle calculations. See also getqps
Go to the top | Complete list of input variables

irdscr
Mnemonics: Integer that governs the ReaDing of EPSilon
Characteristic: GW
Variable type: integer parameter
Default is 0.
Relevant only when optdriver=4. Indicate the file from which the dielectric matrix must be obtained. As alternative, one can use the input variable getscr.
When optdriver=4, at least one of irdscr or getscr must be non-zero.

A non-zero value of irdscr is treated in the same way as other "ird" variables, see the section 4 of abinis_help.

Go to the top | Complete list of input variables

irdwfk
Mnemonics: Integer that governs the ReaDing of _WFK files

irdwfq
Mnemonics: Integer that governs the ReaDing of _WFQ files

ird1wf
Mnemonics: Integer that governs the ReaDing of _1WF files

irdddk
Mnemonics: Integer that governs the ReaDing of DDK wavefunctions, in _1WF files
Characteristic:
Variable type: integer parameter
Default is 0.
Indicates eventual starting wavefunctions. As alternative, one can use the input variables getwfk, getwfq, get1wf or getddk.
Ground-state calculation :

- only irdwfk and getwfk have a meaning
- at most one of irdwfk or getwfk can be non-zero
- if irdwfk and getwfk are both zero, initialize wavefunctions with random numbers for ground state calculation.
- if irdwfk = 1 : read ground state wavefunctions from a disk file appended with _WFK , produced in a previous ground state calculation (see the section 4 of abinis_help).

Response-function calculation :

- one and only one of irdwfk or getwfk MUST be non-zero
- if irdwfk = 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 abinis_help).
- only one of irdwfq or getwfq can be non-zero, if both of them are non-zero, use as k + q file the one defined by irdwfk and/or getwfk
- if irdwfq = 1 : read ground state k+q -wavefunctions from a disk file appended with _WFQ , produced in a previous ground state calculation (see the section 4 of abinis_help).
- at most one of ird1wf or get1wf can be non-zero
- if both are zero, initialize first order wavefunctions to 0's.
- if ird1wf = 1 : read first-order wavefunctions from a disk file appended with _1WFx , produced in a previous response function calculation (see the section 4 of abinis_help).
- at most one of irdddk or getddk can be non-zero
- one of them must be non-zero if an homogeneous electric field calculation is done (presently, a ddk calculation in the same dataset is not allowed)
- if irdddk = 1 : read first-order ddk wavefunctions from a disk file appended with _1WFx , produced in a previous response function calculation (see the section 4 of abinis_help).

Go to the top | Complete list of input variables

kssform
Mnemonics: Kohn Sham Structure file FORMat
Characteristic:
Variable type: integer parameter
Default is 1, i.e. the KSS format
Governs the choice of the format for the file that contains the Kohn-Sham electronic structure information, for use in GW calculations, see the input variables optdriver and nbandkss.

- (obsolete and, starting v5.6, not supported anymore) kssform=0, the _STA file is generated together with a _VKB file containing information on the pseudopotential
- kssform=1, a single file .kss (double precision) containing complete information on the Kohn Sham Structure (eigenstates and the pseudopotentials used) will be generated through full diagonalization of the complete Hamiltonian matrix. The file has at the beginning the standard abinit header
- (obsolete and not supported anymore starting v5.6) kssform=2, the same as 1, but most of the relevant informations are in single precision.
- kssform=3, a single file .kss (double precision) containing complete information on the Kohn Sham Structure (eigenstates and the pseudopotentials used) will be generated through the usual conjugate gradient algorithm (so, a restricted number of states) The file has at the beginning the standard abinit header

Very important : for the time being, istwfk must be 1 for all the k-points.

Go to the top | Complete list of input variables

mffmem
Mnemonics: Maximum number of FFt grids in MEMory
Characteristic:
Variable type: integer parameter
Default is 1, i.e. an in-core solution.
Governs the choice of number of FFT arrays that will be kept permanently in core memory.
The allowed values are 0, in which case maximal use is made of disk space, saving core memory at the expense of execution time (not much, usually), or 1, in which case everything is kept in core memory.
More detailed explanations : if mffmem==0, some arrays of size
double precision :: xx(nfft,nsppol)
will be saved on disk when the wavefunctions are optimized or when the Hartree and xc potential is computed (which can require some sizeable memory space also).
The number of these arrays is
5 if iscf==1,
3 if iscf==2 or 12,
4 if iscf==3 or 3,
6 if iscf==4 or 14,
10 if iscf==5,
(2+2*npulayit) if iscf==7 or 17.
The saving of memory can be appreciable especially when iscf==5, 7 ,17 and nsppol=2.
Go to the top | Complete list of input variables

mkmem
Mnemonics: Maximum number of K - points in MEMory
Characteristic:
Variable type: integer parameter
Default is nkpt, i.e. in-core solution.
Sets the maximum number of k points for which the ground state wavefunctions are kept in core memory at one time.
This value should either be 0, in which case an out-of-core solution will be used, or else nkpt, in which case an in-core solution will be used.
This input variable can be used during a GW calculation to reduce the memory allocated by each processor (presently only for optdriver=3). See also the related input variable gwpara.
Internal representation as mkmems(1)
Go to the top | Complete list of input variables

prtacfd
Mnemonics: PRinT ACFD variables
Characteristic:
Variable type: integer parameter
Default is 0.
Saves ACFD variables into a NetCDF every prtacfd steps.
Please note that the use of this variable requires compiled-in NetCDF support, as these values are stored in a NetCDF file.
As of version 4.5, this variable has no effect.
See also: getacfd.
Go to the top | Complete list of input variables

prtcml
Mnemonics: PRinT CML file
Characteristic:
Variable type: integer parameter
Default is 0.
If set to 1 or a larger value, provide output of geometrical parameters using CML (the Chemical Markup Language, see papers by P. Murray-Rust and H. Rzepa, especially J. Chem. Inf. Comput. Sci. 39, 928-942 (1998) and the Web site http://www.xml-cml.org). Such file can be treated automatically by tools developed to handle XML formatted files.
Such a CML file contains :

- The crystallographic information (space group number and the needed unit cell parameters and angles)
- The list of symmetry elements
- The list of atoms in the cell (symbols and reduced coordinates)

If ionmov==0, the name of the CML file will be the root output name, followed by _CML.xml .
If ionmov==1 or 2, the CML file will be output at each time step, with the name being made of

- the root output name,
- followed by _TIMx , where x is related to the timestep (see later)
- then followed by _CML.xml

No output is provided by prtcml lower or equal to 0.
Go to the top | Complete list of input variables

prtden
Mnemonics: PRinT the DENsity
Characteristic:
Variable type: integer parameter
Default is 1. (was 0 before v5.3)
If set to 1 or a larger value , provide output of electron density in real space rho(r), in units of electrons/Bohr^3.
If ionmov==0, the name of the density file will be the root output name, followed by _DEN .
If ionmov==1 or 2, density files will be output at each time step, with the name being made of

- the root output name,
- followed by _TIMx , where x is related to the timestep (see later)
- then followed by _DEN

The file structure of the unformatted output file is described below, see section 6).
If prtden is lower than 0, two files will be printed for restart every prtden step, with the names being made of

- the root temporary name,
- followed by _DEN_x , where x is 0000 or 0001 alternatively.
- The most recent of the two files should be used for restart, and copied to root input name_DS2_DEN
- To perform a restart, in a multidataset mode, use ndtset 2 and jdtset 2 3 (that is 2 datasets, numbered 2 and 3)
- In the dataset 2, get the density you just copied (getden2 -1), perform a non selfconsistent calculation and print the wave function (prtwf2 1)
- In the dataset 3, get the previous wf(getwfk3 -1), and continue the calculation
- This complicated procedure is due to the fact that reading the density is only allowed for a non sc calculation, and also for a dataset different of 0 or the previous one, the option we choose here.

Please note that in the case of PAW (usepaw=1) calculations, the density output by prtden is not the full physical electron density. If what is wanted is the full physical electron density, say for post-processing with AIM or visualization, see pawprtden. Nevertheless, even in the PAW case, when chaining together calculations where the density from one calculation is to be used in a subsequent calculation, it is necessary to use prtden.
Go to the top | Complete list of input variables

prtdos
Mnemonics: PRinT the Density Of States
Characteristic:
Variable type: integer parameter
Default is 0.
Provide output of Density of States if set to 1, 2 or 3. Can either use a smearing technique (prtdos=1), or the tetrahedron method (prtdos=2). If prtdos=3, provide output of Local Density of States inside a sphere centered on an atom, as well as the angular-momentum projected DOS, in the same sphere. The resolution of the linear grid of energies for which the DOS is computed can be tuned thanks to dosdeltae.

If prtdos=1, the smeared density of states is obtained from the eigenvalues, properly weighted at each k point using wtk, and smeared according to occopt and tsmear. All levels that are present in the calculation are taken into account (occupied and unoccupied). Note that occopt must be between 3 and 7 .
In order to compute the DOS of an insulator with prtdos=1, compute its density thanks to a self-consistent calculation (with a non-metallic occopt value, 0, 1 or 2), then use prtdos=1, together with iscf=-3, and a metallic occopt, between 3 and 7, providing the needed smearing. If prtdos=1, the name of the DOS file is the root name for the output files, followed by "_DOS" .

If prtdos=2, the DOS is computed using the tetrahedron method. As in the case of prtdos=1, all levels that are present in the calculation are taken into account (occupied and unoccupied). In this case, the k-points must have been defined using the input variable ngkpt or the input variable kptrlatt. There must be at least two non-equivalent points in the Irreducible Brillouin Zone to use prtdos=2. It is strongly advised to use a non-shifted k-point grid (shiftk 0 0 0): such grids contain naturally more extremal points (band minima and maxima at Gamma or at the zone-boundaries) than shifted grids, and lead to more non-equivalent points than shifted grids, for the same grid spacing. There is no need to take care of the occopt or tsmear input variables, and there is no subtlety to be taken into account for insulators. The computation can be done in the self-consistent case as well as in the non-self-consistent case, using iscf=-3. This allows to refine the DOS at fixed starting density.
In that case, if ionmov==0, the name of the potential file will be the root output name, followed by _DOS (like in the prtdos=1 case).
However, if ionmov==1 or 2, potential files will be output at each time step, with the name being made of

- the root output name,
- followed by _TIMx , where x is related to the timestep (see later)
- then followed by _DOS.

If prtdos=3, the same tetrahedron method as for prtdos=2 is used, but the DOS inside a sphere centered on some atom is delivered, as well as the angular-momentum projected (l=0,1,2,3,4) DOS in the same sphere. The preparation of this case, the parameters under which the computation is to be done, and the file denomination is similar to the prtdos=2 case. However, three additional input variables might be provided, describing the atoms that are the center of the sphere (input variables natsph and iatsph), as well as the radius of this sphere (input variable ratsph).
In case of PAW, ratsph radius has to be greater or equal to largest PAW radius of the atom types considered (which is read from the PAW atomic data file; see rc_sph or r_paw). Additional printing and/or approximations in PAW mode can be controlled with pawprtdos keyword (in particular,pawprtdos=2 can be used to compute quickly a very good approximation of the DOS).
Note 1: when prtdos=3, it is possible to ouptut m-decomposed LDOS in _DOS file; simply use prtdosm keyword.
Note 2: the integrated total DOS in spheres around atoms can be obtained when prtdensph flag is activated. It can be compared to the integrated DOS provided in _DOS file when prtdos=3.

Go to the top | Complete list of input variables

prtdosm
Mnemonics: PRinT the Density Of States with M decomposition
Characteristic:
Variable type: integer parameter
Default is 0.
Relevant only when prtdos=3.
If set to 1, the m-decomposed LDOS is delivered in DOS file.
Go to the top | Complete list of input variables

prteig
Mnemonics: PRinT EIGenenergies
Characteristic:
Variable type: integer parameter
Default is 1 (was 0 before v5.3)
If set to 1, a file *_EIG, containing the k-points and one-electron eigenvalues is printed.
Go to the top | Complete list of input variables

prtfsurf
Mnemonics: PRinT Fermi SURFace file
Characteristic:
Variable type: integer parameter
Default is 0.
If set to 1, print Fermi surface file. For the time being, under development.
Go to the top | Complete list of input variables

prtgeo
Mnemonics:PRinT the GEOmetry analysis
Characteristic:
Variable type: integer parameter
Default is 0.
If set to 1 or a larger value, provide output of geometrical analysis (bond lengths and bond angles). The value of prtgeo is taken by the code to be the maximum coordination number of atoms in the system.
It will deduce a maximum number of "nearest" and "next-nearest" neighbors accordingly , and compute corresponding bond lengths.
It will compute bond angles for the "nearest" neighbours only.
If ionmov==0, the name of the file will be the root output name, followed by _GEO .
If ionmov==1 or 2, one file will be output at each time step, with the name being made of

- the root output name,
- followed by _TIMx , where x is related to the timestep (see later)
- then followed by _GEO

The content of the file should be rather self-explanatory.
No output is provided by prtgeo is lower than or equal to 0.
If prtgeo>0, the maximum number of atoms (natom) is 9999.
Go to the top | Complete list of input variables

prtgkk
Mnemonics:PRinT the GKK matrix elements file
Characteristic:
Variable type: integer parameter
Default is 0.
If set to 1 or a larger value, provide output of electron-phonon "gkk" matrix elements, for further treatment by mrggkk utility or anaddb utility. Additional information on electron-phonon treatment in ABINIT is given in ~abinit/doc/users/elphon_manual.ps .
Go to the top | Complete list of input variables

prtkpt
Mnemonics:PRinT the K-PoinTs sets
Characteristic:
Variable type: integer parameter
Default is 0.
If set /= 0 , proceeds to a detailed analysis of different k point grids. Works only if kptopt is positive, and neither kptrlatt nor ngkpt are defined. ABINIT will stop after this analysis.

Different sets of k point grids are defined, with common values of shiftk. In each set, ABINIT increases the length of vectors of the supercell (see kptrlatt) by integer steps. The different sets are labelled by "iset". For each k point grid, kptrlen and nkpt are computed (the latter always invoking kptopt=1, that is, full use of symmetries). A series is finished when the computed kptrlen is twice larger than the input variable kptrlen. After the examination of the different sets, ABINIT summarizes, for each nkpt, the best possible grid, that is, the one with the largest computed kptrlen.

Note that this analysis is also performed when prtkpt=0, as soon as neither kptrlatt nor ngkpt are defined. But, in this case, no analysis report is given, and the code selects the grid with the smaller ngkpt for the desired kptrlen. However, this analysis takes some times (well sometimes, it is only a few seconds - it depends on the value of the input kptrlen), and it is better to examine the full analysis for a given cell and set of symmetries, shiftk for all the production runs.

Go to the top | Complete list of input variables

prtpot
Mnemonics: PRinT the iotal (kohn-sham)POTential

prtvha
Mnemonics: PRinT V_HArtree

prtvhxc
Mnemonics: PRinT V_(Hartree+XC)

prtvxc
Mnemonics: PRinT V_XC
Characteristic:
Variable type: integer parameter
Default is 0.
If set >=1 , provide output of different potentials.
For prtpot, output the total (Kohn-Sham) potential, sum of local pseudo-potential, Hartree potential, and xc potential.
For prtvha, output the Hartree potential.
For prtvhxc, output the sum of Hartree potential and xc potential.
For prtvxc, output the exchange-correlation potential.

If ionmov==0, the name of the potential file will be the root output name, followed by _POT, _VHA, _VHXC, or _VXC .
If ionmov==1 or 2, potential files will be output at each time step, with the name being made of

- the root output name,
- followed by _TIMx , where x is related to the timestep (see later)
- then followed by _POT, _VHA, _VHXC, or _VXC.

The file structure of this unformatted output file is described in section 6.6 of abinis_help. No output is provided by a negative value of these variables.
Go to the top | Complete list of input variables

prtstm
Mnemonics: PRinT the STM density
Characteristic:
Variable type: integer parameter
Default is 0.
If set to 1 or a larger value, provide output of the electron density in real space rho(r), made only from the electrons close to the Fermi energy, in a range of energy (positive or negative), determined by the (positive or negative, but non-zero) value of the STM bias stmbias.
This is a very approximate way to obtain STM profiles : one can choose an equidensity surface, and consider that the STM tip will follow this surface. Such equidensity surface might be determined with the help of Cut3D, and further post-processing of it (to be implemented). The big approximations of this technique are : neglect of the finite size of the tip, and position-independent transfer matrix elements between the tip and the surface.
The charge density is provided in units of electrons/Bohr^3. The name of the STM density file will be the root output name, followed by _STM . Like a _DEN file, it can be analyzed by cut3d. The file structure of this unformatted output file is described in section 6.5 of abinis_help.
For the STM charge density to be generated, one must give, as an input file, the converged wavefunctions obtained from a previous run, at exactly the same k-points and cut-off energy, self-consistently determined, using the occupation numbers from occopt=7.
In the run with positive prtstm, one has to use :

- positive iscf
- occopt=7, with specification of tsmear
- nstep=1
- the tolwfr convergence criterion
- ionmov=0 (this is the default value)
- optdriver=0 (this is the default value)

Note that you might have to adjust the value of nband as well, for the treatment of unoccupied states, because the automatic determination of nband will often not include enough unoccupied states.
When prtstm is non-zero, the stress tensor is set to zero.
No output of _STM file is provided by prtstm lower or equal to 0.
No other printing variables for density or potentials (e.g. prtden) should be activated.
Go to the top | Complete list of input variables

prtvol
Mnemonics: PRinT VOLume
Characteristic:
Variable type: integer parameter
Default is 0.
Control the volume of printed output.
Standard choice is 0. Positive values print more in the output and log files, while negative values are for debugging (or preprocessing only), and cause the code to stop at some point.

- 0 => there is a limit on the number of k-points for which related information will be written. This limit is presently 50. Due to some subtlety, if for some dataset prtvol is non-zero, the limit for input and output echoes cannot be enforced, so it is like if prtvol=1 for all the datasets for which prtvol was set to 0. Also, if iscf=-2 and kptopt<=0, the eigenvalues for all the k points are printed anyway.
- 1 => there is no such limit for the input and output echoes, in the main output file. Also, if iscf=-2 and kptopt<=0, the eigenvalues for all the k points are printed anyway.
- 2 => there is no such limit in the whole main output file.
- 3 => there is no such limit in both output and log files.
- 10 => no limit on the number of k points, and moreover, the eigenvalues are printed for every SCF iteration, as well as other additions (to be specified in the future...)

Debugging options :

- = -1 => stop in abinis (main program), before call gstate. Useful to see the effect of the preprocessing of input variables (memory needed, effect of symmetries, k points ...) without going further. Run very fast, on the order of the second.
- = -3 => stop in gstate, before call scfcv, move or brdmin. Useful to debug pseudopotentials
- = -4 => stop in move, after completion of all loops
- = -5 => stop in brdmin, after completion of all loops
- = -6 => stop in scfcv, after completion of all loops
- = -7 => stop in vtorho, after the first rho is obtained
- = -8 => stop in vtowfk, after the first k point is treated
- = -9 => stop in cgwf, after the first wf is optimized
- = -10 => stop in getghc, after the Hamiltonian is applied once

This debugging feature is not yet activated in the RF routines. Note that fftalg offers another option for debugging.
Go to the top | Complete list of input variables

prtwant
Mnemonics: PRinT WANT file
Characteristic:
Variable type: integer parameter
Default is 0.
Flag used to indicate that either the Wannier90 or the WanT interfaces will be used.

- =1 => Use the ABINIT- WanT interface.

  Provide an output file that can be used by the WanT postprocessing program (see http://www.wannier-transport.org ). The value of the prtwant indicates the version of the WanT code that can read it. Currently only the value prtwant=1 is implemented, corresponding to WanT version 1.0.1, available since Oct. 22, 2004.

  Notes : Several requirements must be fulfilled by the wavefunction. Among them, two are mandatory:

  - 1. An uniform grid of k-points, including the GAMMA point must be used.
  - 2. The use of time reversal symmetry is not allowed (istwfk=1)
  - 3. The list of k-points must be ordered, such that the coordinates, namely three-components vectors has the third index varying the most rapidly, then the second index, then the first index
  If these requirement are not fulfilled, the program will stop and an error message is returned.

  As an example of k-point grid in case of systems that have some 3D character (1D systems are easy) :

      nkpt 8
      kpt  0   0   0
           0   0   1/2
           0   1/2 0
           0   1/2 1/2
           1/2 0   0
           1/2 0   1/2
           1/2 1/2 0
           1/2 1/2 1/2
      istwfk 8*1

  Also, in order to use WanT as a postprocessing program for ABINIT you might have to recompile it with the appropriate flags (see ABINIT makefile). Up to now only the -convert big-endian was found to be mandatory, for machines with little-endian default choice.

  If set = 2, provide an output file that can be used by the wannier90 postprocessing program in next versions

- =2 => Use the ABINIT- Wannier90 interface.

  ABINIT will produce the input files required by Wannier90 and it will run Wannier90 to produce the Maximally-locallized Wannier functions (see http://www.wannier.org ).

  Notes:

  - The files that are created can also be used by Wannier90 in stand-alone mode.
  - In order to use Wannier90 as a postprocessing program for ABINIT you might have to recompile it with the appropriate flags (see ABINIT makefile). You might use ./configure --enable-wannier90
  - There are some other variables related to the interface of Wannier90 and ABINIT. See, VARW90.

- =3 => Use the ABINIT- Wannier90 interface after converting the input wavefunctions to GW quasiparticle wavefunctions.

  ABINIT will produce the input files required by Wannier90 and it will run Wannier90 to produce the Maximally-locallized Wannier functions (see http://www.wannier.org ).

  Additional Notes:

  - An input file of LDA wave functions is required which is completely consistent with the _KSS file used in the self-consistent GW calculation. This means that kssform 3 must be used to create the _KSS file and the output _WFK file from the same run must be used as input here.
  - Wannier90 requires nshiftk=1, and shiftk= 0 0 0 is recommended. The k-point set used for the GW calculation, typically the irreducible BZ set created using kptopt=1, and that for the Abinit- Wannier90 interface must be consistent.
  - Full-BZ wavefunctions should be generated in the run calling the interface by setting kptopt=3, iscf=-2, and nstep=3. This will simply use symmetry to transform the input IBZ wavefunctions to the full BZ set, still consistent with the GW _KSS input.
  - The final _QPS file created by the self-consistent GW run is required as input.
  - Any value of gwcalctyp between between 20 and 29 should be suitable, so, for example, Hartree-Fock maximally-localized Wannier functions could be generated setting gwcalctyp=25.

Go to the top | Complete list of input variables

prtwf
Mnemonics: PRinT the WaveFunction
Characteristic:
Variable type: integer parameter
Default is 1.
If prtwf=1 , provide output of wavefunction and eigenvalue file, as described in section 6.7 of the main abinis help file.
For a standard ground-state calculation, the name of the wavefunction file will be the root output name, followed by _WFK. If nqpt=1, the root name will be followed by _WFQ. For response-function calculations, the root name will be followed by _1WFx, where x is the number of the perturbation. The dataset information will be added as well, if relevant.
No wavefunction output is provided by prtwf=0.

If prtwf=2, a file pwfn.data is produced, to be used as input for the CASINO QMC code.
To produce a wave function suitable for use as a CASINO trial wave function, certain ABINIT parameters must be set correctly. Primarily, CASINO (and QMC methods generally) can only take advantage of time-reversal symmetry, and not the full set of symmetries of the crystal structure. Therefore, ABINIT must be instructed to generate k-points not just in the Irreducible Brillouin Zone, but in a full half of the Brillouin Zone (using time-reversal symmetry to generate the other half). Additionally, unless instructed otherwise, Abinit avoids the need for internal storage of many of the coefficients of its wave functions for k-points that have the property 2k=G_latt, where G_latt is a reciprocal lattice vector, by making use of the property that c_k(G)=c^*_k(-G-G_latt). Abinit must be instructed not to do this in order to output the full set of coefficients for use in CASINO. See the ABINIT theoretical background documents ABINIT/Infos/Theory/geometry.pdf and ABINIT/Infos/Theory/1WF.pdf for more information.
The first of these requirements is met by setting the ABINIT input variable kptopt to 2 (see ABINIT/Infos/varbas.html#kptopt) and the second by setting istwfk to 1 for all the k points (see ABINIT/Infos/vardev.html#istwfk). Since CASINO is typically run with relatively small numbers of k-points, this is easily done by defining an array of 1's in the input file.
For example, for the 8 k-points generated with ngkpt 2 2 2, we add the following lines to the input file:

    # Turn off special storage mode for time-reversal k-points
    istwfk 1 1 1 1 1 1 1 1
    # Use only time reversal symmetry, not full set of symmetries.
    kptopt 2

Other useful input variables of relevance to the plane waves ABINIT will produce include ecut, nshiftk, shiftk, nband, occopt, occ, spinat and nsppol (see relevant input variable documents in ABINIT/Infos/). If ABINIT is run in multiple dataset mode, the different wave functions for the various datasets are exported as pwfn1.data, pwfn2.data, ..., pwfnn.data where the numbers are the contents of the contents of the input array jdtset (defaults to 1,2,...,ndtset).
Once the routine is incorporated into the ABINIT package it is anticipated that there will be an input variable to control whether or not a CASINO pwfn.data file is written.

Other issues related to prtwf=2.
The exporter does not currently work when ABINIT is used in parallel mode (ie with 'abinip') on multiple processors if k-point parallelism is chosen. ABINIT does not store the full wave function on each processor but rather splits the k-points between the processors, so no one processor could write out the whole file. Clearly this could be fixed but we haven't done it yet. The sort of plane wave DFT calculations usually required to generate QMC trial wave functions execute very rapidly anyway and will generally not require a parallel machines. The outqmc routine currently bails out with an error if this combination of modes is selected - this will hopefully be fixed later.
There has not been very extensive testing of less common situations such as different numbers of bands for different k-points, and more complicated spin polarized systems, so care should be taken when using the output in these circumstances.
If there is any doubt about the output of this routine, the first place to look is the log file produced by ABINIT: if there are any warnings about incorrectly normalized orbitals or non-integer occupation numbers there is probably something set wrong in the input file.

Go to the top | Complete list of input variables

prt1dm
Mnemonics: PRinT 1-DiMensional potential and density
Characteristic:
Variable type: integer parameter
Default is 0.
If set >= 1, provide one-dimensional projection of potential and density, for each of the three axis. This corresponds to averaging the potential or the density on bi-dimensional slices of the FFT grid.
Go to the top | Complete list of input variables

Goto : ABINIT home Page | 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 | Optic | Mrgscr