Skip to content

QM/MM and boundary controls

Source: gateway project 17, engine 1.3.1, commit 05361a3cc99fbad3da557084e41e21e690e5a27e. This parser reference is pinned to source version 1.3.1; it does not expand the capabilities of an installed 1.3.0 engine.

Add qmmm(...) to a supported energy, md, namd or opt calculation. A bare grad with qmmm is rejected by the canonical parser. Structure, force field, QM selection and embedding belong here; nuclear nstep/dt controls belong in md(...). Legacy qmmm.istate is forbidden in canonical input. Single-point and dynamics backends have different restrictions.

Specify the partition and backend

hf/sto-3g md(nstep=1,dt=0.5,temperature=300,seed=1) qmmm(forcefield_files="formaldehyde.xml tip3p.xml",qm_atoms="0-3",cutoff=NoCutoff)
geom="formaldehyde_2water.pdb"

Download the PDB, solute XML and water XML into the input directory. OpenMM is required; this one-step ground-state MD example uses a whole-molecule QM region. Standalone QM/MM energy and gradient CLI routes are not validated by this example; the pinned energy route fails to initialize its ESPF correction data.

Canonical control Meaning and constraint
qmmm(pdb_file="system.pdb",qm_atoms="0-8 12") Full-system PDB and zero-based QM indices/ranges, normalized to topology order.
qmmm(forcefield_files="amber14-all.xml,amber14/tip3p.xml") Explicit OpenMM XML assets for dynamics/optimization. Empty raw default does not supply these files.
qmmm(embedding=electrostatic) Default electrostatic embedding; mechanical omits QM density polarization.
qmmm(frontier_scheme=rcd) Default covalent-boundary charge treatment; alternatives rc, z1, none depend on the backend.

Add qmmm(...) to a supported energy, opt, md or namd driver. A bare grad(...) qmmm(...) is rejected. Nuclear timestep/temperature belong in md(...); active electronic state belongs in the physical driver, never qmmm(istate=...). Single-point embedding and OpenMM ESPF dynamics consume different settings. Periodic electrostatics require box/topology consistency; see the backend restrictions before transferring a single-point deck to NAMD.

Exact-source keyword appendix

Scientific references

QM/MM and FlexiBLE.

Source chain: canonical lowering → schema conversion → calculation validation → consumer entry point. Consumer links locate the relevant subsystem; they do not prove every listed key is read or executed.

qmmm

Detailed meaning, units and restrictions. These pages retain stable URLs and explain canonical controls; raw names identify schema storage, not sectioned input.

Raw section.key Canonical spelling / ownership Converter Raw schema default
qmmm.forcefield qmmm(forcefield=VALUE) sarray amber14-all.xml,amber14/tip3p.xml
qmmm.nonbondedmethod qmmm(nonbondedmethod=VALUE) str NoCutoff
qmmm.constraints qmmm(constraints=VALUE) str None
qmmm.rigidwater qmmm(rigidwater=VALUE) bool False
qmmm.nsteps qmmm(nsteps=VALUE) int 1
qmmm.n_steps qmmm(n_steps=VALUE) int 1000
qmmm.timestep qmmm(timestep=VALUE) float 1.0
qmmm.istate no canonical equivalent int 0
qmmm.pdb_file qmmm(pdb_file=VALUE) str empty
qmmm.forcefield_files qmmm(forcefield_files=VALUE) str empty
qmmm.qm_atoms qmmm(qm_atoms=VALUE) str empty
qmmm.cutoff qmmm(cutoff=VALUE) str NoCutoff
qmmm.embedding qmmm(embedding=VALUE) str electrostatic
qmmm.ewald_tol qmmm(ewald_tol=VALUE) str empty
qmmm.lj_switch qmmm(lj_switch=VALUE) bool False
qmmm.h_lj qmmm(h_lj=VALUE) bool False
qmmm.mm_charge_width qmmm(mm_charge_width=VALUE) str empty
qmmm.temperature qmmm(temperature=VALUE) float 300.0
qmmm.ensemble qmmm(ensemble=VALUE) str nve
qmmm.friction qmmm(friction=VALUE) float 1.0
qmmm.pressure qmmm(pressure=VALUE) float 1.0
qmmm.barostat_interval qmmm(barostat_interval=VALUE) int 25
qmmm.trajectory_format qmmm(trajectory_format=VALUE) str pdb
qmmm.trajectory_file qmmm(trajectory_file=VALUE) str empty
qmmm.log_file qmmm(log_file=VALUE) str empty
qmmm.report_interval qmmm(report_interval=VALUE) int 1
qmmm.energy_file qmmm(energy_file=VALUE) str empty
qmmm.qm_atoms_xyz qmmm(qm_atoms_xyz=VALUE) optional_string empty
qmmm.qm_list qmmm(qm_list=VALUE) optional_string empty
qmmm.frontier_scheme qmmm(frontier_scheme=VALUE) str rcd
qmmm.active_atoms qmmm(active_atoms=VALUE) str empty
qmmm.frozen_atoms qmmm(frozen_atoms=VALUE) str empty
qmmm.active_radius qmmm(active_radius=VALUE) float 0.0
qmmm.active_from_pdb qmmm(active_from_pdb=VALUE) bool False
## flexible

Detailed meaning, units and restrictions. These pages retain stable URLs and explain canonical controls; raw names identify schema storage, not sectioned input.

Raw section.key Canonical spelling / ownership Converter Raw schema default
flexible.enabled flexible(enabled=VALUE) bool False
flexible.alpha flexible(alpha=VALUE) float 0.0
flexible.temperature flexible(temperature=VALUE) float 0.0
flexible.center flexible(center=VALUE) string solute
flexible.atoms flexible(atoms=VALUE) str empty
flexible.point flexible(point=VALUE) farray 0.0,0.0,0.0
flexible.anchor flexible(anchor=VALUE) str O
flexible.resnames flexible(resnames=VALUE) sarray hoh,wat,sol,tip3,tip3p
flexible.threshold flexible(threshold=VALUE) float 0.01
flexible.scale flexible(scale=VALUE) float 0.1
flexible.max_iterations flexible(max_iterations=VALUE) int 20
flexible.keep_below_threshold flexible(keep_below_threshold=VALUE) bool False
## droplet

Detailed meaning, units and restrictions. These pages retain stable URLs and explain canonical controls; raw names identify schema storage, not sectioned input.

Raw section.key Canonical spelling / ownership Converter Raw schema default
droplet.enabled droplet(enabled=VALUE) bool False
droplet.center droplet(center=VALUE) farray 0.0,0.0,0.0
droplet.radius droplet(radius=VALUE) float 20.0
droplet.buffer droplet(buffer=VALUE) float 1.0
droplet.force_constant droplet(force_constant=VALUE) float 10.0
droplet.target droplet(target=VALUE) string water_com
droplet.atoms droplet(atoms=VALUE) str empty
droplet.water_resnames droplet(water_resnames=VALUE) sarray hoh,wat,sol,tip3,tip3p
droplet.max_penetration droplet(max_penetration=VALUE) float 10.0
## solute_com

Detailed meaning, units and restrictions. These pages retain stable URLs and explain canonical controls; raw names identify schema storage, not sectioned input.

Raw section.key Canonical spelling / ownership Converter Raw schema default
solute_com.enabled solute_com(enabled=VALUE) bool False
solute_com.center solute_com(center=VALUE) farray 0.0,0.0,0.0
solute_com.force_constant solute_com(force_constant=VALUE) float 5.0
solute_com.atoms solute_com(atoms=VALUE) str empty