I want to know the pros/cons of plane wave (PW) pseudopotential (PP) based DFT codes and all-electron full-potential linearised augmented-plane wave (FLAPW) DFT codes. In the title, I mentioned Quantum ESPRESSO (QE) and FLEUR for brevity, but my question is not just about them. On the one hand, I have QE, VASP, Abinit, CASTEP, etc. and on the other hand, I have Elk, FLEUR, WIEN2K, etc.

A few aspects of comparison that I am interested in are their accuracy in terms of band structure, band gap, charge density, etc. I am also interested in knowing if PP-based PW codes are substantially faster/slower than FLAPW-based DFT codes, i.e., their speed. Lastly, I want to know how their computational complexity (or speed) scales with the increasing size of the system.

  • 1
    $\begingroup$ Related: mattermodeling.stackexchange.com/q/561/7. The question is also a fairly broad (compare any pseudopotential electronic structure code across a number of different metrics). $\endgroup$
    – Tyberius
    Jun 14 at 15:55
  • 1
    $\begingroup$ @Tyberius Thanks, I have gone through that and also this question. These give a qualitative comparison of accuracy (FLAPW is more accurate than PP). I am still looking for their speed and scaling comparison. For example, I heard FLAPW codes take a long time to converge compared to PP-based codes (because FLAPW codes are all-electron codes). I want to know the truth of this statement. Hope this comment narrows down the focus of the question. $\endgroup$ Jun 14 at 18:18
  • 1
    $\begingroup$ Related: mattermodeling.stackexchange.com/questions/163 $\endgroup$ Jun 20 at 0:28
  • 1
    $\begingroup$ Note that a third option is to use atomic-orbital basis sets which can do all-electron calculations like FLAPW while being faster than either FLAPW or PW calculations. $\endgroup$ Jun 20 at 17:04
  • 1
    $\begingroup$ @SusiLehtola: Of course, atomic-orbital basis sets have their applications and advantages, but they also have drawbacks. These basis sets are typically not systematically extendable, i.e., not systematically convergable. You thus have an implicit approximation / model in your simulations that is difficult to understand in terms of limitations. $\endgroup$ Jun 20 at 22:01

2 Answers 2


Your question is rather broad and the partial answers for the different aspects are quite complex. Maybe I can clarify some of them.

In the DFT developer community one typically distinguishes between accuracy and precision. Accuracy is understood as a measure for the agreement between simulation results and experiments. This is in the end limited by the XC functional. Precision covers for a given XC functional the agreement between the simulation results with a certain code and the theoretically possible correct result. I assume that in your question you actually want to know something about precision.

Here, FLAPW methods offer the chance to come very near to the theoretical optimum, because beyond the XC functional all other approximations in such methods can be controlled and reduced to have negligible precision effects. Pseudopotentials (and also basis sets that are not systematically convergable) are approximations that cannot be controlled in such a way. PW basis sets are systematically and very comfortably convergable. You actually only have a single convergence parameter there: An energy cutoff controlling the basis set size. For equation of states paremeters, we are on the way of publishing a reference dataset for the measurement of the achievable precision with specific DFT implementations together with results for different DFT codes / pseudopotentials. See https://arxiv.org/abs/2305.17274 for details. This can be seen as a successor to the "Delta project". In the supplementary part of that work you can also read for what kind of systems challenges for pseudopotentials are found.

For band structure calculations you should be aware that DFT codes are typically constructed to calculate the charge density. This only relies on the occupied bands. In FLAPW codes you therefore have "energy parameters" around which a linearized description of the Kohn-Sham states takes place. These are chosen to get a good description of the occupied states and typically also provide a very nice description a few eV above the Fermi energy. If you want to also consider higher unoccupied states there is the option to extend the LAPW basis with local orbitals, i.e., additional basis functions that can be tailored to represent such states. In the construction of pseudopotentials one also plugs in the requirement that certain states (those required for the occupied states and a few more) are nicely represented. I don't know if people have mechanisms of extending the precision of pseudopotentials for Kohn-Sham states far above the Fermi energy. I am also not aware of studies demonstrating where the limits are.

The charge densities from different methods differ. Especially the charge densities from pseudopotential codes represent artificial systems covering the valence electron states only. To some extend this may be overcome by using the PAW approach, but even this is typically used together with a frozen core electron approximation, so you will see differences from all-electron approaches when you take a close look. But, of course, you already see small differences within a class of methods, e.g., between FLAPW calculations from different codes and with different parametrizations or differences between FLAPW codes and other all-electron approaches. You will also see differences between different pseudopotential codes.

With respect to performance both, pseudopotential PW codes and also FLAPW codes, are limited by the diagonalization of the eigenvalue problem. This scales cubically with the system size. However, PW codes typically have a larger basis set and thus also larger matrices. For the representation of the valence Kohn-Sham states they only need a small fraction of the eigenfunctions of the matrices and for this often iterative diagonalization algorithms are employed. These are efficient when only few eigenvalues / eigenfunctions are needed as they allow to skip an explicit construction of the whole Hamiltonian matrix in terms of the basis functions. FLAPW codes on the other hand have smaller matrices because the basis sets are also smaller. Here the diagonalization is typically done by direct eigensolvers, implying the need to construct the matrices explicitly. Another aspect is that PW codes employing norm-conserving pseudopotentials only have to deal with simple eigenvalue problems, while FLAPW codes come with generalized eigenvalue problems. Finally, in FLAPW codes there are some other computational kernels that scale cubically with the system size. Overall, I assume that PW codes are typically a little bit faster, but that depends on the unit cell and type of calculation. If you have many valence electrons per volume, the advantage of the iterative diagonalization schemes becomes smaller.

