This guide explains how to extract and plot Density of States (DOS) from VASP output using VASPkit, and generate high-quality figures suitable for publication.
Project/
└── DOS/
├── INCAR
├── POSCAR
├── KPOINTS
├── TDOS.dat
├── PDOS_Ti.dat
├── PDOS_B.dat
├── ITDOS.dat
├── IPDOS_Ti.dat
├── IPDOS_B.dat
├── plot_all_dos.py
├── README.md
└── plots/
├── TDOS.png / .pdf
├── PDOS_Ti.png / .pdf
├── PDOS_B.png / .pdf
├── IPDOS_Ti.png / .pdf
├── IPDOS_B.png / .pdf
├── ITDOS.png / .pdf
└── DOS_Master_Summary.png / .pdf
- Python 3.8+ with
numpyandmatplotlib - VASPkit installed
- VASP calculation with
LORBIT = 11or12inINCAR
Note on POTCAR: Generate the combined
POTCARfrom your local pseudopotential library using:cat path/to/Ti-sv/POTCAR path/to/B/POTCAR > POTCAR
-
Navigate to your DOS folder:
cd DOS -
Launch VASPkit:
vaspkit
-
Select DOS Menu: Type
11and press Enter. -
Extract Total DOS: Type
111– generatesTDOS.dat. -
Extract Partial DOS (PDOS): Type
113– enter atom indices (e.g.,1-2for Ti and B) to generatePDOS_Ti.dat,PDOS_B.dat, etc.
-
Run the script:
python3 plot_all_dos.py
-
All generated plots and vector PDFs will be organized inside the
plots/directory.
Outputs Summary:
TDOS.png/.pdf: Total Density of States.PDOS_*.png/.pdf: Partial Density of States for each element.DOS_Master_Summary.png/.pdf: Combined Master plot featuring all orbital/element contributions.
PLOT_DPI = 600 # PNG resolution
SAVE_PDF = True # save vector PDFs
ENERGY_RANGE = [-10.0, 10.0] # x-axis energy range (eV)
APPLY_ATOMIC_SCALING = False # keep False for VASPkit 113 output