(N.B. in the following section the keywords the prefixes
`KPOINT_`

and `KPOINTS_`

are synonymous. `KPOINT_`

is
the preferred usage.)

The k-points at which the Brillouin zone is to be sampled during a self consistent calculation to find the electronic ground state may be defined either by specifying a list of k-points or a Monkhorst-Pack grid in terms of the dimensions of the k-point mesh or a minimum k-point density. The origin of the Monkhorst-Pack grid may be offset by a vector from the origin of the Brillouin zone.

If no k-points are specified, the default will be a Monkhorst-Pack grid with a maximum spacing of 0.1Å and no offset of the origin.

The KPOINT_LIST, KPOINT_MP_GRID and KPOINT_MP_SPACING
keywords are mutually exclusive. KPOINT_MP_OFFSET may be specified
in combination with either

KPOINT_MP_GRID or KPOINT_MP_SPACING.

`%BLOCK KPOINT_LIST`

`%ENDBLOCK KPOINT_LIST`

The first three entries on a line are the fractional positions of the k-point relative to the reciprocal space lattice vectors. The final entry on a line is the weight of the k-point relative to the others specified. The sum of the weights must be equal to 1.

`KPOINT_MP_GRID`

This specifies the dimensions of the Monkhorst-Pack grid requested in the directions of the reciprocal space lattice vectors.

`KPOINT_MP_SPACING`

`[units]`

The single entry is the maximum distance between k-points on the Monkhorst-Pack grid. The dimensions of the grid will be chosen such that the maximum separation of k-points is less than this.

`[units]`

specifies the units in which the k-point spacing is
defined. If not present, the default is Å.

`KPOINT_MP_OFFSET`

This specifies the offset of the Monkhorst-Pack grid with respect to the origin of the Brillouin zone. The three entries are the offset in fractional coordinates relative to the reciprocal lattice vectors.

The k-point set for performing optical matrix element calculations can be specified in the same manner, using version of the keywords above with OPTICS_ prepended. The same restrictions regarding mutually exclusive keywords apply.

For a non-self-consistent band structure calculation, the k-points may be defined along a path through reciprocal space or a list of k-points.

`%BLOCK BS_KPOINT_PATH`

`%ENDBLOCK BS_KPOINT_PATH`

The three numbers on each line are the fractional positions of the k-point relative to the reciprocal space lattice vectors. The k-points define a continuous sequence of straight line segments, unless the keyword BREAK appears on a separate line within the sequence of k-points. In this case the continuous path will end at the k-point immediately preceding the BREAK keyword and resume at the k-point immediately following. The path will be open unless the first and last point in the list are identical. The maximum spacing of the points sampled along each line segment is defined by the keyword BS_KPOINT_PATH_SPACING (default value 0.1 Å. If necessary, the actual spacing used may be smaller than this in order to ensure that the length of the line segment is an integer multiple of the spacing between points on that segment.

Alternatively, the k-point set for performing a band structure
calculation can be specified in the same manner as the main k-point
set, using version of the keywords above with BS_ prepended. The same
restrictions regarding mutually exclusive keywords apply. In this
case, the k-point weight in `BS_KPOINT_LIST`

is optional. If
ommitted, the weights for each k-point are assumed to be equal.

For a phonon spectum calculation, the k-points may be defined along a
path through reciprocal space or a list of k-points, in the same
manner as for a band structure calculation. The corresponding keywords
are identical to those for the band structure specification with the
initial BS_ replaced by PHONON_, e.g. PHONON_KPOINT_PATH,

PHONON_KPOINT_PATH_SPACING and PHONON_KPOINT_LIST. The same
restrictions regarding mutually exclusive keywords apply.

The block keyword PHONON_GAMMA_DIRECTIONS specifies the directions in which the gamma point will be approached when calculating the non-analytic terms of the LO/TO splitting. Each line in this block will consist of a 3-vector specifying a direction in the basis of reciprocal lattice vectors. If this keyword is not present, the default will be a single vector determined as follows:

- If the gamma point is and there is an successor kpoint in the list then it is .
- Otherwise if the gamma point is and there is an predecessor kpoint in the list then it is .
- Otherwise (i.e. a Gamma point only calculation) the a-axis of the reciprocal cell.

For backwards compatibility the kewords beginning BS_KPOINT_ are synonyms for BS_KPOINT_ and similarly those beginning PONON_KPOINT_ are synonymous with PHONON_KPOINT_.