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

gmxapi-62 Stop condition hook task 1 #15

Closed
wants to merge 8 commits into from

Conversation

eirrgang
Copy link
Collaborator

@eirrgang eirrgang commented May 17, 2018

work in progress development toward gmxapi issue #62

* Move ownership of SimulationSignals container up a level to the runner.
* Introduce gmx::md::Context to shuttle resources to the integrator_t
  function. Created by gmx::Mdrunner::mdrunner() to allow access to the
  signal container owned by the runner.
* Change name of gmx::restraint::Manager::addSpec to addToSpec to clarify
  that a "spec" is maintained by the manager and the arguments are added
  to it rather than replacing it.
* Add a hook IRestraintPotential::bindRunner that allows an instance of
  a restraint module to bind to a (possibly thread-local) instance of a
  Mdrunner. Though I think I like this model for allowing rank-specific
  binding operations, this particular use exposes the full Mdrunner and
  adds too much to the IRestraintPotential interface, so this should be
  removed as gmxapi-62 matures.
* Add member functions to Mdrunner to retrieve the SimulationSignals
  it owns and to declare the stop condition. Each of these should
  probably be moved to more constrained interfaces and updated to fit
  the protocol described in gmxapi-62 as it matures.
Allow GROMACS client code to set the stop condition during the
integrator execution.

Provide a gmxapi hook to let client code issue a data event that causes
the framework to set the stop condition.

Adds gmxapi::md::signals enum, gmxapi::Signal proxy class (functor),
and gmxapi::getMdrunnerSignal helper function, all of which are more
proof of concept than on track for gmxapi specification. This is to
test out an evolving facility for plugins (currently via the
IRestraintPotential::bindSession hook and accompanying experimentation
in the sample_restraint) for workflow resources to provide plugin code
with a to set the SimulationSignals used by the integrator.
eirrgang added 6 commits May 18, 2018 23:32
Address reference initialization error for some compilers.
Add better safety checks and status reporting.
Placeholder commit for modular output handling.
Quick hack should let restraint plugins to use resource.stop() and
implicitly require that the number of calls must equal the number of
restraints before the signal is actually triggered.
Fix dangerously non-unique header guard.
@eirrgang
Copy link
Collaborator Author

This PR and associated issue have been split up into smaller tasks. This PR is no longer relevant.

@eirrgang eirrgang closed this May 29, 2018
eirrgang added a commit to eirrgang/gromacs-gmxapi that referenced this pull request Jan 18, 2019
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.

1 participant