# YATDFT: Yet Another Tiny DFT Library

YATDFT is a tiny library for constructing matrices used in restricted closed shell Hartree-Fock (HF) and Kohn-Sham density functional theory (KS-DFT) self-consistent field (SCF) calculations using Gaussian basis sets. YATDFT is written in C and parallelized using OpenMP. The code of YATDFT is clean and well documented. YATDFT can be viewed as a simplified single-node version of GTFock (GTFock cannot construct DFT exchange-correlation matrix yet).

YATDFT can construct:

- Core Hamiltonian matrix (Hcore)
- Overlap matrix (S)
- Basis transformation matrix (X)
- Coulomb matrix (J), using direct method or density fitting
- HF exchange matrix (K), using direct method or density fitting
- DFT exchange-correlation matrix (XC)
- Built-in LDA XC functionals: Slater exchange, Slater Xalpha correlation ($\alpha = 0.7 - 2/3$), PZ81 correlation , PW92 correlation
- Built-in GGA XC functionals: PBE exchange & correlation, B88 exchange, LYP correlation
- GGA XC functionals from Libxc: PW91 exchange & correlation, G96 exchange, PW86 exchange, P86 correlation

- CDIIS Pulay mixing for Fock matrix
- Density matrix (D), from Fock matrix or SAD initial guess

YATDFT also includes a demo code (`tests/AnySCF.c`

) for running SCF calculation using different combinations of J/K/XC matrix construction methods.

YATDFT includes most of the optimizations in my papers. If you use YATDFT in your work, please cite the following papers:

**Hua Huang**and Edmond Chow,*Accelerating Quantum Chemistry with Vectorized and Batched Integrals*, International Conference for High Performance Computing, Networking, Storage, and Analysis (SC18), Dallas, TX, Nov. 11-16, 2018**Hua Huang**, C. David Sherrill, and Edmond Chow,*Techniques for High-Performance Construction of Fock Matrices*, Journal of Chemical Physics,**152**, 024122 (2020)