Skip to content

[scf]

The [scf] section controls the reference wavefunction and SCF convergence strategy. It is required for HF, DFT, MP2, TDHF/TDDFT, SF-TDDFT, MRSF-TDDFT, SOC, NACME, and EKT workflows.

Minimal Examples

Closed-shell singlet:

[scf]
type=rhf
multiplicity=1

Triplet ROHF reference for MRSF-TDDFT:

[scf]
type=rohf
multiplicity=3

Keywords

type

Field Value
Type string
Default rhf
Values rhf, rohf, uhf
Used by reference selection

Selects the SCF reference. Use rhf for closed-shell singlets, rohf for the high-spin reference commonly used by SF/MRSF workflows, and uhf for unrestricted references including UMRSF-TDDFT. Standalone MP2 supports RHF, UHF, and ROHF references.

The input checker rejects type=rhf with multiplicity>1.

multiplicity

Field Value
Type integer
Default 1
Used by spin state and electron occupation

Sets the spin multiplicity, 2S+1. SF/MRSF examples usually use a triplet ROHF reference with multiplicity=3. In the high-level Python API, job.theory.mrsf(...) supplies this usual MRSF reference multiplicity implicitly; set multiplicity in job.molecule(...) for ordinary HF/DFT references or when overriding the default deliberately.

maxit

Field Value
Type integer
Default 30
Used by SCF iteration loop

Maximum number of SCF iterations before failure or fallback handling.

conv

Field Value
Type float
Default 1.0e-6
Used by SCF convergence test

Energy/density convergence threshold for the SCF cycle. Tighten this for high-precision properties or difficult state comparisons.

maxdiis

Field Value
Type integer
Default 7
Used by DIIS subspace

Maximum number of vectors kept in the DIIS extrapolation space. Set maxdiis <= 13 whenever an active DIIS stage uses ediis, adiis, vdiis, or any nonzero vshift; those paths use the deterministic simplex solver, whose exact supported history limit is 13 states. The rule applies to the primary DIIS/auto/ml converger, to an enabled init_scf stage when its effective init_converger is DIIS, and to any DIIS stage selected through escalation or alternative_scf. A calculation using only soscf or trah, or unshifted cdiis, may use a larger history.

diis_type

Field Value
Type string
Default cdiis
Values none, cdiis, ediis, adiis, vdiis
Used by DIIS convergence accelerator

Selects the DIIS variant. cdiis is the default. vdiis can be useful for difficult cases with level shifting. Active ediis, adiis, and vdiis stages require maxdiis <= 13.

diis_reset_mod

Field Value
Type integer
Default 10
Used by DIIS reset logic

Controls periodic DIIS reset behavior.

diis_reset_conv

Field Value
Type float
Default 0.005
Used by DIIS reset logic

Convergence threshold used by the DIIS reset heuristic.

cdiis_switch

Field Value
Type float
Default 0.3
Used by CDIIS switching heuristic

Threshold for switching into CDIIS-style extrapolation.

vdiis_vshift_switch

Field Value
Type float
Default 0.003
Used by VDIIS level-shift behavior

Threshold for VDIIS/level-shift switching.

vshift

Field Value
Type float
Default 0.0
Used by virtual-orbital level shift

Applies a level shift during SCF. Larger values can stabilize convergence but may slow final convergence. For an active DIIS stage, any nonzero value selects the C-DIIS/E-DIIS/C-DIIS cascade regardless of diis_type, so maxdiis must not exceed 13.

incremental

Field Value
Type boolean
Default True
Used by incremental Fock build

Enables incremental Fock builds where supported.

mom

Field Value
Type boolean
Default False
Used by maximum-overlap method

Enables MOM occupation tracking for challenging electronic states.

mom_switch

Field Value
Type float
Default 0.003
Used by MOM activation heuristic

Threshold controlling when MOM behavior is activated.

pfon

Field Value
Type boolean
Default False
Used by pseudo-fractional occupation number method

Enables pFON smoothing for difficult SCF cases.

pfon_start_temp

Field Value
Type float
Default 2000.0
Used by pFON schedule

