I have been using 'nscf' for DOS calculation since it is faster and therefore possible to use a higher kpoints. But why is it faster? why not use it in the place of 'scf'?


2 Answers 2


The central goal of KS-DFT is solving Kohn-Sham equation:

$$H\psi_i(\vec{r})=\left( -\dfrac{\nabla^2}{2}+V_{ks}[\vec{r};\psi_i(\vec{r})] \right)\psi_i(\vec{r})=E_i\psi_i(\vec{r})$$

Here the atomic unit has been adopted. Note that the Kohn-Sham equation is a nonlinear differential equation and hence we need to solve it self-consistently. The workflow can be summarized as the following:

enter image description here

Once the self-consistent calculation is done then the converged charge density is obtained.

With this converged charge density at the previous self-consistent run, you can always construct the KS Hamiltonian once again and diagonalize it to obtain eigenvalues along the assigned K path in reciprocal space or calculate the density of states on a denser uniform k mesh. Note that you just read the converged charge density to construct the Hamiltonian without any update for the charge density, that's the meaning of NSCF.

  • $\begingroup$ Dear Jack, in the step when you say that the Kohn Sham equation is being solved, are you obtaining the energies from the orbitals you defined previously? Or are you obtaining the orbitals from values of the energies? I think I am missing something $\endgroup$
    – Paul Logan
    Commented Jun 11, 2021 at 14:35
  • 2
    $\begingroup$ By solving the KS equation, you can obtain orbital and energy at the same time. $\endgroup$
    – Jack
    Commented Jun 11, 2021 at 15:29
  • $\begingroup$ Thank you, Jack! $\endgroup$
    – Paul Logan
    Commented Jun 12, 2021 at 12:08

NSCF stands for non-self-consistent field calculation and, as explicit by its name, the calculation is not performed in a self-consistent fashion as the SCF (self-consistent field) one. The latter performs the solution trying to minimize the density charge functional until a predetermined limit in the energy difference between two consecutive steps. The convergence against the k-points mesh should also be achieved. Therefore the SCF calculation should be performed first to ensures the minimum Khom-Sham energy state that should resemble the system's ground state.

Calculations such as the Band structure, Density of States, and optical properties, in general, require a denser grid at the reciprocal space. Thus the NSCF calculation should be performed after the SCF one, sampling the system to a denser mesh in the reciprocal space, allowing for the aforementioned calculations.

  • $\begingroup$ In case of Quantum ESPRESSO, I believe Band structure calculation takes the structure will only take data generated from 'scf' so doing a 'nscf' calculation will no effect band structure does it? $\endgroup$ Commented Oct 27, 2020 at 14:09
  • 1
    $\begingroup$ Imagine calculating a sine curve then needing additional accuracy. You can either interpolate between points or calculate the missing points. NSCF is basically the same as calculating the missing points. It can effect the shape of the band structure some but its unlikely to change things dramatically. $\endgroup$ Commented Oct 27, 2020 at 15:30
  • $\begingroup$ So is it fine to use a high value for the k-point grid with SCF method to achieve the dense grid condition for the band structure/DOS calculations? The reason for asking this is that nscf calculations sometimes have convergence issues. [researchgate.net/post/… $\endgroup$ Commented Dec 26, 2020 at 22:54
  • $\begingroup$ It works, but the denser the mesh the higher the time. The convergence issues with the nscf method can be reduced by increasing the cutoff energies and/or reducing the convergence threshold. $\endgroup$ Commented Dec 28, 2020 at 12:38
  • $\begingroup$ Although a bit too late, I would like to ask how dense the grid should be for nscf calculation compared to the one for scf calculation? @AnibalBezerra $\endgroup$
    – ansonthms
    Commented Nov 10, 2022 at 17:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .