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 completedVersions are git commits
Section titled “Versions are git commits”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”.
Saving checks first
Section titled “Saving checks first”In the Script tab, Save (⌘S or Ctrl+S):
- Runs a check of the edited script on the default environment.
- 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.
Edits outside verlet
Section titled “Edits outside verlet”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.
Drafts from the agent
Section titled “Drafts from the agent”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.
What is not versioned
Section titled “What is not versioned”Only the input script. Data files, potentials and other files the script reads are used from where they are.