Skip to content

Add synchronized shared-path deposition weights to OPES - #1471

Open
Zhang-pchao wants to merge 7 commits into
plumed:masterfrom
Zhang-pchao:codex/plumed-shared-path
Open

Zhang-pchao wants to merge 7 commits into
plumed:masterfrom
Zhang-pchao:codex/plumed-shared-path

Conversation

@Zhang-pchao

@Zhang-pchao Zhang-pchao commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add opt-in WALKERS_SHARED_BIAS for synchronized replicas belonging to one complete path. Use the mean bias plus EXTRA_BIAS as the common deposition log weight, matching a bead-average sampled bias Hamiltonian. This changes deposition weights, not forces.

Dependencies

This stacked master branch contains the kernel corrections from #1463 and input validation from #1467. The final feature commit introduces WALKERS_SHARED_BIAS and its native regression. The prerequisite fixes target v2.9 under the contribution policy; this feature targets master.

Contracts

Require WALKERS_MPI, explicit SIGMA, equal temperature and PACE, consistent flags and no EXCLUDED_REGION. Reject OPES_METAD_EXPLORE. Record the mode and bead count in histories and reject incompatible restarts. Ordinary walker behavior is retained when the option is omitted.

Walker/kernel counters are not independent complete-path sample counts. This implementation provides no accuracy or efficiency claim.

Validation

Independent current-master build with all modules; the new MPI regression checks analytic shared deposition, EXTRA_BIAS, metadata/restart compatibility and collective rejection. Full native OPES regressions passed without changed tolerances. Documentation explains force, Hamiltonian and statistical-unit conventions.

Documentation

The native current-master new-manual generator and MkDocs build completed. All changed action examples have empty stderr and are absent from the broken-example list. The full manual reports 36 failing example pages outside these actions and missing optional-module/link warnings; the full manual is not claimed to be warning-free. Inherited generic keywords are not all covered by examples.

Python/OpenMP CI follow-up

Includes the separately reviewable regression-process lifetime fix #1470, which retains the dynamically loaded kernel during Python shutdown. It preserves two-thread execution and the original numerical reference. This addresses the rt-symfunc shutdown failure observed on the debug runner.

Regression follow-up

Included the accepted rt-protein shutdown fix #1473, the rt-grid follow-up #1477, and the timestep-test initialization fix accepted in #1464. The Python configs pass three direct two-thread runs per case with byte-identical reference output; the existing build reports Python unavailable to the native runner. The timestep regression passes through the native runner with poisoned automatic-variable initialization against both v2.10 and master kernels. No reference values, tolerances or thread counts were changed. The Autoconf download failure has a separate upstream CI proposal in #1474.

Companion integration

The PIMD use case is the bead-averaged bias energy in lammps/lammps#5232 (path_integral bead_density). This PR supplies the shared OPES deposition weights; the LAMMPS PR owns integration and force/energy accounting. Its generic fixed-bias coupling does not require this OPES extension.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants