Run molecular simulations
Submit an MD configuration that simulates trajectories, parses reaction events and publishes observations.
Published `md-simulate@1`, `md-parse@1` and `md-publish@1` Programs with a configured worker.
Submit a molecular dynamics (MD) configuration with a single command. The platform automatically chains three jobs—simulate (md-simulate@1), parse (md-parse@1), and publish (md-publish@1)—so your laptop can disconnect as soon as the run is submitted.
1. Configure your simulation (run.yaml)
Start from compute/md/examples/job/run.yaml:
Key fields to set for your run:
system.molecules_dir— Directory of.xyzfiles relative torun.yaml(for example,molecules/hydrogen.xyz).system.bath_charge&system.bath_spin— Net charge and spin multiplicity (1= singlet,2= doublet,3= triplet).md.n_steps&md.timestep_fs— Number of integration steps and timestep in femtoseconds.model.name&model.device— Model checkpoint name (or worker path/URI) and device (cpuorcuda). Workers load the GPU checkpoint directly; it is not uploaded from your laptop.
2. Submit and check status from the CLI
Submit run.yaml using ct-cli md submit:
Check the progress of all three stages at any time with the returned RUN_UUID:
To inspect logs or download artifacts for a specific stage (simulate, parse, or publish), pass that stage's job UUID to ct-cli logs or ct-cli fetch:
3. Submit from Python
If you are driving simulations from a Python script instead of the CLI, call mdagent.submission.submit:
Note: Each call to
ct-cli md submitorsubmit(...)starts a new 3-stage simulation run. Use either the CLI or Python for a given run, not both.
4. What each stage does (and how to recover)
If your network connection drops while submitting ct-cli md submit, reconcile the original request without starting a duplicate run:
See Inspect and recover a run for handling stage failures and Measure throughput and efficiency before tuning GPU block concurrency.
For completed trajectories, use partial frame reads to inspect a window without downloading all coordinates. Bulk analysis should download the original Parquet artifact once and process it locally. The same guide explains sharing accepted artifacts between jobs and reading encrypted Parquet through the shared helper.