vibe-qc GPW/GAPW vs GPAW Program – Architectural Comparison¶
1. Orbital basis¶
vibe-qc GPW/GAPW |
GPAW Program |
|
|---|---|---|
Basis type |
Gaussian (atom-centered, contracted GTOs via libint) |
Real-space grid (uniform 3D finite-difference grid) + PAW projectors |
AO evaluation |
libint C++17 |
Wavefunctions represented directly on the real-space grid; no AO basis |
Consequence |
Sparse analytic integrals (overlap, kinetic, nuclear attraction, ERI) are exact for the Gaussian basis; only the Coulomb J is done on the FFT grid |
ALL operators (kinetic, potential, Hartree, XC) are finite-difference stencils on the same grid – uniform treatment but finite-difference error |
Fundamentally different philosophies: vibe-qc is a Gaussian-orbital code borrowing the FFT-Poisson trick from GPW for the long-range Coulomb; GPAW is a pure grid code with PAW for all-electron accuracy.
2. Coulomb / Hartree solver¶
vibe-qc GPW/GAPW |
GPAW Program |
|
|---|---|---|
Grid density |
Gaussian density ρ(r) collocated onto uniform FFT grid via AO evaluation at each grid point: |
Electron density computed directly on the FD grid from wavefunctions ψ_n(r) |
Poisson solve |
FFT → |
FFT → |
AO projection |
Grid potential V_H(r_g) projected back to AO J matrix: |
N/A – no AO basis. Potential applied directly to wavefunctions on the grid. |
Collocation cache |
|
No equivalent – wavefunctions ARE the grid representation |
3. All-electron treatment¶
vibe-qc GAPW |
GPAW Program |
|
|---|---|---|
Method |
GAPW (Gaussian-based): AO density on per-atom radial×Lebedev grids, augmented with atomic corrections for the hard (core+nodal) density |
PAW (Blöchl 1994): Frozen atomic partial waves + projector functions. PAW datasets pre-computed for each element. |
Atomic data |
No frozen datasets – uses the same Gaussian basis to model both hard (ρ_a) and soft (ρ̃_a) densities on atomic grids. Soft basis built by removing tight primitives (exponent > α_cut). |
Pre-computed PAW datasets (setups) containing partial waves φ_i, pseudo partial waves φ̃_i, projector functions p̃_i, and compensation charges. Downloaded from gpaw-data. |
Correction form |
|
|
Frozen core |
All-electron by construction (no pseudopotential). The Gaussian basis already describes the core. |
Uses frozen-core PAW by default – core states are pre-computed atomic orbitals, frozen during SCF |
4. SCF convergence¶
vibe-qc GPW/GAPW |
GPAW Program |
|
|---|---|---|
Eigensolver |
DIIS (Pulay) + EDIIS/ADIIS on the Fock matrix. C++ SCF host ( |
Davidson iterative diagonalisation by default; also supports direct minimisation (etdm-fdpw), CG, and LCAO mode. |
Mixing |
Anderson/Pulay mixing of the density matrix. |
Pulay density mixing by default ( |
Smearing |
Fermi-Dirac, Gaussian, Marzari-Vanderbilt. |
Fermi-Dirac, Methfessel-Paxton, Marzari-Vanderbilt, cold smearing. |
Open-shell |
UHF/UKS/ROHF/ROKS available (post-M3). |
Spin-polarized DFT and HF available throughout. Hund’s rule support for free atoms. |
5. GPU acceleration¶
vibe-qc |
GPAW |
|
|---|---|---|
GPU |
No GPU support (CPU-only C++17 with Eigen/FFTW3) |
Yes – NVIDIA GPU support via CuPy (Python GPU arrays). Most operations run on GPU if available. |
6. Exchange (exact HF exchange)¶
vibe-qc GPW/GAPW |
GPAW Program |
|
|---|---|---|
Hybrid functionals |
Yes – libint analytic 4c-ERIs for HF exchange at Γ-point. BIPOLE route for multi-k. |
Yes (PW mode) – but expensive: O(N³) scaling. Usually combined with LCAO mode for hybrids. |
Range-separated |
Experimental ( |
Supported through libxc range-separated functionals. |
COSX (RIJCOSX) |
Γ-point COSX-K experimental; BIPOLE for multi-k. |
No direct COSX equivalent; uses LCAO or pure grid modes. |
7. Functional coverage¶
vibe-qc GPW/GAPW |
GPAW Program |
|
|---|---|---|
LDA/GGA |
✓ Full libxc (500+ functionals) |
✓ Full libxc |
meta-GGA |
✓ r²SCAN and others (M3c). Requires τ on the real-space grid. |
✓ Full libxc including r²SCAN. Requires τ. |
Hybrids |
✓ (analytic ERI at Γ; BIPOLE at multi-k) |
✓ (but expensive in PW mode) |
8. Production readiness¶
vibe-qc GPW/GAPW |
GPAW Program |
|
|---|---|---|
GPW |
Production for closed-shell Γ-point. Multi-k pure-DFT available. Analytic forces wired. |
Production since 2005. Thousands of publications. |
GAPW |
Experimental ( |
PAW is default and production. Mature PAW datasets. |
Tests |
Growing test suite. GAPW parity against CP2K targeted. |
Extensive test suite. Validated against VASP, ABINIT, QE. |
9. Method family overview¶
vibe-qc ships several periodic SCF routes covering different accuracy/cost trade-offs:
Route |
Basis |
Coulomb |
Exchange |
All-electron |
Status |
|---|---|---|---|---|---|
BIPOLE |
Gaussian |
Ewald / Multipole (L≥0) |
Analytic 4c-ERI (exact) |
Yes (all-electron GTOs) |
Production (RHF/UHF/RKS/UKS) |
GDF |
Gaussian + density-fitting auxiliary basis |
Ewald / FFT |
Analytic 3c-ERI (DF-approximate) |
Yes |
Production (closed+open shell, multi-k) |
GPW |
Gaussian → real-space grid collocation |
FFT-Poisson |
Analytic 4c-ERI |
No (smooth density only – PP-like) |
Production (Γ-point, closed-shell) |
GAPW |
Gaussian + per-atom radial grids |
FFT-Poisson + atomic-sphere correction |
Analytic 4c-ERI |
Yes (all-electron via augmentation) |
Experimental |
CCM |
Gaussian (INDO/MNDO parameterised) |
Ewald (Madelung) |
INDO Fock terms |
No (valence-only, semiempirical) |
Production (MSINDO) |
10. Summary¶
Dimension |
vibe-qc |
GPAW |
|---|---|---|
Basis |
Gaussian (atom-centered) |
Real-space grid (FD) |
Core treatment |
All-electron (GAPW augments GPW) or valence-only (BIPOLE/GDF/GPW/CCM) |
PAW (frozen-core, pre-computed datasets) |
Hartree |
FFT-Poisson on collocated density (GPW/GAPW) or Ewald/multipole (BIPOLE) or DF (GDF) |
FFT-Poisson on grid density |
Exchange |
Analytic 4c-ERI (exact for Gaussians) or DF-approximate (GDF) |
FD stencil on grid (or LCAO mode) |
Overall approach |
Gaussian quantum chemistry + GPW acceleration for Coulomb |
Pure real-space DFT from the ground up |
Maturity |
GPW: production · GAPW: experimental · BIPOLE: production · GDF: production |
Production (20 years) |
TL;DR: vibe-qc’s GPW is a Gaussian code accelerated by FFT, converging the traditional quantum-chemistry world (libint, contracted GTOs, analytic ERI) with the plane-wave world (FFT-Poisson). GPAW is a real-space finite-difference code that happens to use PAW for all-electron accuracy. They share the FFT-Poisson solver and libxc, but differ in almost everything else. vibe-qc additionally offers BIPOLE and GDF routes that are entirely Gaussian-native – no real-space grid involved – which GPAW has no equivalent for.