### $\vec{k}$-point set setup

To define the $\vec{k}$-point set used for the calculation three alternatives are provided. Additionally the XML input provides a way of defining the $\vec{k}$-point path for band structure calculations. The different means of setting the $\vec{k}$-point set are selected by providing one of three possible XML elements in the bzIntegration part of the calculationSetup section. The following examples illustrate each of these elements:

<kPointCount count="100" gamma="F"/>

By using the kPointCount element one only defines a number of $\vec{k}$ points that Fleur should use. Fleur then generates a default $\vec{k}$-point mesh that features approximately the desired number of $\vec{k}$ points. Some advanced orbital dependent exchange correlation functionals require $\vec{k}$-point sets that include the $\Gamma$ point. For such calculations the gamma attribute can be used to ensure that the $\Gamma$ point is also included, even if this is not provided by the default mesh.

<kPointMesh nx="12" ny="12" nz="12" gamma="F"/>

If more control over the $\vec{k}$-point mesh is needed the kPointMesh element can be used. Here the number of $\vec{k}$ points in each dimension (nx, ny, nz) can be set directly. In analogy to the kPointCount element kPointMesh also provides the above discussed gamma attribute.

<kPointList posScale="48.00000" weightScale="288.00000" count="24">
<kPoint weight="    8.000">   20.000    20.000    21.000</kPoint>
<kPoint weight="   16.000">   20.000    12.000    21.000</kPoint>
<kPoint weight="   16.000">   20.000     4.000    21.000</kPoint>
<kPoint weight="    8.000">   12.000    12.000    21.000</kPoint>
<kPoint weight="   16.000">   12.000     4.000    21.000</kPoint>
<kPoint weight="    8.000">    4.000     4.000    21.000</kPoint>
<kPoint weight="    8.000">   20.000    20.000    15.000</kPoint>
<kPoint weight="   16.000">   20.000    12.000    15.000</kPoint>
<kPoint weight="   16.000">   20.000     4.000    15.000</kPoint>
<kPoint weight="    8.000">   12.000    12.000    15.000</kPoint>
<kPoint weight="   16.000">   12.000     4.000    15.000</kPoint>
<kPoint weight="    8.000">    4.000     4.000    15.000</kPoint>
<kPoint weight="    8.000">   20.000    20.000     9.000</kPoint>
<kPoint weight="   16.000">   20.000    12.000     9.000</kPoint>
<kPoint weight="   16.000">   20.000     4.000     9.000</kPoint>
<kPoint weight="    8.000">   12.000    12.000     9.000</kPoint>
<kPoint weight="   16.000">   12.000     4.000     9.000</kPoint>
<kPoint weight="    8.000">    4.000     4.000     9.000</kPoint>
<kPoint weight="    8.000">   20.000    20.000     3.000</kPoint>
<kPoint weight="   16.000">   20.000    12.000     3.000</kPoint>
<kPoint weight="   16.000">   20.000     4.000     3.000</kPoint>
<kPoint weight="    8.000">   12.000    12.000     3.000</kPoint>
<kPoint weight="   16.000">   12.000     4.000     3.000</kPoint>
<kPoint weight="    8.000">    4.000     4.000     3.000</kPoint>
</kPointList>

If the input file generator is used with the -explicit command line switch it generates a kPointList that directly shows each $\vec{k}$ point and the number of $\vec{k}$ points.

Each kPoint element features the attribute weight and three numbers. The weight is the weight of the $\vec{k}$ point in the Brillouin zone integration. Each of the three numbers is divided by the value of the posScale attribute of the kPointList element to obtain the coordinates of the $\vec{k}$ point.

The weightScale and count attributes of kPointList only have informative character. The here provided values are not used by Fleur but only calculated by the input file generator. weightScale is the sum of the weights of all provided $\vec{k}$ points. count is the number of the provided k points.

#### The $\vec{k}$-point path for band structure calculations

For band structure calculations only the kPointCount element should be used. Fleur then generates a $\vec{k}$-point path along several default high-symmetry points that consists exactly of the number of $\vec{k}$ points provided in the count attribute of kPointCount.

If a special $\vec{k}$-point path deviating from the default one should be used this can be achieved by defining several special $\vec{k}$ points within the kPointCount element:

<kPointCount count="100" gamma="F">
<specialPoint name="g">0.0 0.0 0.0</specialPoint>
<specialPoint name="X">0.5 0.0 0.0</specialPoint>
</kPointCount>

The two or more specialPoints defined in this way replace the high-symmetry $\vec{k}$ points in the generation of the $\vec{k}$-point path. Again for each specialPoint the three coordinates in the Brillouin zone have to be provided. Additionally a name should be set with the associated attribute. The name g will be translated into a $\Gamma$ in the Fleur gnuplot output for band structure calculations.

Note that for band structure calculations there is the option to provide an altKPointSet element within the bzIntegration section to define an alternative $\vec{k}$-point set to be used only for this type of calculation. An example for the usage of such an element is:

<altKPointSet purpose="bands">
<kPointCount count="   240" gamma="F"/>
</altKPointSet>

Within the purpose attribute of the altKPointSet the type of calculation for which this $\vec{k}$-point set is used is specified. Besides bands another possible purpose is GW used in the context of GW calculations.

Whenever a Fleur calculation associated with such an alternative $\vec{k}$-point set is started the program first tries to find the definition of the alternative $\vec{k}$-point set and uses that if it is present. If no such alternative $\vec{k}$-point set is found the standard $\vec{k}$-point set is used and it is assumed that it is adapted to the needs of the respective calculation.

By default the input generator adds an alternative $\vec{k}$-point set for band structure calculations.