Skip to content

Parallel loops: MD runs kept for analysis, and a check before running - #41

Merged
seamm merged 4 commits into
mainfrom
dev
Oct 17, 2026
Merged

seamm merged 4 commits into
mainfrom
dev

Conversation

@paulsaxe

Copy link
Copy Markdown
Contributor
  • The record of the MD runs that analysis steps read (Viscosity, Diffusivity,
    Liquid Structure, Dielectric Constant, Ionic Conductivity) now comes back from
    a parallel loop: each iteration's runs are added in iteration order, as after a
    serial loop. Independent MD runs in a loop can now run in parallel and be
    analyzed together after it, with "the last MD run of each loop iteration".
    Before, the steps after a parallel loop did not see its runs.
  • Bugfix: the runs of a skipped iteration, whose directory is removed, are no
    longer left in the record, where they named files that no longer existed.
  • A parallel loop over one structure now warns, before the job runs, about each
    step in its body that writes its structure over the current configuration --
    the default of MD and optimization steps -- since two iterations changing the
    structure cannot be merged. The warning offers to discard the structure (for
    independent runs such as MD replicas) or to create a new configuration. The
    warning is repeated in the job's output when the loop starts.
  • Requires seamm 2026.10.17, in which the sub-steps of steps such as LAMMPS keep
    their citations and files in their own iteration; before, iterations running
    together could fail on the job's shared citations. Requires molsystem
    2026.10.17, in which iterations that change a structure in the same way (for
    example by reading its spin multiplicity) no longer conflict.
  • Internal: the source distribution now includes the files needed to build the
    package from it.

🤖 Generated with Claude Code

paulsaxe and others added 4 commits October 17, 2026 11:12
A parallel loop now appends each iteration's records in _md_runs (read from
the iteration's checkpoint: baseline.db at the start, seamm.db at the end) to
the parent's, in iteration order and committed with the database merge, as a
serial loop leaves them. The records of a skipped iteration, whose directory is
removed, are dropped, in a serial loop too. MANIFEST.in now includes
versioneer.py and the requirements, so the wheel builds from the sdist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…irectory)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tructure

check_flowchart warns, with fixes (discard the structure, or create a new
configuration), about body steps whose structure handling overwrites the
configuration the iterations share; the warning is repeated when the loop
starts. Requires molsystem 2026.10.17 (identical changes merge).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@paulsaxe paulsaxe added bug Something isn't working enhancement New feature or request labels Oct 17, 2026
@paulsaxe
paulsaxe requested a review from seamm October 17, 2026 16:21

@seamm seamm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@seamm
seamm merged commit 2913215 into main Oct 17, 2026
6 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants