vibeqc.run_uhf_periodic_multi_k_ewald3d

vibeqc.run_uhf_periodic_multi_k_ewald3d(system, basis, kmesh, 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]

Multi-k open-shell UHF SCF with EWALD_3D Coulomb.

Mirror of run_rhf_periodic_multi_k_ewald3d() for open-shell systems. Same DIIS / damping / orthogonaliser conventions, but everything runs per-spin: two Pulay-DIIS instances, two diagonalisations per k, two density matrices folded back via inverse Bloch.

Occupations follow the molecule’s multiplicity (assumed equal at every k — closed-shell-insulator-flavoured setup, matching the multi-k RHF driver).

Parameters:
  • system (vibeqc._vibeqc_core.PeriodicSystem)

  • basis (vibeqc._vibeqc_core.BasisSet)

  • kmesh (vibeqc._vibeqc_core.BlochKMesh)

  • omega (float)

  • grid_shape (Tuple[int, int, int] | int | None)

  • origin (Sequence[float] | None)

  • spacing_bohr (float)

  • linear_dep_threshold (float)

  • canonical_orth_normalize_diag_first (bool)

  • auto_optimize_truncation (bool)

  • progress (bool | ProgressLogger | None)

  • verbose (int | None)

Return type:

PeriodicUHFMultiKEwaldResult