Skip to content

Writing canonical keywords

Write a route, one primary calculation, optional controls, then geometry. The route chooses the electronic-structure model; the primary calculation chooses the physical quantity. A section call supplies advanced settings. Translate the physical calculation into canonical syntax; changing a filename does not translate its contents.

mrsf(nstate=3)/bhhlyp/6-31g* grad(S1) scf(conv=1e-8)
geom="water.xyz"

Here mrsf(nstate=3)/bhhlyp/6-31g* is the route, grad(S1) is the primary calculation and scf(conv=1e-8) is an advanced call. Geometry paths are relative to the input file, not the shell working directory. Use a quoted path or a triple-quoted coordinate block. No leading # route marker or section headers are used.

Routes, physical states and defaults

Request Internal configuration Interpretation
hf/sto-3g input.method=hf, scf.type=rhf Singlet HF; omitted driver is energy.
dft/pbe0/def2-svp input.method=hf, input.functional=pbe0 DFT uses the HF/KS SCF driver internally.
mrsf(nstate=3)/bhhlyp/6-31g* input.method=tdhf, tdhf.type=mrsf, tdhf.nstate=3 Three singlet response states if no other target is selected.
mrsf/... grad(S1) properties.grad=2, tdhf.multiplicity=1 Second singlet response root; the physical first excited singlet.
mrsf/... opt(T0) optimize.istate=1, tdhf.multiplicity=3 Lowest triplet target; the ROHF reference is selected automatically.
sf/... grad(root=1) properties.grad=1 Spin character must be examined after diagonalization.
tddft/... grad(S0) input.method=hf, state 0 Ground-state HF/DFT derivative, unlike MRSF S0.

The abbreviated ... rows explain mappings and are not runnable files. Downloadable complete examples are on Migration and verification.

For MRSF, S0, T0, and Q0 each mean the lowest state of the chosen spin multiplicity. They are not energy-ordered across multiplicities. Do not specify the automatic high-spin reference with mult or scf(multiplicity=...). For ordinary HF/DFT, mult selects the reference multiplicity. Explicit rohf/roks require mult>=2.

A default has three distinct meanings:

  1. The parser supplies an omitted driver or physical state.
  2. The schema supplies omitted section values and converts their types.
  3. The calculation may apply an effective default or performance preset.

The generated tables list raw schema defaults, not a promise of the final effective value. Follow each detailed reference for units, ranges, effective defaults, and restrictions. nstate without an explicit value is inferred from requested roots (at least one); namd defaults to physical S1. The namd lowering supplies scf.conv, tdhf.conv, and tdhf.zvconv=1e-8 only where an explicit value has not already been set.

Main calculations and advanced controls

Purpose Canonical form Detailed reference
Energy / derivative energy, grad(S0) Electronic structure
SCF and quadrature scf(conv=1e-8), dftgrid(pruned=none) SCF
Response solver route nstate; tdhf(nvdav=30) Excited states
Optimization opt(S0,maxit=100,coordsys=tric) Geometry
Crossing points meci(S0,S1), mecp(S0,T0) Geometry
Frequencies hess(S0,type=analytical) Geometry
Nonadiabatic coupling nac(S0,S1,type=analytical) Response
Nuclear dynamics md(nstep=10,dt=0.5) Dynamics
Surface hopping namd(S1,scheme=Overlap) md(nstep=10,dt=0.5) Dynamics
QM/MM add qmmm(...) to a supported driver QM/MM
Environment / execution pcm(...), omp_threads=8 Environment

Signatures here locate the controls; they do not establish that every model, property, derivative, or combination is supported. The full driver signatures and the calculation validator apply. namd(...) md(...) is the specific permitted composition: it is one excited-state dynamics calculation, not two independent drivers. Other combinations such as grad(S1) opt(S1) are rejected.

Conflicts, aliases and ownership

The source inventory classifies every schema key:

Ownership How to write it
Generic A keyword-only section(key=value) call; the same section/key is passed onward.
Route/driver Use route, globals, or primary-driver controls. Do not copy internal section keys mechanically.
Legacy only No canonical input spelling; compatible Python API only.
Intentionally forbidden No canonical equivalent; retained internally for compatibility.
Unmapped A documentation audit gap, not evidence of support.

Aliases normalize to one public spelling. threads means omp_threads; geometry and system mean geom. Giving both aliases is an error, not a last-value-wins rule. Flat basis or functional must agree with the route. Reserved method/state/reference selectors cannot override it. Old oqp(...) calls are read-time compatibility forms folded into the geometry driver; new input puts those options in opt(...), ts(...), or another applicable driver.

Legacy optimizer, step_size, step_tol, mep_maxit, the geometric section and legacy NEB k/maxg/avgg/optep controls are not canonical options. Native NEB spring/fmax/frms/opt_ends differ in semantics or units. Convert them deliberately.