Migration and verification¶
Retain the original calculation record. Write its physical request in .oqp, then compare
the lowered section dictionary and the final typed configuration. A raw
schema inventory, successful parse, or source review is not a molecular
calculation or a scientific support qualification.
A complete HF conversion¶
An equivalent explicit reference route:
rhf/sto-3g scf(conv=1e-08)
geom="""
H 0 0 0
H 0 0 0.74
"""
Canonical input (download):
hf/sto-3g scf(conv=1e-8)
geom="""
H 0 0 0
H 0 0 0.74
"""
Run with openqp hf.oqp. The slash route supplies method and basis;
energy is the omitted primary calculation. scf(conv=...) remains
an exact section call. For a ground-state HF derivative, add grad(S0).
For MRSF, translate an internal root to its physical label within the selected
spin multiplicity, rather than copying the number:
download the MRSF gradient.
It requests grad(S1), which lowers to properties.grad=2.
The automatic triplet ROHF reference is separate from the singlet target.
CLI, Python API and Studio¶
| Physical request | Canonical / CLI | Python API setting | Internal consumer |
|---|---|---|---|
| Geometry and charge | geom=..., charge=0 |
job.molecule(geometry=...,charge=0) |
input.system/charge → Molecule geometry/electron count |
| HF/DFT model | hf/BASIS, dft/FUNCTIONAL/BASIS |
job.theory.hf(...), job.theory.dft(...) |
input.method/functional/basis → SCF setup |
| MRSF | mrsf(nstate=3)/bhhlyp/6-31g* |
job.theory.mrsf(functional="bhhlyp",basis="6-31g*",nstate=3) |
tdhf.type/nstate, automatic scf.type/multiplicity → response solver |
| SCF threshold | scf(conv=1e-8) |
job.scf(conv=1e-8) |
scf.conv → SCF convergence |
| MRSF gradient | grad(S1) |
Inspect physical-state API contract before copying a numeric state | properties.grad=2 → response derivative |
| Nuclear temperature | md(temperature=300) |
Common nuclear controls through the MD API | md.init_temp=300 and md.thermostat_temperature=300 |
| Friction | md(friction=1) |
Common nuclear controls through the MD API | md.thermostat_friction=1 |
| Native optimization | opt(S0,coordsys=tric) |
job.workflow.optimize(...); compatible API can also select legacy backends |
optimize.istate and oqp.coordsys → selected optimizer |
| SOC counts | soc(ns=3,nt=5) |
job.workflow.soc(...) |
tdhf.nstate_s/nstate_t → separate spin calculations |
| Threads | omp_threads=8; CLI --omp 8 |
job.control(omp_threads=8) |
input.omp_threads → runtime setup |
These API names are source mappings, not an assertion that the two entry
points share every default. In particular Python SOC selects scal_rel=2
unless overridden. Compare job.to_input_dict() and job.config_typed
with the canonical lowering and schema conversion before running.
The Python API describes supported calls.
Save canonical Studio input as input.oqp; the runner passes it to the engine. Inspect the saved content as well as the extension. Its builder
controls are not an independent keyword schema. Inspect the actual saved
input and selected engine version. The source mapping does not replace
testing the built application, all builder fields, or packaged executables.
Reproducible source checks¶
tools/canonical_keywords.py reads only a full committed gateway SHA.
It loads the standard-library canonical parser and schema converter from that
commit without importing oqp or a native library. Schema converter
functions are extracted unchanged from the committed schema file.
The report retains parser/source hashes, accepted examples, lowered
dictionaries, typed selected values, and rejected cases.
python tools/canonical_keywords.py --engine /safe/gateway --check \
--report /safe/task/canonical-check.json
All seven topic code blocks also pass the same parser and schema conversion. Eleven complete downloadable decks are generated from the checked positive cases, including NAC, NAMD, SOC and QM/MM. The QM/MM example requires the PDB, solute XML and water XML in the same directory. Source checks remain separate from the native execution record.
The full default/type/ownership inventory and driver options are regenerated
from that same commit. --check fails if checked-in reference files differ.
It also tests render/reparse/lower equivalence. It distinguishes syntax
errors from later schema type-conversion errors; it does not label every
invalid value a parser rejection.
The negative cases cover unknown/typo keys, duplicate aliases, conflicting basis, two primary calculations, reserved state/reference keys, forbidden legacy calls, missing root-count values, insufficient/negative/noninteger root counts, wrong state labels, and invalid numeric section values. Accepted compatibility aliases are tested separately; an accepted alias is not labelled deprecated without engine evidence.
Source version and limits¶
This reference is pinned to gateway source version 1.3.1, shown in the inventory. The public manual retains the 1.3.0 release identity; parser availability in this later source baseline is not a promise that a 1.3.0 binary supports every setting. Check the installed engine version.
Full calculation validation, native CLI/Python execution and packaged Studio builder equivalence require their own checks. Parsing does not establish scientific validity or numerical equivalence.