Pseudopotentials in Plane-Wave DFT
In plane-wave density functional theory, treating all electrons—core and valence—explicitly requires enormous kinetic energy cutoffs to resolve the rapid oscillations of core wavefunctions near the nucleus. Pseudopotentials solve this by freezing core electrons and replacing their effect with a smooth, effective potential that acts only on valence electrons. Outside a cutoff radius , the pseudo-wavefunction matches the all-electron (AE) wavefunction exactly; inside, it is smooth and nodeless. This dramatically reduces the plane-wave basis size—from thousands of components to hundreds—without sacrificing accuracy.
KRONOS supports both norm-conserving pseudopotentials (NC-PP) and projector-augmented wave (PAW) potentials via the Unified Pseudopotential Format (UPF v2). This page explains the physics, the Kleinman-Bylander separable representation, and how KRONOS evaluates pseudopotential contributions to the Hamiltonian.
Why Pseudopotentials: The Core Problem
Core electrons are tightly bound to the nucleus. For example, in silicon, the 1s and 2p electrons have kinetic energies of hundreds of Rydbergs. Their wavefunctions oscillate rapidly near the nucleus—you need plane-wave cutoffs Ry to represent them. Valence electrons oscillate more gently: for Si, the 3s and 3p electrons need Ry.
The key insight is that core electrons are spectators: they do not participate in chemical bonding. What matters is the potential they create and its effect on valence electrons.
The pseudopotential idea: Replace the Coulomb potential of the nucleus minus the electron-density repulsion of the core with a softer, effective ionic potential . This potential is constructed so that:
- Pseudo-wavefunctions (smooth, nodeless) give the same scattering phase shifts as the all-electron wavefunctions.
- Below the cutooff radius (typically 1–2 bohr), the pseudo-wavefunction is smooth.
- Above , the pseudo-wavefunction matches the all-electron wavefunction exactly.
The result: a plane-wave basis with 5–10× fewer components, and no loss of accuracy in properties like band structure, forces, or total energy.
Norm-Conservation: The Hamann-Schlüter-Chiang Condition (1979)
Norm-conservation is a stability criterion that ensures transferability of the pseudopotential across different chemical environments and pressure ranges.
For each angular momentum channel and radial node , the pseudo-wavefunction must satisfy:
Why this matters: The scattering phase shift is related to the derivative of the logarithmic radial wavefunction at . When norm is conserved, the first derivative of the phase shift with respect to energy,
is minimized. This means the phase shift changes slowly near the reference energy used to construct the pseudopotential. A pseudopotential is then transferable: it works across a range of densities, pressures, and bonding environments with high accuracy. The penalty is a slightly softer potential (smaller ) compared to harder, less-transferable pseudopotentials.
Kleinman-Bylander Separable Form (1982)
Evaluating the nonlocal potential naively,
requires applying a dense nonlocal operator to every wavefunction—cost per k-point, which is prohibitive.
The Kleinman-Bylander decomposition (1982) expresses the nonlocal part as a sum of rank-1 projectors:
where:
- indexes atoms
- are angular momentum quantum numbers
- index radial basis functions for channel (typically )
- is a projector (smooth, localized at atom )
- is a small matrix (typically 4×4)
The action on a wavefunction becomes:
which costs —typically 1000× faster.
Geometric interpretation: The projectors are fixed basis functions. The matrix elements are fitted so that this separable form reproduces the full nonlocal potential to high accuracy. For NC-PP constructed via Kleinman-Bylander, the fit is near-perfect; some modern hardened potentials (ONCV) may use slightly larger errors in the fit to gain transferability.
Nonlocal Projectors in Reciprocal Space
To apply projectors efficiently on the plane-wave grid, KRONOS Fourier-transforms them. For atom at position , the Fourier components are:
The radial integral is:
where is a spherical Bessel function. This is computed by numerical integration on the radial mesh from the UPF file and cached per k-point.
The projection of a wavefunction,
is a simple inner product. Applying the nonlocal operator requires only BLAS operations on the projection coefficients and the matrix.
Memory note: For a typical atom, 8–20 projectors (, each with or more) and hundreds of k-points, caching per k-point adds a few MB per atom—easily manageable.
Local Pseudopotential: Coulomb Tail Subtraction
The local part of the pseudopotential, , is the spherically symmetric potential that includes the Coulomb repulsion from the nucleus minus the core density:
At large , this tail diverges as . In Rydberg units, the Fourier transform of the long-range Coulomb tail is:
The problem: The short-range remainder, , is smooth and decays rapidly. Numerically tabulating it and Fourier-transforming is clean. But if you include the full long-range tail in the numerical FFT, you accumulate errors at small (the slowly-decaying Fourier components).
The solution: KRONOS subtracts the long-range tail analytically:
- Numerically Fourier-transform only the short-range part: .
- Add back the analytic Coulomb FT: (for ).
- At (the mean-field energy), use directly.
This "Coulomb tail subtraction" is numerically stable and avoids long-range errors in the potential.
The Unified Pseudopotential Format (UPF v2)
The UPF format is a quasi-XML standard for storing pseudopotentials. KRONOS parses UPF v2 in src/io/upf_parser.cpp. A typical UPF file contains:
<PP_HEADER>: Element, Z, pseudopotential type (NC-PP, PAW, Ultra-soft), functional (LDA, GGA), reference pressure/configuration.<PP_R>: Radial mesh with –1000 points, logarithmic spacing.<PP_LOCAL>: Local pseudopotential on the radial mesh.<PP_NONLOCAL>: Nonlocal projectors.<PP_BETA>: Radial projector functions , indexed by , .<PP_DIJ>: The matrices.
<PP_PSWFC>: Pseudo-wavefunction for each channel (for testing/verification).<PP_AUGMENTATION>(PAW only): Augmentation charge , one-center overlap, compensation charges.
Parsing and validation: When KRONOS loads a UPF file, it:
- Checks that the pseudo-wavefunctions are nodeless inside .
- For NC-PP, verifies norm-conservation to for each channel.
- Caches the radial functions and interpolates onto the FFT grid as needed.
This validation catches malformed or accidentally-swapped pseudopotentials early.
PAW Augmentation (Blöchl 1994)
Norm-conserving pseudopotentials are robust and transferable, but they sacrifice some accuracy in the core region. The Projector-Augmented Wave (PAW) method reconstructs the all-electron wavefunction inside the core, achieving AE-level accuracy without requiring large basis sets.
The PAW ansatz partitions the wavefunction:
where:
- is the pseudo-wavefunction (smooth, easily expanded in plane waves).
- are all-electron partial waves (frozen, precomputed).
- are pseudo partial waves (smooth matching versions).
- are projectors.
Augmentation charge: The charge density includes an "augmentation charge" that corrects for the difference between the reconstructed core and the smooth pseudo density. This is where the extra accuracy comes from.
In KRONOS: The PAWCalculator class (src/potential/paw.cpp) handles:
- One-center overlap: overlap of AE partial waves.
- One-center energy: the frozen AE energy from the reference configuration.
- Augmentation energy: correction from .
The main cost is recomputing these corrections in each SCF iteration—still and negligible compared to FFT.
Cutoff requirement: PAW needs a finer FFT grid because augmentation charge varies faster inside the core. KRONOS enforces for PAW (vs. for NC-PP).
Choosing a Pseudopotential: Soft vs. Hard
Softness is a trade-off:
| Characteristic | Soft PP | Hard PP |
|---|---|---|
| 20–40 Ry | 60–150 Ry | |
| Computational cost | Lower | Higher |
| Transferability | Excellent | Good–Excellent |
| Scattering region | Large | Compact |
| Fit difficulty | Easier | Harder |
Element-dependent:
- Alkali metals (Na, K): soft—valence is far from nucleus, core is well-separated.
- 3d Transition metals (Fe, Ni, Cu): hard—semicore electrons sit between valence and core –; including as core makes PP harder, but leaving it as valence explodes cutoff.
- Oxygen, Nitrogen: moderate—2s, 2p lie reasonably close.
Pseudopotential libraries:
- PSlibrary: QE standard; curated, tested across many systems.
- SSSP-efficiency / SSSP-precision (CCP NC): hand-optimized for high efficiency or maximum accuracy.
- ONCV (Schlipf-Gygi 2015): fully optimized Kleinman-Bylander projectors; excellent transferability; available for most elements.
KRONOS does not judge—whatever's in the UPF file will be evaluated correctly.
How KRONOS Loads and Applies Pseudopotentials
Initialization (at startup):
PseudoPotentialstruct parses the UPF file viasrc/io/upf_parser.cpp.LocalPPEvaluator::compute_vlocal_g()(insrc/potential/local_pp.cpp):- Subtracts Coulomb tail analytically.
- Numerically integrates the short-range part.
- Caches for all in the basis.
NonlocalPP::prepare_kpoint()(insrc/potential/nonlocal_pp.cpp):- For each atom and each projector, computes via spherical Bessel transform.
- Caches the Fourier components.
Per SCF iteration:
- Local contribution: real-space grid via IFFT, pointwise multiply with density/wavefunctions, FFT back. Cost: .
- Nonlocal contribution: Project wavefunctions onto via inner products, apply matrix, add back. Cost: .
- PAW (if enabled):
PAWCalculator::compute_one_center()adds augmentation energy and forces.
The modular design means swapping NCPP ↔ PAW is just a configuration flag in crystal.nonlocal_type.
References
- Hamann, D. R., Schlüter, M., Chiang, C. "Norm-Conserving Pseudopotentials." Phys. Rev. Lett. 43, 1494 (1979).
- Kleinman, L. & Bylander, D. M. "Efficacious Form for Model Pseudopotentials." Phys. Rev. Lett. 48, 1425 (1982).
- Blöchl, P. E. "Projector Augmented-Wave Method." Phys. Rev. B 50, 17953 (1994).
- Hamann, D. R. "Optimized Norm-Conserving Pseudopotentials." Phys. Rev. B 88, 085117 (2013).
- Schlipf, M. & Gygi, F. "Optimization Algorithm for the Generation of ONCV Pseudopotentials." Comput. Phys. Commun. 196, 36 (2015).
- Martin, R. M. Electronic Structure: Basic Theory and Practical Methods. Ch. 11, Cambridge University Press (2004).
- Pickett, W. E. "Pseudopotential Methods in Condensed Matter Applications." Comput. Phys. Rep. 9, 115 (1989).