One of the properties used in Solid State Physics, and specially in semiconductor physics, is the effective mass. It can be calculated from the energy dispersion relationship. The simple form, for parabolic bands, is:

$$E(\vec{k}) = E_0 + \frac{\hbar^2\vec{k}^2}{2m^*}$$

Is there a tool/script that can extract the effective mass from DFT band calculations done by software like SIESTA and/or Quantum ESPRESSO?

  • $\begingroup$ Just wanted to mention that the effmass package mentioned above now supports Castep, VASP and FHI-aims. If someone wants to add support for Quantum ESPRESSO via ASE, I suspect it's not too difficult. See here for the implementation for the input for Castep, and this commented stub for Quantum ESPRESSO. $\endgroup$ Commented May 19 at 21:01

2 Answers 2


If VASP is a possibility, then check out this very nice python package by Lucy Whalley: https://github.com/lucydot/effmass

Associated paper is Phys. Rev. B 99, 085207 or via https://arxiv.org/pdf/1811.02281.pdf

  • $\begingroup$ VASPKIT also provides an option to calculate effective mass from VASP output $\endgroup$
    – Thomas
    Commented May 16, 2020 at 17:02

Effective mass is related to the electronic band curvature along a specific direction across the momentum space. For semiconductors, in general, it is worth knowing the effective mass around the $\Gamma$ high-symmetry point ($\Gamma \equiv \vec k=(0,0,0)$), for both the highest occupied band (the valence band) and the lowest unoccupied band (the conduction band).

Being the effective mass the band curvature, it is proportional to the second derivative of the energy band with respect to the wave vector k. Another possibility is to fit the electronic band with the parabolic dispersion as shown in the question

$E(k) = E_0 + \frac{\hbar^2 k^2}{2m^*}$,

however, you should be aware of the system under simulation if it presents parabolic bands.

I know the Virtual Nano Lab software does the calculation after plotting the band-structure. Apart from my own script (which is a very crude python program), I don't know about free alternatives.


You must log in to answer this question.

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