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, initial_density_k=None, verbose=None, bz_integration=None, exchange_exxdiv=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.Integer occupations follow the molecule’s multiplicity (assumed equal at every k). Positive
options.smearing_temperatureenables per-spin Fermi-Dirac occupations with fixedn_alpha/n_beta.bz_integration="gilat"instead applies sharp T=0 Gilat-Raubenheimer occupations independently to each spin channel on a full or symmetry-reduced regular mesh.exchange_exxdivselects the exact-exchangeq -> 0gauge exactly as onvibeqc.run_rhf_periodic_multi_k_ewald3d():None(default) takes the corrected Ewald split at every mesh, a single Gamma point included (GitLab #23);'ewald'does the same and fails closed where the split is unavailable;'none'takes the molecular-limit kernel ofrun_uhf_periodic_gamma_ewald3d()and is accepted only at a single Gamma point. A closed-shell singlet therefore reproduces the RHF energy on the same mesh and options (GitLab #399).- Parameters:
system (vibeqc._vibeqc_core.PeriodicSystem)
basis (vibeqc._vibeqc_core.BasisSet)
kmesh (vibeqc._vibeqc_core.BlochKMesh)
omega (float)
spacing_bohr (float)
linear_dep_threshold (float)
canonical_orth_normalize_diag_first (bool)
auto_optimize_truncation (bool)
progress (bool | ProgressLogger | None)
initial_density_k (Sequence | None)
verbose (int | None)
bz_integration (str | None)
exchange_exxdiv (str | None)
- Return type: