This document describes several important internal variables, to which the user has no direct access through a keyword, but that are derived from the input variables at the time of their processing and used internally. Their value is fixed for a specific dataset. They are present in the dtset array, in addition to the input variables that can be directly addressed by the user.
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).
This internal variable derives the maximum number of bands over all k-points and spin-polarisation from nband(1:nkpt*nsppol).
This internal variable contains the maximum of ngfft(1:3).
This internal variable contains the maximum of ngfftdg(1:3).
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.
This internal variable gives the number of atoms on which the LDA/GGA+U method is applied. This value is determined from lpawu.
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 .
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
charge:
nelect=zion-charge.
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 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.
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 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 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, determed from ecutsigx.
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.
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 that was used)
to generate the normalized, shifted, set of k-points
kptns(1:3,1:
nkpt
).
In response-function calculations,
qptn(1:3)
is 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).
This internal variable is automatically set to 1 when the value of ixc refers to an Hartree-Fock calculation or hybrid functionals.
This variable is determined by the pseudopotentials files. PAW calculations (see PAW variables ) 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.
This internal variable is set to 1 when the recursion method is activated (see tfkinfunc).
Charge of the pseudo-ion (=number of valence electrons that are needed to screen exactly the pseudopotential).