# How to calculate the effective mass from DFT band calculations?

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?

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

• VASPKIT also provides an option to calculate effective mass from VASP output – Thomas May 16 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.