BayesianOpt4dftu
This code determines the Hubbard U parameters in DFT+U via Bayesian Optimization approach.
Requirements
- Python 3.6+
- NumPy
- Pandas
- ASE (https://wiki.fysik.dtu.dk/ase/)
- pymatgen (https://pymatgen.org/)
- bayesian-optimization https://github.com/fmfn/BayesianOptimization
- Vienna Ab initio Simulation Package (VASP) https://www.vasp.at/
Set up the input file (input.json) before running the code
The input file contains these parts:
- structure_info : Includes geometry information (such as lattice parameter, lattice vectors, atomic position, etc) of the target materials.
- general_flags: Includes general flags required in the VASP calculation.
- scf: Flags required particularly in SCF calculation.
- band: Flags required particularly in band structure calculation.
- pbe: Flags required when using PBE as exchange-correlation functional.
- hse: Flags required when using HSE06 as exchange-correlation functional. The flags can be added or removed. More flag keys can be found in the ASE VASP calculator.
Installation
pip install BayesOpt4dftu
Usage
Before running, change the environment variables VASP_RUN_COMMAND, OUTFILENAME, and VASP_PP_PATH.
cd example/
python ./example.py
Citation
Please cite the following work if you use this code.
[1] M. Yu, S. Yang, C. Wu, N. Marom, Machine learning the Hubbard U parameter in DFT+ U using Bayesian optimization, npj Computational Materials, 6(1):1–6, 2020.