Parameters#
This page explains the driver knobs that most users will actually touch. It is not a replacement for source docstrings; it is a map from physical intent to the keyword names used by the code.
The safest first run is to leave defaults alone and change only densities,
temperature, and out_dir or ir_file. Grid, SCF, and Davidson controls are
there for convergence studies, not for making a difficult point look nicer.
Physical inputs#
Keyword |
Used by |
Meaning |
|---|---|---|
|
all drivers |
Spin-summed carrier density in \(\mathrm{cm}^{-3}\), or |
|
all drivers |
Temperature in K. Drivers convert it to \(\beta\) in \(\mathrm{Hartree}^{-1}\). |
|
all drivers |
|
The sparse-IR radial drivers use atomic units internally:
TakadaProjection is the exception: its projected dense formulas use
eV/Angstrom units and the dimensionless variable
\(x = \xi / E_{\mathrm{F}}\).
For phonon dispersion, omega_t_disp_cm_a2 is the legacy single-pole
linear-frequency TO dispersion. Multipole phonons use the separate opt-in
phonon_to_omega2_disp_cm2_a2 field for TO squared-frequency dispersion; LO
zeros stay fixed and the q-independent multipole baseline is unchanged when
that field is empty. For multipole modes that need a finite-q regularization,
phonon_to_omega2_cap_cm2 supplies optional squared-frequency caps while
preserving the small-q slope.
Sparse-IR and caches#
Keyword |
Default |
Meaning |
|---|---|---|
|
|
Sparse-IR cutoff \(\Lambda = \beta \omega_{\mathrm{max}}\). |
|
|
Sparse-IR basis tolerance. |
|
|
Optional HDF5 cache path for sparse-IR arrays. |
|
|
Save a generated IR cache. |
|
|
Precontract common transform matrices for repeated use. |
Use a separate cache per temperature and lamb value. Example 08 does this under its output directory because a temperature scan
needs multiple IR grids.
Momentum grids#
Keyword |
Default |
Meaning |
|---|---|---|
|
|
Target size of the q grid. |
|
|
Minimum local resolution near the Kohn feature around \(2k_{\mathrm{F}}\). |
|
|
Active k-grid resolution around the Fermi surface. |
|
|
Bounds for the Fermi-shell portion of the k grid. |
|
|
Domain-size factors used to cover radial convolutions. |
This representative grid is generated directly from migdal.grid for
\(n=10^{20}\,\mathrm{cm}^{-3}\) and \(T=1\,\mathrm{K}\), with axes normalized by
\(k_{\mathrm{F}}\). With the default point budgets this setup gives \(N_k=566\) and
\(N_q=500\); each rug mark is an actual grid point. The active \(k\) grid
concentrates points in the narrow thermal shell around \(k_{\mathrm{F}}\), which is why the
figure includes a zoom inset. The \(q\) grid protects the region around \(2k_{\mathrm{F}}\),
where the Lindhard polarization has its Kohn-feature structure, and then
extends far enough to cover the radial convolution domain. The detailed
Lindhard construction and RPA sign convention are explained in
fixed-W0 polarization and
the RPA sign convention.#
If a smoke run fails its particle-number check, first increase the grid. Relax
n0_check_atol only when you deliberately want a control-flow test rather than
a physics result.
Interaction and diagonal cell averages#
Keyword |
Default / choices |
Meaning |
|---|---|---|
|
|
Default |
|
|
Default |
|
|
Quadrature cells for diagonal averages when a quadrature path is used. |
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Minimum denominator scale used by regularizing policies. |
|
|
Default |
In q_singular mode, diagonal cell averages are mathematically required for
the exact diagonal radial block. The average changes only that self-cell
quadrature block; it does not change the interaction definition. The table
lists public driver choices; a lower-level "provided" head policy exists for
callers that supply their own singular coefficient, but the public radial
drivers reject it.
Normal-state SCF controls#
GW0 solves G self-consistently with fixed W0. ScGW solves G, rebuilds
the polarization bubble, and updates W.
Keyword |
Common default / choices |
Meaning |
|---|---|---|
|
|
Max-norm tolerance for the gauge-invariant \(\Sigma-\mu\) residual. |
|
|
Maximum normal-state SCF cycles. |
|
|
SCF damping/mixing control. |
|
|
DIIS history size. |
|
|
First cycle where DIIS may be used. |
|
|
Maximum density-step size for restart-enabled continuation scans. |
|
|
Default |
|
|
Pin the Fermi-surface self-energy gauge when enabled. |
|
|
Use the high-frequency corrected density formula in the SCF chemical-potential solve. Set to |
|
|
Permit an unconverged SCF row to continue to the gap solve. |
Disk checkpoints for the normal-state SCF loop are available through the Python
driver API for GW0 and ScGW:
Keyword |
Default |
Meaning |
|---|---|---|
|
|
HDF5 path for writing the latest SCF cycle state. Under MPI, only rank 0 writes. |
|
|
HDF5 path to load as the initial SCF guess for a later |
The checkpoint stores the restart seed for the normal-state SCF loop: sigma,
mu, the optional Fermi-surface pin shift, the active k grid, the Matsubara
grid, and basic diagnostics. It does not serialize DIIS history, the gap solve,
or the derived scGW W/polarization tables. Use it to resume the same
GW0/scGW method on the same temperature and grid after an interruption. In a
density scan with scan(restart=True), the file can seed the first point; once
the scan has an in-memory continuation seed, that seed takes precedence.
ScGW also has polarization and tail controls. Keep these defaults for
tutorial runs unless you are doing a specific stability audit.
Keyword |
Default / choices |
Meaning |
|---|---|---|
|
|
Minimum number of passive k points in the separate polarization integration tail. |
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Low-q continuation thresholds in units of \(k_{\mathrm{F}}\). |
|
|
Permit a run without a passive polarization tail. This is mainly for controlled tests, not production-style scGW scans. |
With the default pi_low_q_policy="asymptotic", finite bosonic frequencies are
continued as \(\Pi(q,\mathrm{i}\nu_n)\propto q^2\) below
\(q_{\mathrm{low}} k_{\mathrm{F}}\), where \(q_{\mathrm{low}}\) is
q_low_factor; the static component is held at its reference low-q value below
\(q_{\mathrm{static,low}} k_{\mathrm{F}}\), with \(q_{\mathrm{static,low}}\) set by
q_static_low_factor. The detailed formulas are in
scGW low-q continuation.
The table above lists driver constructor defaults. Some scripts in the
recommended example order choose more
conservative defaults for long scans, especially continuation step sizes and
scGW cycle limits. Use python examples/<name>/run.py --help when you need the
script-level defaults.
Advanced debug-only gap options check_precond and check_precond_nsamples are
available through the Python driver kwargs but are not part of the common package
CLI. The package CLI exposes scf_high_freq_density only indirectly for scGW:
--legacy-scf-density switches scGW to the direct endpoint density convention.
The package CLI --restart option controls in-memory scan continuation; disk
SCF checkpoint paths are currently Python driver keywords.
Gap solver#
The radial gap problem is solved by PySCF’s Davidson solver. Driver keyword
arguments are passed through to GapConfig.
Keyword |
Default / choices |
Meaning |
|---|---|---|
|
|
Restrict the active Matsubara window. |
|
driver-derived |
Frequency cutoff when truncation is enabled. |
|
|
Default |
|
|
Default |
|
|
Davidson convergence tolerance. |
|
|
Maximum Davidson cycles. |
|
|
Davidson subspace limit. |
|
|
Number of Davidson roots requested from the gap solver. Keep |
|
|
Return the full scaled gap function for diagnostics. |
The reported pairing strength is
where \(\eta_{\mathrm{selected}}\) is the selected raw Davidson eigenvalue.
Takada projection controls#
TakadaProjection is separate from the sparse-IR radial drivers. Its main
controls are the dense angular grid, the dimensionless energy grid, and the
kernel symmetry check.
Keyword |
Default |
Meaning |
|---|---|---|
|
|
Quadrature sizes for the projected dense kernel. |
|
|
Inner and outer limits for the dimensionless energy grid. |
|
|
Occupied and unoccupied energy-grid counts. |
|
|
Maximum allowed projected-kernel symmetry error. |