System

July 17, 2026 · View on GitHub

Purpose

system/ is a recommended record section that answers:

What chemical / physical system is this record about?

It holds identity of the particle set, connectivity, typing, force-field or model binding, and box policy — not the instantaneous coordinates of a time step.

system/ is a convention layered on the general model (see Overview). It is first-class at the Record root (see Record), not a private product layout.

system vs frame

system/frame/
QuestionWhat is the system?What is the state now?
CoordinatesInstantaneous Cartesian x/y/z are not required system contentTypical content
BoxOptional default cell or PBC policyInstantaneous box on the frame
TopologyBonds / angles / … as definitionMay repeat or omit if trajectory-only
Types / parametersAtom types, FF or model bindingOptional per-instance overrides

Rule: Instantaneous Cartesian coordinates belong on frame or trajectory. A conforming system/ MAY omit coordinate columns entirely.

system/
├── meta/                      # local id, description (optional attrs)
├── topology/                  # optional grouping; or flat convention blocks
│   ├── atoms/                 # rows without x/y/z are valid
│   ├── bonds/                 # atomi / atomj per conventions
│   └── …
├── parameters/                # force-field or model parameters / references
│   └── (forcefield|model)/…
└── (box_policy)/              # default cell, pbc flags, ensemble hints

Writers MAY flatten topology blocks directly under system/ (e.g. system/atoms, system/bonds) when a topology/ group adds no value.

Field names for topology blocks reuse Conventions (element, atomi/atomj, …). This chapter does not invent a second topology vocabulary.

Parameters vs method

LocationHolds
system/parametersTables / types / styles that define the Hamiltonian or model binding for this system
method/Narrative scientific context: engine name, stage order, workflow type

Do not define a record-root section named forcefield/ as part of MolRec. Force-field data lives under system/parameters (or is referenced from there).

Compatibility

  • Records with only frame (no system) remain valid (Structure shape).
  • Records with only system (no frame) are valid (System-def shape).
  • Trajectory packages MAY omit system/. When system/ is present, trajectory/ SHOULD carry state/coordinate updates only (see Trajectory).

See also