# internal input variables¶

This document lists and provides the description of the name (keywords) of the internal input variables to be used in the input file for the abinit executable.

**kptns**¶

*Mnemonics:* K-PoinTs re-Normalized and Shifted

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_k-points

*Variable type:* real

*Dimensions:* (3,nkpt)

*Default value:* None

*Added in version:* before_v9

If nqpt = 0, or if one is doing a reponse calculation, this internal
variable is derived from kpt and kptnrm: **kptns** (1:3,:)=
kpt(1:3,:)/ kptnrm, so that it is kpt renormalized by kptnrm.

If nqpt = 1 and one is not doing a ground-state calculation, this internal
variable is derived from kpt, kptnrm and %qptn: **kptns** (1:3,:)=
kpt(1:3,:)/ kptnrm+ %qptn(1:3), so that it is kpt renormalized
by kptnrm, then shifted by %qptn(1:3).

**kptns_hf**¶

*Mnemonics:* K-PoinTs re-Normalized and Shifted, for the Hartree-Fock operator

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_k-points

*Variable type:* real

*Dimensions:* (3,nkpthf)

*Default value:* None

*Added in version:* before_v9

**kptns_hf** is the subset of the full Brillouin Zone k point grid for
wavefunctions, used to build the Fock operator, see fockdownsampling.

**mband**¶

*Mnemonics:* Maximum number of BANDs

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_BandOcc

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

This internal variable derives the maximum number of bands over all k-points and spin-polarisation from nband(1:nkpt*nsppol).

**mgfft**¶

*Mnemonics:* Maximum of nGFFT

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Planewaves

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

This internal variable contains the maximum of ngfft(1:3).

**mgfftdg**¶

*Mnemonics:* Maximum of nGFFT for the Double Grid

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Planewaves

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

This internal variable contains the maximum of ngfftdg(1:3).

**mpw**¶

*Mnemonics:* Maximum number of Plane Waves

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Planewaves

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

This internal variable gives the maximum of the number of plane waves over all k-points. It is computed from ecut and the description of the cell, provided by acell, rprim, and/or angdeg.

**natpawu**¶

*Mnemonics:* Number of AToms on which PAW+U is applied

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_DFT+U

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Only relevant if:* usepawu == 1

*Added in version:* before_v9

This internal variable gives the number of atoms on which the DFT+U method is applied. This value is determined from lpawu.

**ndynimage**¶

*Mnemonics:* Number of DYNamical IMAGEs

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_PIMD

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

This internal variable gives the number of dynamical images, immediately deduced from the number of non-zero values present in dynimage. It is used to dimension many memory-consuming arrays (one copy for each image), e.g. the wavefunction array (cg), the density array (rho), etc.

**nelect**¶

*Mnemonics:* Number of ELECTrons

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_BandOcc

*Variable type:* real

*Dimensions:* scalar

*Default value:* AUTO_FROM_PSP

*Added in version:* before_v9

This internal variable gives the number of electrons per unit cell, as
computed from the sum of the valence electrons related to each atom (given in
the pseudopotential, where it is called “zion”), and the input variable cellcharge:
**nelect** = zion-cellcharge.

When there are several images, although cellcharge is an array, **nelect** is initialized
with the first image, namely **nelect** = zion-cellcharge(1).

**nfft**¶

*Mnemonics:* Number of FFT points

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Planewaves

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

If space parallelization is not used (that is, if paral_kgb == 0), this internal variable gives the number of Fast Fourier Transform points in the grid generated by ngfft(1:3). It is simply the product of the three components of ngfft.

If space parallelisation is used (that is, if paral_kgb == 1), then it becomes the number of Fast Fourier Transform points attributed to the particular processor. It is no longer the above-mentioned simple product, but a number usually close to this product divided by the number of processors on which the space is shared.

**nfftdg**¶

*Mnemonics:* Number of FFT points for the Double Grid

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Planewaves

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

If space parallelisation is not used (that is, if paral_kgb == 0), this internal variable gives the number of Fast Fourier Transform points in the (double) grid generated by ngfftdg(1:3). It is simply the product of the three components of ngfftdg.

If space parallelisation is used (that is, if paral_kgb == 1), then it becomes the number of Fast Fourier Transform points attributed to the particular processor. It is no longer the above-mentioned simple product, but a number usually close to this product divided by the number of processors on which the space is shared.

