vibeqc.compute_gradient

vibeqc.compute_gradient(mol, basis, result, options=None, *, dft_plus_u=None, _auto_df_for_fshell=False)[source]

RHF analytic nuclear gradient (Ha/bohr, per atom).

_auto_df_for_fshell is accepted but ignored — kept for one minor-version backwards compatibility after v0.7.3’s f-shell auto-route was retired.

dft_plus_u (optional): list of HubbardSite the SCF was run with. When set, the +U explicit ∂E_U/∂R is added to the HF gradient. The orbital-response (Pulay) piece of dE_U/dR is automatically captured by the standard energy-weighted-density Pulay term because the converged result.mo_energies already include the +U shift (the C++ SCF iterates the variational Fock F + S V_AO S, see vibeqc.dft_plus_u). Verified against FD on H2O/STO-3G at 6.9×10⁻¹¹ Ha/bohr.