A simple Python/Tkinter GUI to compute spin-resolved and effective d-band centers directly from a VASP DOSCAR
(ISPIN=2, LORBIT=11).
- Load a
DOSCAR
(ISPIN=2, LORBIT=11). - Select atom range (Group of atoms using comma, such as 2-5,7-8,.. etc)
- Compute:
- Spin-up d-band center (
$\varepsilon_{d\uparrow}$ ) - Spin-down d-band center (
$\varepsilon_{d\downarrow}$ ) - Effective d-band center (
$\varepsilon_{\mathrm{eff}}$ ) - Hammer–Nørskov d-band center,
$\varepsilon_{\mathrm{HN}}$ - Fractional occupations
$f_\uparrow$ ,$f_\downarrow$
- Spin-up d-band center (
Let energies be aligned such that (E_F = 0), i.e., we use (E - E_F) internally.
- Spin-resolved d-band centers (integrated over the full energy grid):
- Fractional occupations (integrated up to the Fermi level):
- Effective d-band center (Bhattacharjee, S., Waghmare, U. & Lee, SC. An improved d-band model of the catalytic activity of magnetic transition metal surfaces. Sci Rep 6, 35916 (2016). https://doi.org/10.1038/srep35916):
- Hammer–Nørskov d-band center (spin-summed, full energy range):
Optionally, the reduced fractional occupation is
- Python 3.8+ (standard library only).
- Tkinter must be available (usually bundled with Python). On Debian/Ubuntu:
sudo apt-get install python3-tk
-
Just type in your terminal:
sudo apt update
pip install --upgrade Spin-dependent-d-band-center
-
Then in bash type:
d-band-satadeep
--> This will launch the application (see the pic below)
python3 d-band.py
- Click “Browse…” and select your
DOSCAR
(generated withISPIN=2
,LORBIT=11
). - Enter the atom ranges (e.g., 3-5,8-7,22-25 etc).
- Click “Compute”.
- Once executed the window will look like the following:

- The app shifts energies so that (E_F=0). Integrals for (f_\sigma) run from the grid minimum to 0; centers use the full grid range.
- The code aggregates the five d-orbitals (dxy, dyz, dz2, dxz, dx2) for each spin channel.
- Results shown in eV.
Created by Satadeep Bhattacharjee, IKST, Bangalore