Initial pFON electronic temperature.

pfon_cooling_rate

Field Value
Type float
Default 50.0
Used by pFON schedule

Cooling rate used as pFON occupations are annealed.

pfon_nsmear

Field Value
Type float
Default 5.0
Used by pFON occupation smoothing

Controls the smearing width/count used by the pFON method.

converger_type

Field Value
Type string
Default diis
Values diis, soscf, trah, auto, ml
Used by SCF convergence manager

Selects the main SCF convergence strategy. auto and ml are Python-side manager modes that choose a concrete native converger before dispatch.

init_converger

Field Value
Type string
Default None
Values empty, none, diis, soscf, trah, auto, ml
Used by initial SCF phase

Overrides the converger used during an optional initial SCF stage.

alternative_scf

Field Value
Type string
Default trah
Values diis, soscf, trah, auto, ml
Used by fallback SCF attempts

Fallback converger after repeated SCF difficulty.

escalation

Field Value
Type comma-separated string
Default empty
Values diis, soscf, trah stages
Used by custom fallback ladder

Overrides the default escalation ladder. Example:

[scf]
escalation=soscf,trah

forced_attempt

Field Value
Type integer
Default 2
Used by repeated SCF attempts

Controls how many attempts the SCF manager can force before declaring failure or escalating.

init_scf

Field Value
Type string
Default no
Values no, rhf, uhf, rohf, rks, uks, roks
Used by initial low-cost SCF stage

Requests an initial SCF calculation before the main SCF. KS-style initial SCF values (rks, uks, roks) require [input] functional.

init_basis

Field Value
Type string
Default none
Used by initial SCF basis selection

Basis used for the initial SCF stage. library can be used with init_library.

init_library

Field Value
Type multiline string
Default empty
Used by tagged basis mapping for init_basis=library

Maps atom tags to basis names for the initial SCF basis.

init_it

Field Value
Type integer
Default 15
Used by initial SCF stage

Maximum number of iterations in the initial SCF stage.

init_conv

Field Value
Type float
Default 0.001
Used by initial SCF stage

Convergence threshold for the initial SCF stage.

save_molden

Field Value
Type boolean
Default True
Used by Molden output

Writes Molden orbital files when supported. Hessian calculations combine SCF orbitals and normal modes in the frequency Molden file. MRSF-EKT calculations also write a state-labeled Dyson Molden file after the EKT kernel completes. See Orbital and Vibrational Output.

rstctmo

Field Value
Type boolean
Default False
Used by MO ordering

Restricts molecular-orbital ordering in workflows that need stable state or orbital labels.

scal_rel

Field Value
Type integer
Default 0
Values 0, 1, 2
Used by scalar-relativistic one-electron Hamiltonian

Selects the scalar relativistic Douglas-Kroll-Hess correction applied to the spin-free one-electron core Hamiltonian:

Value Meaning
0 Disabled.
1 First-order Douglas-Kroll-Hess correction.
2 First- and second-order Douglas-Kroll-Hess correction.

This is not the SOC switch. scal_rel changes the scalar, spin-free Hamiltonian; SOC is selected separately with [input] runtype=soc and [input] soc_2e. See References for the DKH background.

The input-file default is scal_rel=0. In the high-level Python API, job.workflow.soc(...) sets scal_rel=2 by default for the SOC workflow because the documented SOC path uses a DKH2 spin-free Hamiltonian before the SOC matrix is formed. Pass scal_rel=0, 1, or 2 to override that helper default.

stability

Field Value
Type boolean
Default False
Used by SCF stability analysis

Requests stability analysis where wired.

soscf_lvl_shift

Field Value
Type float
Default 0
Used by SOSCF convergence

Level shift used by the SOSCF converger.

verbose

Field Value
Type integer
Default 1
Used by SCF logging

Controls SCF verbosity.

TRAH Keywords

TRAH is the trust-region augmented Hessian SCF converger. The package build uses the native TRAH implementation by default when TRAH is requested.

trh_impl

Field Value
Type string
Default auto
Used by TRAH implementation selection

