Skip to content

Simulations and versions

A simulation is one input script and its history. A version is that script as it was at one moment. An execution is one run of one version on one machine.

simulation "lj-melt"
├── version 1 agent draft: LJ melt at T* = 3.0
│ └── run #1 local, 1 rank completed
├── version 2 longer run on more ranks
│ ├── run #2 local, 4 ranks completed
│ ├── run #3 login.cluster, 64 ranks failed
│ └── run #4 login.cluster, 32 ranks completed
└── version 3 rebuild neighbor lists less often
└── run #5 login.cluster, 32 ranks completed

Each simulation has its own small git repository in verlet-agent’s data folder, holding the input script. Every version is a commit, numbered from 1, with the message you gave when saving. git is not needed on your computer; verlet keeps it internally.

So verlet can show exactly what changed between any two versions, and a run always points at the version it ran, never at “whatever the file says now”.

A simulation with its versions and runsA simulation with its versions and runs

In the Script tab, Save (⌘S or Ctrl+S):

  1. Runs a check of the edited script on the default environment.
  2. Commits it as a new version only if the engine accepts it.

If the check fails, nothing is saved and the problems stay marked in the editor. If the script did not change, no version is made.

The input file also lives on disk. If it changed outside the app, verlet asks whether to Keep both for now or Overwrite file before saving, so neither copy is lost silently.

Every attempt the agent makes is written as version 1, in place, until one passes the check. A failed attempt never becomes version 2. After ten failed tries the last one is still saved as version 1 so you can fix it yourself.

Only the input script. Data files, potentials and other files the script reads are used from where they are.