Important Notes on Quantum Espresso

The following are some of the Frequently asked questions about Quantum Espresso. These are also based on my own personal experiences and doubts. I have tried to research and find the answers and then compiled them all here for others to benefit. Hope you find these useful!

1.How to optimize a geometry?
Run a plane wave calculation with ‘vc-relax’ or ‘relax’ as the calculation parameter in the input file.

  1. What is the difference between ‘vc-relax’ and ‘relax’ calculations?
    ‘vc-relax’ means relaxation with variable cell, that is even your lattice parameters along with the atomic coordinates will be relaxed. On the other hand after running a ‘relax’ calculation, only the atomic positions are relaxed(modified).
    Don’t forget to update your input file with these new parameters from the relax output, for further calculations.

  2. Where do I find the magnetic moments of atoms?
    Magnetic moment per site are generated after an ‘scf’ calculation, therefore you will find them in it’s output. Moreover, after running a projected DOS calculation using(projwfc.x) you will find more information regarding the magnetization  and spins of the electrons in the output file.

  3. What is the unit of magnetic moment per site given in the SCF output file?
    I am not sure about this one either, so correct me if I am wrong, but I think it’s probably in Bohr. Reference:

  4. How to convert the CELL PARAMETERS in alat generated after the ‘vc-relax’ job?
    CELL_PARAMETERS are given in the units of alat, that is in terms of the lattice parameter ‘a’. To convert them in the units that you would expect, multiply the factors by a.
    Example: After running a ‘vc-relax’ calculation on Si, I got the following output:

The parameters converted to angstroms are found by multiplying the above values by a.(Note in my case a is in Angstroms.)

Then to find out the lattice parameters, a, b, c just find out the magnitude(norm) of the three vectors(rows).

To find out the angles, just find out the angle between the rows. In the example given, you can see that two of them are 90 degrees.

  1. How to find the new lattice parameters after a ‘vc-relax’ calculation?
    Here is an example explaining the process:
    Example: After running a ‘vc-relax’ calculation on Si, I got the following output:

The parameters converted to angstroms are found by multiplying the above values by a.(Note in my case a is in Angstroms.)

Then to find out the lattice parameters, a, b, c just find out the magnitude(norm) of the three vectors(rows).

To find out the angles, just find out the angle between the rows. In the example given, you can see that two of them are 90 degrees.

  1. What are some useful softwares that can be used to generate Quantum Espresso input files?
    I find BURAI very helpful, to generate Quantum Espresso, input files.
    It can read CIF files, and visualize them as well as create several JOBS. You can find my tutorial on BURAI here.

Not only that, BURAI can even run Quantum Espresso and then show you beautiful outputs, in the form of charts.
It is really a wonderful piece of accessory to Quantum Espresso, and a must-have for beginners.

Advance users can use PwGUI, which isn’t as powerful, but nonetheless, extremely useful.

  1. What does ab initio mean? I see this term a lot on papers relating to DFT.
    ab initio quantum mechanical methods
    Synonym: non-empirical quantum mechanical methods
    Methods of quantum mechanical calculations independent of any experiment other than the determination of fundamental constants. The methods are based on the use of the full Schroedinger equation to treat all the electrons of a chemical system. In practice, approximations are necessary to restrict the complexity of the electronic wavefunction and to make its calculation possible. Reference:

  2. I see the phrase, ‘First Principles Study’ a lot. What does it mean?
    It is just an English synonym of ‘ab initio’, explained in the last question.

  3. What is the best DFT functional for band gap calculation?
    Different functionals are accurate under different circumstances, so you can’t make a blanket statement that one functional gives accurate band gaps for semiconductors. The only way to know when various functionals are and are not trustworthy is to use them in order to become familiar with their strengths and limitations. Personally I suggest to choose a small number of well known functionals (I use PBE and B3LYP) and stick to those unless you know why some other functional is more appropriate for a given situation.

  4. What do the terms LDA, GGA, PBE, BLYP, etc. mean?
    Density functional theory reduces the quantum mechanical groundstate many-electron problem to self-consistent one-electron form, through the Kohn-Sham equations [1]. This method is formally exact, but for practical calculations, the exchange-correlation energy as a functional of the density must be approximated. In doing so, the local (spin-) density approximation (LDA) has long been the standard choice [2]. Although simple, the LDA results in a realistic description of the atomic structure, elastic, and vibrational properties for a wide range of systems. Yet the LDA is generally not accurate enough to describe the energetics of chemical reactions (heats of reaction and activation energy barriers), leading to an overestimate of the binding energies of molecules and solids in particular. Also, there are several examples where the LDA puts molecular conformations or crystal bulk phases in an even qualitatively wrong energetic order [3,4]

