Kohn-Residual Optimized Numerics Over Silicon — an ab initio plane-wave
Density Functional Theory engine. It computes ground-state total energies,
electronic densities, Kohn-Sham eigenvalues, and ionic forces for periodic
crystalline systems, driven by strictly schema-validated YAML inputs
(scf, relax, bands, dos).
Physics and numerics
- Plane-wave basis with configurable cutoff (10–500 Ry), norm-conserving UPF v2 pseudopotentials
- LDA (Perdew–Zunger) and spin-polarized LSDA built in; PBE/PBEsol GGA via libxc
- Davidson eigensolver with Pulay/DIIS density mixing
- Monkhorst–Pack k-point sampling, reduced to the irreducible Brillouin zone with spglib space-group symmetry
- Ewald summation for ion–ion interactions; Hellmann–Feynman forces driving BFGS geometry optimization
- Band-structure and density-of-states post-processing
Engineering
C++20 with a CMake build; FFTW3, BLAS/LAPACK, and yaml-cpp as the core dependencies, with HDF5, MPI, and libxc optional. A GPU abstraction layer targets CUDA and HIP, plus an fp32-only Apple Metal research tier — Metal has no double precision, so it stays opt-in and is never used for validation-grade runs. Results ship as JSON summaries and atomically written HDF5 binaries; logs are structured JSON. The test suite runs 298+ GoogleTest cases, including physics invariants, convergence studies, and finite-difference force checks.
Validation
Gamma-only silicon total energy agrees with Quantum ESPRESSO to 10 µRy (~0.07 meV/atom), and analytic forces match finite differences to five significant figures — checked across seven material types, including spin-polarized BCC iron.
cmake -B build -S . && cmake --build build -j
./build/kronos examples/si_bulk.yaml
Builds from source (GPL-3.0); docs live at kdpisda.github.io/kronos.