Introduction

DFTBaby is a software package for tight-binding DFT calculations on ground and excited states of molecules and for non-adiabatic molecular dynamics simulations.

Prerequisites

Required:

  • Python 3.12 or newer

  • NumPy 2.0.0 or newer

  • SciPy 1.14.0 or newer

  • Matplotlib 3.9.0 or newer

  • mpmath 1.3.0 or newer

  • sympy 1.13 or newer

  • BLAS and LAPACK libraries

  • f2py (included with NumPy)

Optional:

  • libxc 3.0.0 (for pseudoorbital calculations)

  • Mayavi (for graphical visualization)

For DFTB Parametrization Only:

  • Gaussian 09/16, Psi4, or PySCF (for calculating reference forces/energies)

Note

Most users do not need Gaussian/Psi4/PySCF. Pre-parametrized repulsive potentials are already included for common elements (H, C, N, O, S, Ag, etc.). Quantum chemistry programs are only required when creating new DFTB parameters for unsupported elements or developing custom parametrizations.

Installation

Install via pip:

git clone https://github.com/kangmg/DFTBaby.git
cd DFTBaby
pip install .

For development mode:

pip install -e .

Migration from Python 2

This package has been migrated from Python 2.7 to Python 3.12+ with NumPy 2.0+ compatibility. See PYTHON3_MIGRATION.md for detailed migration information.