Recent generalized gradient approximations (GGA’s) have overcome such deficiencies to a considerable extent [1,5,6], giving for instance a more realistic description of energy barriers in the dissociative adsorption of hydrogen on metal and semiconductor surfaces  [7,8]. Gradient corrected or GGA functionals depend on the local density as well as on the spatial variation of the density. Computationally they as simple to use as the LDA. On the other hand it is becoming increasingly clear that such GGA functionals are still too limited to provide not only a consistent improvement over the LDA, but also to achieve the desired chemical accuracy of (better than 1 kcal/mol or 50 meV/atom) in general. Reference:

Now, that you know what GGA and LDA are, you can now understand PBE and BLYP.
The PBE functional belongs to the class of generalized gradient approximation (GGA) functionals for the exchange-correlation energy Exc . Therefore, some GGA functionals are parametrized by fitting experimental data. But there are also some GGA functionals that achieve the inclusion of gradient correction without introducing experimentally fitted parameters which makes them valid for a wide range of systems. One example of such a parameter-free GGA functional is the one developped by Perdew, Burke and Ernzerhof (PBE). It is known for its general applicability and gives rather accurate results for a wide range of systems. Reference:

  1. How to run Quantum Espresso jobs in a parallel environment?
    I don’t know that right now either. I am working on it and hopefully, I will get it working and report back on a way to do it easily. Till then, have patience. Also if you know how to do it, then hit me up in the comments below.
    Here are some links that might be useful:

  2. What does LDA+U mean?
    The L(S)DA often fails to describe systems with localized (strongly correlated) $ d$ and $ f$ electrons (this manifests itself primarily in the form of unrealistic one-electron energies). In some cases this can be remedied by introducing a strong intra-atomic interaction in a (screened) Hartree-Fock like manner, as an on site replacement of the L(S)DA. This approach is commonly known as the L(S)DA+U method.


  1. How to know/calculate the right Hubbard U parameter for an element?
    Well, I don’t understand this perfectly either so I just use hit and trials until I get better results.
    Here are some tutorials that I found:

Once I grasp this concept better, I will try to answer this question in more detail.

  1. What is the Hubbard U parameter?
    The main aim of the Hubbard U is to correct for the effects of self-interaction, in particular that localised states (usually d- and f-states) are too close to the Fermi energy.


  1. How to specify the Exchange Functional I am using for calculations?
    You usually don’t need to specify it. It is read from your pseudopotential file. Typically, PPs contain that information. You must have noticed things like PBE in the PP name, indicating the type of XC used. Although, if you wish to use Hybrid functionals, then you

  2. What are Lowdin charges?
    Lowdin charges, found in the output of projWfc calculation, refer to the valence electrons of your system. The Lowdin charges are calculated as a sum of the projections of the extended plane wave valence states onto a pseudo-atomic basis (characterized by the highest valence s, p, d, f states per your output). The numbers are positive and not negative, because they refer to the number of electrons (i.e. s, p, and so on). The code should also a ‘spilling parameter’ at the bottom of your output that tells you how well the projections are capturing the description of the valence states.

  3. How to perform spin polarised calculations?
    To perform spin polarised calculations, just add nspin=2 to the &SYSTEM namelist of your input files.
    You can also specify starting magnetization or total magnetization.



[wpedon id="7041" align="center"]

3 thoughts on “Important Notes on Quantum Espresso

  1. I have a simple doubt.BURAI is a GUI of quantum expresso. So whole band calculation and DOS calculation can be performed only by BURAI.Is those publishable or need the help of further quantum expresso coding.
    Thanks for consideration.

  2. Hi Manas,

    I am new to quantum espresso , but I must tell you that your videos on QE have really helped me in starting my research journey. So thanks a lot for making and sharing such informative videos.
    Currently I am trying to find out the density of states and band structure for silicon. I am working with the BINARY version of QE 6.4.1. I am able to run the initial two steps of the process i.e. the scf and nscf calculations, but I am stuck at the third step i.e. running dos calculations using dos.exe. The moment I run the command for it on the command prompt I get an error as below:

    Command that i enter:

    c:\users\…\silicon>dos.exe si.dos.out

    Error that i get:
    Error in routine dos (1):
    reading dos namelist

    The input file for DOS is as below:

    emin= -9.0
    emax= 16.0

    The exact same error is received when i run bands.exe execution.

    It will be a great help, if you could help me with it.

  3. Hello,

    Thank you so much for your work!
    If I have an iron slab and bring some
    organic molecules to the surface, how
    should I use the info on magnetization ?

    How should I setup a calculations since
    my organics should not be magnetized?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.