The KPT file

back to main page
ABACUS uses periodic boundary conditions for both crystals and finite systems. For isolated systems, such as atoms, molecules, clusters, etc., one uses the socalled supercell model. Lattice vectors of the supercell are set in the STRU
file. For the input kpoint (KPT
) file, the file should either contain the kpoint coordinates and weights or the mesh size for creating the kpoint gird. Both options are allowed in ABACUS
.
Gammaonly Calculations
In ABACUS, we offer th option of running gammaonly calculations for LCAO basis by setting gamma_only to be 1. Due to details of implementation, gammaonly calculation will be slightly faster than running a non gammaonly calculation and explicitly setting gamma point to be the only the kpoint, but the results should be consistent.
If gamma_only is set to 1, the KPT file will be overwritten. So make sure to turn off gamma_only for multik calculations.
Generate kmesh automatically
To generate kmesh automatically, it requires the input subdivisions of the Brillouin zone in each direction and the origin for the kmesh. ABACUS uses the MonkhorstPack method to generate kmesh, and the following is an example input kpoint (KPT
) file used in ABACUS
.
K_POINTS //keyword for start
0 //total number of kpoint, `0' means generate automatically
Gamma //which kind of MonkhorstPack method, `Gamma' or `MP'
2 2 2 0 0 0 //first three number: subdivisions along recpri. vectors
//last three number: shift of the mesh
In the above example, the first line is a keyword, and it can be set as K_POINTS
, or KPOINTS
or just K
. The second line is an integer, and its value determines how to get kpoints. In this example, 0
means using MonkhorstPack (MP) method to generate kpoints automatically.
The third line tells the input type of kpoints, Gamma
or MP
, different Monkhorst Pack (MP) method. MonkhorstPack (MP) is a method which uses the uniform kpoints sampling in Brillouinzone, while Gamma
means the Γcentered MonkhorstPack method. The first three numbers of the last line are integers, which give the MP k grid dimensions, and the rest three are real numbers, which give the offset of the k grid. In this example, the numbers 0 0 0
means that there is no offset, and this is the a standard 2by2by2 k grid.
back to top
Set kpoints explicitly
If the user wants to set up the kpoints explicitly, the input kpoint file should contain the kpoint coordinates and weights. An example is given as follows:
K_POINTS //keyword for start
8 //total number of kpoint
Direct //`Direct' or `Cartesian' coordinate
0.0 0.0 0.0 0.125 //coordinates and weights
0.5 0.0 0.0 0.125
0.0 0.5 0.0 0.125
0.5 0.5 0.0 0.125
0.0 0.0 0.5 0.125
0.5 0.0 0.5 0.125
0.0 0.5 0.5 0.125
0.5 0.5 0.5 0.125
back to top
Band structure calculations
ABACUS uses specified highsymmetry directions of the Brillouin zone for band structure calculations. The third line of kpoint file should start with ‘Line’ or ‘Line_Cartesian’ for line mode. ‘Line’ means the positions below are in Direct coordinates, while ‘Line_Cartesian’ means in Cartesian coordinates:
K_POINTS // keyword for start
6 // number of high symmetry lines
Line // linemode
0.5 0.0 0.5 20 // X
0.0 0.0 0.0 20 // G
0.5 0.5 0.5 20 // L
0.5 0.25 0.75 20 // W
0.375 0.375 0.75 20 // K
0.0 0.0 0.0 1 // G
The fourth line and the following are special kpoint coordinates and number of kpoints between this special kpoint and the next.
back to top