The points in k-space at which the Brillouin zone is to be sampled
can be defined in one of three ways.

As a list

%BLOCK KPOINTS_LIST units

%BLOCK KPOINTS_LIST

The first three numbers on a line are the co-ordinates of a k-point as fractions of the relevent reciprocal space lattice
vector. The final number is a weight for the k-point. The weights of all n k-points must add up to 1.

Another way is to use a Monkhurst-Pack grid and there are two ways of doing this.

The first way is to specify the grid dimensions in the three directions of the reciprocal space lattice vectors

`KPOINTS_MP_GRID`

So, for example, we could have a 2x2x2 grid or a 3x4x1 grid. The choice depends upon computational resources and whether a
more detailed sampling of the electronic wave function is required in a given reciprocal space direction.

A second way of requesting a Monkhurst-Pack grid is to specify a minimum grid density.

`KPOINTS_MP_SPACING` `[units]`

Where is the maximum distance between any two k-points in the grid. The default [units] of the k-point spacing are
Å.

Another feature of the Monkhurst-Pack grid that the user can specify is the alignment of the grid with respect to the
origin of the Brillouin zone. By including

`KPOINT_MP_OFFSET`

the Monkhurst-Pack grid can be offset from the origin of the Brillouin zone. The entries are the
fractions of the reciprocal space lattice vector that give the value of the offset in the three directions.