KSpace¶
The KSpace sampling (i.e., the kpoints used to sample the Brillouin Zone) is an important technical aspect of Band, as it influences heavily the accuracy, the CPU time and the memory usage of the calculation (see section Recommendations for kspace).
KSpace input block¶
The KSpace can be controlled via the KSpace
input block. Two different kspace integration methods are available: the Regular Grid (default) and the Symmetric Grid.
KSpace
Type [Regular  Symmetric]
Quality [Auto  GammaOnly  Basic  Normal  Good  VeryGood  Excellent]
End
KSpace
 Type
Block
 Description
Options for the kspace integration (i.e. the grid used to sample the Brillouin zone)
Type
 Type
Multiple Choice
 Default value
Regular
 Options
[Regular, Symmetric]
 GUI name
Kspace grid type
 Description
The type of kspace integration grid used to sample the Brillouin zone (BZ) used. ‘Regular’: simple regular grid. ‘Symmetric’: symmetric grid for the irreducible wedge of the first BZ (useful when highsymmetry points in the BZ are needed to capture the correct physics of the system, graphene being a notable example).
Quality
 Type
Multiple Choice
 Default value
Auto
 Options
[Auto, GammaOnly, Basic, Normal, Good, VeryGood, Excellent]
 GUI name
Kspace
 Description
Select the quality of the Kspace grid used to sample the Brillouin Zone. If ‘Auto’, the quality defined in the ‘NumericalQuality’ will be used. If ‘GammaOnly’, only one point (the gamma point) will be used. The actual number of K points generated depends on this option and on the size of the unit cell. The larger the real space cell, the fewer K points will be generated. The CPUtime and accuracy strongly depend on this option.
Regular KSpace grid¶
By default, Band will look at the size of a lattice vectors and the KSpace quality to determine the number of kpoints. The larger the lattice vector in real space, the smaller the reciprocal space vectors are, and as a result fewer kpoints are needed. The following intervals will be distinguished: 05 Bohr, 510 Bohr, 1020 Bohr, 2050 Bohr, and beyond. Here is the table explaining how many kpoints will be used along a lattice vector.
Lattice vector length 
Basic 
Normal 
Good 
VeryGood 
Excellent 
05 Bohr 
5 
9 
13 
17 
21 
510 Bohr 
3 
5 
9 
13 
17 
1020 Bohr 
1 
3 
5 
9 
13 
2050 Bohr 
1 
1 
3 
5 
9 
50 Bohr… 
1 
1 
1 
3 
5 
By preferring oddnumbered values we can use a quadratic interpolation method, and have the \(\Gamma\) point in the grid. It is then reasonable to assume a decaying error when going to a better quality setting.
It is also possible to manually specify the number of kspace points along each reciprocal lattice vector
KSpace
Regular
NumberOfPoints integer_list
End
End
KSpace
 Type
Block
 Description
Options for the kspace integration (i.e. the grid used to sample the Brillouin zone)
Regular
 Type
Block
 Description
Options for the regular kspace integration grid.
NumberOfPoints
 Type
Integer List
 Description
Use a regular grid with the specified number of kpoints along each reciprocal lattice vector. For 1D periodic systems you should specify only one number, for 2D systems two numbers, and for 3D systems three numbers.
Symmetric KSpace grid (tetrahedron method)¶
The tetrahedron method can be useful when high symmetry points in the BZ are needed to capture the correct physics of the system, graphene being a notable example.
The number of kpoints in the symmetric grid depends on the KSpace quality and on the length of the shortest lattice vector.
It is also possible to manually specify the symmetric kspace integration parameter:
KSpace
Symmetric
KInteg integer
End
End
KSpace
 Type
Block
 Description
Options for the kspace integration (i.e. the grid used to sample the Brillouin zone)
Symmetric
 Type
Block
 Description
Options for the symmetric kspace integration grid.
KInteg
 Type
Integer
 GUI name
Accuracy
 Description
Specify the accuracy for the Symmetric method. 1: absolutely minimal (only the Gpoint is used) 2: linear tetrahedron method, coarsest spacing 3: quadratic tetrahedron method, coarsest spacing 4,6,… (even): linear tetrahedron method 5,7…. (odd): quadratic method The tetrahedron method is usually by far inferior.
General Remark: The tetrahedron method samples the irreducible wedge of the first BZ, whereas the regular grid samples the whole, first BZ. As a rule of thumb you need to choose roughly twice the value for the regular grid. For example kspace 2 compares to grid 4 4 4, kspace 3 to grid 5 5 5, etc.. Sticking to this rule the number of unique kpoints will be roughly similar.
Recommendations for kspace¶
Which KSpace quality to use depends very much a) the system you are studying and b) the property you are interested in. We strongly recommend you to test the effect of different KSpace qualities on your system and properties of interest.
As an example, in the following table we list the errors on formation energy and band gap for diamond using regular kspace grids of different qualities (using Excellent kSpace quality as reference).
KSpace quality 
Energy error / atom [eV] 
CPU time ratio 

GammaOnly 
3.3 
1 
Basic 
0.6 
2 
Normal 
0.03 
6 
Good 
0.002 
16 
VeryGood 
0.0001 
35 
Excellent 
reference 
64 
It is worthwhile noting that the errors due to finite kspace sampling in formation energies are to some extend systematic, and they partially cancel each other out when taking energy differences.
In general, metals (or narrowgap semiconductor) require higher KSpace sampling than insulators. For insulators and widegap semiconductors, Normal KSpace quality often suffices. For Narrowgap semiconductor and metals, Good KSpace quality is highly recommended. For geometry optimizations under pressure, Good KSpace quality is recommended.
Furthermore for certain properties, such as band gaps, Normal KSpace quality might not be enough to obtain reliable results. For example, in following figure we see how Normal KSpace quality is often not enough for computing band gaps (especially for the narrowgap semiconductor of the top panel). For band gap prediction, it is recommended to use Good KSpace quality.
High symmetry points and the regular grid¶
Using the symmetric kgrid it is ensured that points with high symmetry are included. However, for the default regular grid this is not the case. An important example is graphene. Its band structure has a conical intersection at the point labeled “K”, in all other kpoints there is a gap.
grid 
point “K” included? 
Kgrid quality for Graphene 

5x5 
No 
Normal 
7x7 
Yes 

9x9 
No 
Good 
11x11 
No 

13x13 
Yes 
VeryGood 
15x15 
No 
But in general it makes more sense to use the symmetric kgrid if points of high symmetry are deemed important.