Skip to content

Mechanism to calculate ensemble based progress #121

@salotz

Description

@salotz

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions