No new LAMMPS command. The player reads a standard
dump custom (or XYZ) that the 17 Apr 2024 runner already
writes.
Loading 3D trajectory…
Drag to rotate · scroll to zoom · right-drag to pan · Space to play/pause
2579cb45-2e19-4fd9-9a98-41c339660923.
Input snippet
In the app editor, click Add 3D viewer dump, or paste:
# qmd_view — opens in the in-browser 3D player after the job finishes
dump qmd3d all custom 50 dump.qmd3d.lammpstrj id type x y z
dump_modify qmd3d sort id
Any .lammpstrj, .xyz, or dump.*
output also opens. Use x y z or unwrapped
xu yu zu. Atoms are colored by type.
Put the snippet in the input script
(input.lammps), never in data.lammps. A data
file is topology — read_data cannot parse
dump. The editor button always targets the input script,
even if a data-file tab is open.
In the app
- Run the job as usual.
- Open Outputs and select the dump.
- Play / pause, drag to rotate, scroll to zoom, right-drag to pan.
This is a replay of the finished dump, not a live stream. Crystal-melt
already writes dump.melt.lammpstrj — that file is enough.
API
Authenticated, same JWT / PAT as the rest of the API:
GET /api/job_output_files/:id/trajectory/?max_frames=150&max_atoms=5000
Returns compact qmd3d JSON (base64 Float32 positions). List
outputs include kind: "trajectory" on dump files. Dumps over
24 MB return 413 — dump less often, or download for OVITO.
MCP
After list_outputs, call get_trajectory with
job_id and the dump name. Same downsample knobs.