# How to know optimal K-points grid values for good DFT calculation?

I am doing DFT calculations with pw.x executable in Quantum Espresso. For this we have to choose right K-points grid in order to perform error-less calculation. But I have no idea about how can I choose optimal values of K-points? How to converge it? Do I have to perform same calculation with different values of K-points (by randomly guessing it).
What will be the effect on band structure if I take very high values of K-points or low value of K-points?

Please, clarify my doubts. Thanking you!

As already specified in the previous answers, the choice of K-Grid mesh should be taken upon verifying the convergence of the desired quantity. We usually start with the convergence of the total energy, but for other properties like optical spectra, for example, the converged grid with respect to the energy should not be enough, and a denser grid is usually required.

With respect to the question

"What will be the effect on band structure if I take very high values of K-points or low value of K-points?"

To the band structure calculation, the path in the Brillouin zone should be explicitly given. A denser grid leads to a more resolved band structure, however, the computational cost increases significantly with respect to a coarser grid. For a coarse grid, details of the band structure could not be properly resolved, however, the calculation time will be reduced.

The size of the primitive cell should also be taken into account. For large (super)cells fewer k-points are required since the Brillouin zone is decreased with increasing the cell.

Last but not least, for the Monkhost-Pack grid Quantum ESPRESSO allows for shifting the grid by setting

Kx Ky Kz 0 0 0 (non-shifted)
Kx Ky Kz 1 1 1 (shifted)


Depending on the symmetries of the structure, the shift moves the k-point mesh semilattice. The number of inequivalent points then decreases, resulting in a reduction in the total number of k-points. More information can be found in the Material Square blog.

Like many other parameters in QE one of the best methods is to simply test yourself and weight your options.

You may start with 1x1x1 and go to 3x3x3 for example and check the following.

• Do you get convergence?
• What is final energy?
• What is dE in the final step?

(plot the above parameters to see the diminishing returns)

Then determine computation time expense vs. accuracy gained.

• +1. Nice first answer! Welcome to our community and thank you contributing content here!! We hope to see much more of you here !!! – Nike Dattani Sep 22 '20 at 18:47

You can upload your structure [many formats are supported] into the following website to generate the input file for your Quantum Espresso calculation.

There are three choices for the k sampling in terms of the distance between two k points.

• Very fine [0.15 1/A]
• Fine [0.2 1/A]
• Normal [0.3 1/A]

Very often, you can just take the fine option to obtain reliable results.

To build on the other good answers here, there are also numerous ways to generate k-point grids.

The most common method (described here) is Monkhorst-Pack, which is the method you'll see in typical DFT tutorials.

However, there are now better methods, called "generalized k-point grids", for these techniques see:

and articles cited therein.

Practically, to generate grids using this technique, you can use the Mueller research groups's k-point server or kplib (an interface for which exists in pymatgen, or you can use autoGR from Gus Hart's group.

Typically, these techniques are better than Monkhorst-Pack, but if you're only doing one or two calculations the advice to run with a fine Monkhorst-Pack grid might just be easier, especially if you're starting out (e.g. using the Materials Cloud Quantum Espresso link posted by Jack, or using the VASP input sets in pymatgen to give recommended grid densities). Convergence tests are always recommended, and in general Gamma-centered grids are preferred (the economy of shifting the grid is not worth the loss of the Gamma point, in my opinion, better to just run with a slightly higher grid density).

Hope this helps!

This question has been well-answered. But I would like to add in a few points too.

In addition to observing the energy, you can also observe the convergence of outputs which are really sensitive to the K_point grid like the crystal pressure which is given by "P = " above your stress values in your SCF output file. The convergence of such hypersensitive outputs will automatically imply the convergence of other outputs too for various K_point grid values. Moreover, if the bravis-lattice is cubic it's good to choose even values over odd values, for the K_point grid, due to the effect of the Irreducible Brillouin Zone(IBZ) that would essentially give you a higher accuracy but with the same execution time as given below.

There would be tricks like this for your specific crystal lattice too.