vibeqc.run_rks_periodic_multi_k_ewald3d¶
- vibeqc.run_rks_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, bz_integration=None, density_mixer=None, density_mixer_depth=8, density_mixer_beta=0.5, density_mixer_kerker=False, kerker_k0=1.5, kerker_strength=1.0, kerker_cutoff_ha=120.0)[source]¶
Multi-k closed-shell periodic RKS SCF with EWALD_3D Coulomb.
- Parameters:
system (vibeqc._vibeqc_core.PeriodicSystem) – Periodic system and AO basis.
basis (vibeqc._vibeqc_core.BasisSet) – Periodic system and AO basis.
kmesh (vibeqc._vibeqc_core.BlochKMesh) –
BlochKMesh(e.g. fromvibeqc.monkhorst_pack()).options (vibeqc._vibeqc_core.PeriodicKSOptions | None) – Optional
PeriodicKSOptions. Defaults: PBE, DIIS on, no level shift, molecular Becke partition. Honoursfunctional,grid,use_periodic_becke,becke_image_radius_bohr,level_shift,smearing_temperature,damping,max_iter,conv_tol_*,diis_*,initial_guess,lattice_opts.omega (float) – Ewald splitting + FFT-Poisson grid controls.
grid_shape (Tuple[int, int, int] | int | None) – Ewald splitting + FFT-Poisson grid controls.
origin (Sequence[float] | None) – Ewald splitting + FFT-Poisson grid controls.
spacing_bohr (float) – Ewald splitting + FFT-Poisson grid controls.
linear_dep_threshold (float) – Per-k S(k) eigenvalue floor for canonical orthogonalisation.
density_mixer (str | None) – Real-space density-matrix mixer (v0.10.x D4 metal-mixing program).
None/"diis"(default) keep the Fock-space DIIS + linear density-damping path."anderson"selects Anderson/Pulay density mixing and"broyden"selects limited-memory Broyden – both extrapolate over a history of density residuals and can converge near-degenerate / metallic cells where Fock-DIIS limit-cycles. When a density mixer is active it replaces Fock-DIIS, linear damping and the quadratic-SCF fallback (alternative convergence strategies are not stacked – CLAUDE.md Sec.7); Fermi-Dirac / Gilat smearing and the level shift still apply (they are physics / virtual-space controls, not anti-oscillation aids).density_mixer_depth (int) – Residual-history length and linear-mixing parameter for the density mixer (ignored unless
density_mixerselects one).density_mixer_beta (float) – Residual-history length and linear-mixing parameter for the density mixer (ignored unless
density_mixerselects one).density_mixer_kerker (bool) – Apply the Kerker preconditioner (D4b) to the density mixer’s residual – damps long-wavelength (small-|G|) charge sloshing on metals. Requires a
density_mixer; raises otherwise. It filters the residual, so the converged energy is unchanged (exact SCF solution – CLAUDE.md Sec.7); only the convergence path changes.kerker_k0 (float) – Kerker screening wave-vector
G₀(1/bohr; larger damps more long-wavelength modes), damping fractiong in (0, 1], and the plane-wave cutoff sizing the collocation grid. Ignored unlessdensity_mixer_kerkeris set.kerker_strength (float) – Kerker screening wave-vector
G₀(1/bohr; larger damps more long-wavelength modes), damping fractiong in (0, 1], and the plane-wave cutoff sizing the collocation grid. Ignored unlessdensity_mixer_kerkeris set.kerker_cutoff_ha (float) – Kerker screening wave-vector
G₀(1/bohr; larger damps more long-wavelength modes), damping fractiong in (0, 1], and the plane-wave cutoff sizing the collocation grid. Ignored unlessdensity_mixer_kerkeris set.canonical_orth_normalize_diag_first (bool)
auto_optimize_truncation (bool)
progress (bool | ProgressLogger | None)
verbose (int | None)
bz_integration (str | None)
- Return type: