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:
- The parser supplies an omitted driver or physical state.
- The schema supplies omitted section values and converts their types.
- 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.