MatSQ Blog > Quantum-espresso

#2 Convergence Test: K-points optimization for Silicon bulk

Viewed : 1239 times,  2019-01-01 01:00:00

In the previous post, the Weekly tip #1, we've briefly introduced convergence tests and how to conduct one by using the total energy. This time, we would like to explain how to perform the test by using the number of k-points.

In the previous example, we decided that it is proper to set Ecut(wfc) to 40~50 Ry. This time, we'll set Ecut(wfc) to 45 Ry and Ecut(rho) to 270 Ry for a k-points convergence test.



1. K-point Sampling

A wave function in the periodic boundary cell can be described by using the Bloch theorem [1].

In this theorem, the wave function is described as k, a vector in the Brillouin zone, that indicates the smallest polyhedron and is composed of vertical bisectors in the reciprocal space. It has point symmetry like a lattice[2]. As we cannot find solutions for an all wave-vector (k) that exist in the Brillouin zone, we need to calculate some among them through k-point sampling.

There are many sampling methods for k-point. The most general is Monkhorst–Pack sampling [3], which has even spaces considering symmetry in the entire space. If there is no specific purpose, it is proper to use this option. In Quantum Espresso, selecting the automatic option allows k-point sampling through the Monkhorst–Pack method.

You can see six blanks at the KPOINTS card.

The three blanks of k-points on the upper section are a parameter to set the k-point mesh of each axis. The value of the three numbers when multiplied refers to the total number of k-points. For example, a, b, and c are set to 3, 3, and 3, respectively. Therefore, the total number of k-points is 33  = 27.

The three blanks on the lower section are a parameter to move the lattice of each axis. Either 0 or 1 should be set, wherein 0 indicates the default gamma position and 1 means that the k-point grid is moved parallel. Similar to the case wherein an area an atom exists is sampled like FCC, if a specific point different from the entire trend exists in the mesh grid, perform shift for the sampling of a relatively general point to obtain a more global result.[4]



2. Convergence Test

The following displays a comparison of diverse energy calculations by setting the k-points grid from 1x1x1 to 15x15x15.


👉 Check the calculation results


The graph shows that the energy fluctuates depending on the change of k-points and converges. Considering the computing resources, it may be good to select 33–63 k-points with a properly small energy fluctuation.

Empirically, the calculation can achieve convergence properly if the multiplication of the cell parameter and the k-point for each axis is around 30. MatSQ sets the k-point grid automatically according to this; If you set the 'Precision: High' option when the 'Scripting option: Template' is selected.

Since the k-point grid must be a natural number, the product of the two values is determined to be the closest to 30. If the cell parameters for each axis are all 3.9 Å like the example model, the k-point grid is set to 8x8x8.



3. Check the really used number of the k-points

With the symmetry, only inequivalent points are selected and used for the calculation in the irreducible Brillouin zone. Thus, the total number of k-points may be less than the fixed k-point mesh. Once the first initialization calculation is complete, the number of k-points used for the calculation can be checked.

You can check such data from the 'job.stdout' file on the Data page.

The above figure displays the result file (job.stdout) when the k-point grid is set as 15x15x15. Considering the symmetry, only 904 k-points rather than 3,375 ones are calculated.



For two weeks, we have learned how to perform convergence tests. As we mentioned in the first weekly tip, any convergence test can be performed to check energy convergence.

For a more reliable but more complex method, it is recommended to perform a convergence test by calculating the total bond energy.

Try this for your system!



[1] Kittel, C., McEuen, P., & McEuen, P. (1996). Introduction to solid state physics (Vol. 8, pp. 323-324). New York: Wiley.
[2] Ibach, H., & Lüth, H. (2003). Solid-state physics: an introduction to principles of material science. Advanced Texts in Physics, Springer-Verlag berlin Heidelberg New York, 1(2), 87.
[3] Monkhorst, H. J., & Pack, J. D. (1976). Special points for Brillouin-zone integrations. Physical review B, 13(12), 5188.
[4] Martin, R. (2004). Periodic solids and electron bands. In Electronic Structure: Basic Theory and Practical Methods (pp. 73-99). Cambridge: Cambridge University Press. doi:10.1017/CBO9780511805769.006