vibeqc.compute_gradient_periodic_rks_gamma

vibeqc.compute_gradient_periodic_rks_gamma(system, basis, result, *, lattice_opts=None, grid_options=None, dft_plus_u=None)[source]

Analytic Γ-only periodic RKS atomic gradient (closed-shell DFT).

Parameters:
Returns:

(n_atoms, 3) gradient in Ha/bohr.

Return type:

np.ndarray

Notes

Assembly.

  1. The Hartree-Fock-ish part (nuclear-rep + 1-e Pulay + overlap- Lagrangian + 2-e J/K Pulay) is computed via compute_gradient_periodic_rhf_gamma() with the Hartree- fraction set by the functional (a_HF = 0 for pure DFT; a_HF != 0 for hybrids). The converged V_xc is threaded in so the overlap-Lagrangian uses the gauge-free variational KS Fock eigenvalues (see that function’s Gauge-free overlap-Lagrangian note). Hybrid true-periodic DIRECT_TRUNCATED gradients fail closed in the shared RHF helper; the molecular limit is exact.

  2. The XC Pulay term uses the lattice-summed periodic primitive xc_lattice_gradient_contribution() (libxc on the periodic Becke grid + analytic d_c chi), exact for LDA / GGA / hybrid. Combined with (1) the molecular-limit RKS gradient matches the molecular analytic gradient to ~1e-9 (LDA / PBE) and ~1e-14 (B3LYP / PBE0).