**npweps**¶

*Mnemonics:* Number of PlaneWaves for EPSilon (the dielectric matrix)

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Susceptibility

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

**npweps** determines the size of the planewave set used to represent the
independent-particle susceptibility \chi^{(0)}_{KS}, the dielectric matrix
\epsilon and its inverse.
It is an internal variable, determined from ecuteps.

**npwsigx**¶

*Mnemonics:* Number of PlaneWaves for SIGma eXchange

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_SelfEnergy

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

**npwsigx** determines the cut-off energy of the planewave set used to
generate the exchange part of the self-energy operator.
It is an internal variable, determined from ecutsigx.

**npwwfn**¶

*Mnemonics:* Number of PlaneWaves for WaveFunctioNs

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Susceptibility, topic_SelfEnergy

*Variable type:* integer

*Dimensions:* scalar

*Default value:* None

*Added in version:* before_v9

**npwwfn** is the size of the planewave set used to represent the
wavefunctions in the formula that generates the independent-particle
susceptibility \chi^{(0)}_{KS}. It is an internal variable, determined from ecutwfn.

**qptn**¶

*Mnemonics:* Q-PoinT re-Normalized

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_DFPT

*Variable type:* real

*Dimensions:* (3)

*Default value:* 3 * 0

*Only relevant if:* nqpt == 1

*Added in version:* before_v9

Only used if nqpt = 1.

In ground-state calculation, the vector **qptn**(1:3) is added to each
renormalized k point (whatever the value of kptopt used) to
generate the normalized, shifted, set of k-points %kptns(1:3,1: **nkpt** ).
In response-function calculations, **qptn**(1:3) defines the wavevector of the
phonon-type calculation.

**qptn**(1:3) can be produced on the basis of the different methods described
in qptopt, like using qpt(1:3) with renormalisation provided by
qptnrm, or using the other possibilities defined by iqpt, ngqpt,
nshiftq, qptrlatt, shiftq.

For insulators, there is no restriction on the q-points to be used for the perturbations. By contrast, for metals, for the time being, it is advised to take q points for which the k and k+q grids are the same (when the periodicity in reciprocal space is taken into account). Tests remain to be done to see whether other q points might be allowed (perhaps with some modification of the code).

**usefock**¶

*Mnemonics:* USE FOCK exact exchange

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Hybrids

*Variable type:* integer

*Dimensions:* scalar

*Default value:* 0

*Added in version:* before_v9

This internal variable is automatically set to 1 when the value of ixc refers to an Hartree-Fock calculation or hybrid functionals.

- 0 → No use of exact exchange.
- 1 → exact exchange is required for the calculation.

**usepaw**¶

*Mnemonics:* USE Projector Augmented Waves method

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_PAW

*Variable type:* integer

*Dimensions:* scalar

*Default value:* AUTO_FROM_PSP

*Added in version:* before_v9

This variable is determined by the pseudopotentials files. PAW calculations (see paw1 tutorial) can only be performed with PAW atomic data input files, while pseudopotential calculations are performed in ABINIT with norm-conserving pseudopotential input files. Most functionalities in ABINIT are available with either type of calculation.

**userec**¶

*Mnemonics:* USE RECursion

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_Recursion

*Variable type:* integer

*Dimensions:* scalar

*Default value:* 0

*Added in version:* before_v9

This internal variable is set to 1 when the recursion method is activated (see tfkinfunc).

**xclevel**¶

*Mnemonics:* eXchange Correlation functional LEVEL

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_xc, topic_TDDFT

*Variable type:* integer

*Dimensions:* scalar

*Default value:* 0

*Added in version:* before_v9

Automatically determined from the value of ixc.

- 0 → No XC contribution.
- 1 → LDA functional.
- 2 → GGA functional or hybrid functional based on GGA.
- 3 → Functional for TDDFT.

**ziontypat**¶

*Mnemonics:* Z (charge) of the IONs for the different TYPes of AToms

*Characteristics:* INTERNAL_ONLY

*Mentioned in topic(s):* topic_AtomTypes, topic_PseudosPAW

*Variable type:* real

*Dimensions:* (ntypat)

*Default value:* AUTO_FROM_PSP

*Added in version:* before_v9

Charge of the pseudo-ion (defined as the number of valence electrons that are needed to screen exactly the pseudopotential).