With respect to calculation types, some calculations are possible in certain codes while they are not possible in other codes. For example, as far as I know, when you perform a calculation considering spin-orbit coupling (SOC), with QE you always perform a calculation for systems with noncollinear magnetism. This is computationally expensive. In FLEUR you can also calculate SOC for nonmagnetic systems (e.g. for the Rashba effect) or systems with collinear magnetism (e.g. for calculating the magnetocrystalline anisotropy). Another difference shows up when you perform calculations on thin film systems. In PW codes this can only be done in terms of periodic slab calculations, i.e., you introduce a large vacuum region in the unit cell. This increases the number of needed basis functions. In FLEUR one has the possibility to set up a 2D geometry which does not come with increased basis set sizes.

The difference in calculation modes, however, is only partially related to the comparison between PP-PW codes and FLAPW codes. Even within a certain approach different codes may offer different options on what type of calculations can be performed. To my knowledge, for example no other FLAPW code at the moment offers the 2D geometry that FLEUR offers for thin film systems. Also for different FLAPW codes the performance characteristics may be slightly different. You can think of FLAPW codes as codes employing some basis set from a family of basis sets. In Wien2k typically an APW+lo basis set is used. In FLEUR most calculations are performed with a conventional LAPW basis set.

As final points let me mention that independent of possible uses of these codes on laptops or workstations, both, QE and FLEUR, are part of the MaX collaboration. All codes in this collaboration have been refactored and tuned for extreme parallelization scaling on large supercomputers. When it comes to very large unit cells that require a large-scale parallelization of the DFT calculation, such codes may offer advantages in comparison to other codes of the same approach that might not have been developed for such use cases. Also, getting near to the achievable performance of such codes requires some experience from the user: The codes have to be compiled in a smart way and the employed parallelization scheme also has to be tailored for the specific calculation.


The previous answer is really well formulated, is complete and has quantitative arguments. The main difference between these codes is the basis-set and how it is managed along with the potential. The approximations for the exchange-correlation functional are well-known and are implemented similarly.

As they solve the same equation (KS), which is also an approximation. Stricly speaking, there is no code more accurate than another one for the same basis-set. If your PP is well defined and you use a large basis-set a PW code could match the results of a LAPW code. When a code is fast, it is always at the expense of the accuracy while solving this equation.

Band structure, charge density, band gap are related to how the calculation is made. Normally a LAPW code is better for a small unit cell to get rid of errors arising from a wrongly parameterized pseudo potential. But as it includes core electrons, the calculation is really slow for large systems, you can look for some plots of the mean calculation time vs the number of electrons.

I have personally used the cited codes, the results are quite similar for LAPW codes, PW codes results depend strongly on the PP. Note that depending how they are parametrized, the results can be quite accurate for some of them, this accuracy for a specific system is not always transferable. The user should not try to find experimental results using a DFT code, this is a very naive behaviour and a source of inconsistencies.

  • $\begingroup$ Actually, the core electron treatment doesn't come with a significant contribution to the runtime of FLAPW calculations. These states are localized at individual atom sites. They can thus be treated for each atom separately by only considering in each SCF iteration the effective potential at the respective atom site. The runtime in LAPW is dominated by the description of the valence electrons. As for unit cell sizes, I think the largest unit cell for which FLEUR calculations have been performed up to now, covered about 3800 atoms. But this was mainly for a proof of concept and benchmarking. $\endgroup$ Jun 22 at 7:32
  • $\begingroup$ @GregorMichalicek You are not completely right, actually the core electrons can have a significant effect on the runtime, you know that a LAPW calculation aims not to create localized core states confined and generate an efective potential for valence, unless better to use a PW basis-set directly wih a pseudopotential. The most important part is the continuity between the MT sphere region and the augmented part, the tail of core e- in valence affects strongly the calculation time giving a more accurate result. Anyway the argument of strongly localised core electrons is an approximation. $\endgroup$
    – M06-2x
    Jun 22 at 11:40
  • $\begingroup$ The effective potential I'm talking about is not a pseudopotential, but the Kohn-Sham potential. The localization properties of the core electrons can also be exploited in all-electron codes and, of course, this is done. But you are right that the tails of the core electrons might extend beyond the MT spheres. On the level of the density construction there is thus a cubically scaling step to re-expand the core-electron density originating from all atoms in the MT sphere of every atom. In FLEUR there is a related cutoff and in the end this step is not really significant for the runtime. $\endgroup$ Jun 22 at 20:31
  • $\begingroup$ The procedure with the related cutoff coretail_lmax is described at: flapw.de/MaX-6.0/documentation/densityGeneration/… We introduced the cutoff a few years ago and before that this step in the construction of the density consumed considerably more time. Nowadays we typically set this cutoff to 0. $\endgroup$ Jun 22 at 20:32

You must log in to answer this question.

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