Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mechanism to calculate ensemble based progress #121

Open
salotz opened this issue Nov 21, 2023 · 0 comments
Open

Mechanism to calculate ensemble based progress #121

salotz opened this issue Nov 21, 2023 · 0 comments

Comments

@salotz
Copy link
Collaborator

salotz commented Nov 21, 2023

The BoundaryCondition mechanism is pretty good at covering per-walker progress but sometimes you want to track the progress of the entire ensemble.

The BCDashboardSection already automatically summarizes the min, max, and mean of the per-walker progress values, but it might be that you want to calculate something more complex such as a free energy distribution transformation and some statistics.

This mechanism could also be used to implement a built in mechanism for stopping simulations based on some criterion. For instance if you just want to get one walker to RMSD < 0.2 or something arbitrary like that. This would introduce a new way of running simulations that is not just based on time or number of cycles.

To summarize the sub-features:

  • Add new step in the simulation manager for an EnsembleProgress component with an API of having some methods like:
    • calc_ensemble_progress(walkers) -> stop_sim, {'progressA' : value_a, 'progressB' : value_b}
  • hook up the stop_sim signal to the simulation manager to allow it to shut down a simulation upon this flag being raised.
  • new dashboard sections for reporting this component by default
  • method in the HDF5 reporter for supporting this progress. Can reuse the record fields and progress section likely, this is just a little different as not being walker based and will have a more consistent shape and structure usually.
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

No branches or pull requests

1 participant