Calculates ELF (and all the stuff in between wannier functions and ELF) with wannier orbitals.
For details, see the blog post here
Given a set of wannier functions
This is for personal use so there is no CLI.
Run:
python elf.py "wannier*.xsf" --symmetrization-method=reciprocal
for reciprocal space symmetrization of density, density gradients and kinetic energy density (highly preferred to obtain small errors after symmetrization).
python elf.py "wannier*.xsf" --symmetrization-method=real
for real space symmetrization of density, density gradients and kinetic energy density (not preferred unless very dense real-space fields are available).
Needs wannier*.xsf files generated via VASP
ELF.xsf and all scalar fields needed to calculate the ELF.
Can be visualized by VESTA, CrystalMaker, or any other viewer for scalar fields
- Python Libraries:
- ASE: For reading and writing XSF files.
- NumPy: For numerical calculations.
- Spglib: For symmetrizing charge density.
- tqdm: Progressbar
Ensure all required Python libraries are installed:
python -m venv ~/.venv/wannier_elf
source ~/.venv/wannier_elf/bin/activate
python -m pip install ase numpy spglib tqdm