I wonder if all DFT codes are based on the Kohn-Sham formalism?.

If other methods are available, what are their scopes?


2 Answers 2


At least I was able to find three other forms of DFT listed as:

  • Lattice density-functional theory: It's suitable for modeling the lattice gas, binary liquid solutions, order-disorder phase transformations.
  • Orbital-free density functional theory: It's less accurate than KS but it's much faster.
  • Strictly-Correlated-Electrons density functional theory: It's an alternative to KS for strongly-correlated systems. In contrast to KS, when you start from a set of non-interacting electrons and you could calculate their kinetics energy exactly, and then approximate the interaction through exchange-correlation energy, in SCE DFT, you start from an infinite electronic correlation and zero kinetics energy.

Orbital-Free Density Functional Theory (OFDFT) is, as the name suggests, an attempt to work with DFT without using the Kohn-Sham (KSDFT) approach of expressing the density as a sum of non-interacting orbital densities.

In the KS formulation, the kinetic energy functional explicitly depends on the choice of orbitals, whereas in principle the true energy functional should only depend on the overall density. The trade-off is that the KS kinetic energy functional has a well defined simple form, with all the many body effects describing the system being compressed into the exchange-correlation functional. For OFDFT, both the kinetic energy and exchange correlation functionals are undetermined and must be approximated in some way.

So why would one want to use OFDFT if its less easily defined and presumably less accurate? The main benefit is in the reduced scaling; while KSDFT generally scales cubically with the number of orbitals due to the need to perform a diagonalization, OFDFT scales linearly with system size. This obviously offers a huge potential benefit for studying large systems.

A fairly nice, practical tutorial for using OFDFT is given on the GPAW website and a more in depth description of their implementation is given here.


You must log in to answer this question.

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