vibeqc.compute_gradient_periodic_rks_gamma¶
- vibeqc.compute_gradient_periodic_rks_gamma(system, basis, result, *, lattice_opts=None, grid_options=None)[source]¶
Analytic Γ-only periodic RKS atomic gradient (closed-shell DFT).
- Parameters:
system (vibeqc._vibeqc_core.PeriodicSystem) – Periodic system and AO basis.
basis (vibeqc._vibeqc_core.BasisSet) – Periodic system and AO basis.
result (vibeqc._vibeqc_core.PeriodicKSResult) – Converged
PeriodicKSResultfromvibeqc.run_rks_periodic()(must haveconverged=True).lattice_opts (vibeqc._vibeqc_core.LatticeSumOptions | None) –
LatticeSumOptionsfor the lattice-sum cutoffs. Must match the values used during the SCF for the gradient to equal the energy gradient.grid_options (vibeqc._vibeqc_core.GridOptions | None) –
GridOptionscontrolling the DFT quadrature grid. Must match the SCF grid for the XC Pulay term to be consistent with the SCF energy.
- Returns:
(n_atoms, 3)gradient in Ha/bohr.- Return type:
np.ndarray
Notes
Implementation cuts (G1b-1, this commit).
The Hartree-Fock-ish part (nuclear-rep + 1-e Pulay + overlap- Lagrangian + 2-e J Pulay) is computed via
compute_gradient_periodic_rhf_gamma()with the Hartree- fraction set by the functional (α_HF = 0 for pure DFT; α_HF ≠ 0 for hybrids — and hybrids inherit the G1a-2 K bug).The XC Pulay term falls back to the molecular XC Pulay evaluated on the Γ-folded total density. Exact in the molecular limit; approximate for tight-packed bulk where image-cell AO overlap is significant. G1b-2 will replace this with a lattice-summed periodic XC Pulay.