Selects the TRAH implementation. auto uses the available implementation and falls back to native behavior when external OpenTRAH is absent.

trh_stab

Field Value
Type boolean
Default False
Used by TRAH stability mode

Enables TRAH stability behavior.

trh_ls

Field Value
Type boolean
Default False
Used by TRAH line search

Enables line search inside TRAH.

trh_sub_solver

Field Value
Type string
Default davidson
Used by TRAH micro-iteration solver

Selects the subsystem solver used by TRAH.

trh_nrtv

Field Value
Type integer
Default 1
Used by TRAH random trial vectors

Number of random trial vectors used in the TRAH subsystem.

trh_r0

Field Value
Type float
Default 0.4
Used by TRAH trust radius

Initial TRAH trust radius.

trh_jd_start

Field Value
Type integer
Default 30
Used by TRAH Jacobi-Davidson switch

Iteration threshold for the Jacobi-Davidson path in TRAH.

trh_nmic

Field Value
Type integer
Default 50
Used by TRAH micro-iterations

Maximum number of TRAH micro-iterations.

trh_gred

Field Value
Type float
Default 0.001
Used by TRAH global reduction

Global reduction factor for the TRAH microproblem.

trh_lred

Field Value
Type float
Default 0.0001
Used by TRAH local reduction

Local reduction factor for the TRAH microproblem.

xc_c2f

Field Value
Type string
Default auto (follows perf)
Values on, off, auto
Used by DFT SCF — coarse-to-fine XC grid during descent

Use a coarse XC grid during the SCF descent and the full grid in the convergence tail. Exact at convergence. See Performance.

xc_phi_cache

Field Value
Type string
Default auto (follows perf; no preset enables it)
Values on, off, auto
Used by DFT SCF — collocation-Φ cache

Cache the collocation Φ across SCF iterations (exact). Opt-in; on the CPU benchmark it was net-negative, so no preset enables it.

xc_incdft

Field Value
Type string
Default auto (follows perf; no preset enables it)
Values on, off, auto
Used by DFT SCF — incremental DFT (experimental)

Incremental XC from density differences. Experimental; typically slows SCF convergence. Opt-in only.

grad_cutoff

Field Value
Type float
Default auto (follows perf; 1.0d-10 baseline)
Used by gradients — 2e-derivative Schwarz cutoff

Schwarz block cutoff for the 2e-derivative gradient build. Looser values trade a small gradient error for speed (1.0d-8 ≈ 5×10⁻⁷ a.u.).

Progressive Screening Keywords

Progressive screening is an opt-in SCF acceleration path. During the early descent it may use looser integral and XC-grid thresholds; once the DIIS error falls below pscreen_tight, it returns to the normal converged thresholds. No performance preset enables it automatically.

pscreen, pscreen_k, pscreen_cap, pscreen_tight

Keyword Type Default Meaning
pscreen boolean False Enable progressive integral/grid screening.
pscreen_k float 1.0e-2 Safety factor in the iteration-dependent cutoff, approximately pscreen_k * DIIS error.
pscreen_cap float 1.0e-8 Loosest permitted integral cutoff. Values looser than 1e-8 can risk changing the SCF state.
pscreen_tight float 1.0e-4 DIIS-error threshold for returning to tight cutoffs; the effective value is at least 10 * scf.conv.

pscreen_xc_dcut, pscreen_xc_aocut, pscreen_grid_rad, pscreen_grid_ang

Keyword Type Default Meaning
pscreen_xc_dcut float 0.0 Loose XC density cutoff during descent; zero disables this ramp.
pscreen_xc_aocut float 0.0 Loose XC AO-pruning threshold during descent; zero disables it.
pscreen_grid_rad integer 0 Coarse radial-grid size during descent; both grid sizes must be positive to enable this progressive-screening override.
pscreen_grid_ang integer 0 Coarse angular-grid size during descent; zero disables this override, independent of the separate xc_c2f schedule.

Keep pscreen_tight safely above the final SCF convergence threshold so the calculation reaches the normal integral and grid accuracy before convergence.