vibeqc.run_rhf_periodic_gamma_ewald3d

vibeqc.run_rhf_periodic_gamma_ewald3d(system, basis, options=None, *, omega=0.0, grid_shape=None, origin=None, spacing_bohr=0.3, linear_dep_threshold=1e-07, canonical_orth_normalize_diag_first=True, auto_optimize_truncation=True, progress=None, verbose=None)[source]

Γ-point closed-shell periodic RHF SCF with Ewald-3D Coulomb.

The Coulomb matrix is built via the composed Ewald split J_ewald(ω, D) = J_SR(ω) + J_LR(ω) from build_j_ewald_3d(). Exchange K uses the full-range real-space builder (build_jk_gamma_molecular_limit at ω = 0); in periodic HF, K’s real-space decay comes from the density matrix, not the Coulomb operator, so an Ewald split on K is neither needed nor used by standard periodic codes.

Parameters:
  • system (vibeqc._vibeqc_core.PeriodicSystem) – PeriodicSystem.

  • basis (vibeqc._vibeqc_core.BasisSet) – AO basis for the unit cell.

  • options (vibeqc._vibeqc_core.PeriodicRHFOptions | None) – Optional PeriodicRHFOptions controlling max_iter, damping, convergence tolerances. use_diis is currently ignored — plain damping only; DIIS is a planned follow-up.

  • omega (float) – Ewald splitting parameter. Result is ω-independent at convergence to ~ µHa across ω ∈ [0.3, 2.0].

  • grid_shape (Tuple[int, int, int] | int | None) – FFT-Poisson grid controls forwarded to build_j_ewald_3d().

  • origin (Sequence[float] | None) – FFT-Poisson grid controls forwarded to build_j_ewald_3d().

  • spacing_bohr (float) – FFT-Poisson grid controls forwarded to build_j_ewald_3d().

  • linear_dep_threshold (float) – Overlap-eigenvalue threshold below which AO directions are projected out of the SCF. Default 1e-7 matches the molecular SCF drivers.

  • canonical_orth_normalize_diag_first (bool)

  • auto_optimize_truncation (bool)

  • progress (bool | ProgressLogger | None)

  • verbose (int | None)

Return type:

PeriodicRHFEwaldResult.