{"action":"created","issue":{"url":"https://api.github.com/repos/pandegroup/openmm/issues/941","labels_url":"https://api.github.com/repos/pandegroup/openmm/issues/941/labels{/name}","comments_url":"https://api.github.com/repos/pandegroup/openmm/issues/941/comments","events_url":"https://api.github.com/repos/pandegroup/openmm/issues/941/events","html_url":"https://github.com/pandegroup/openmm/issues/941","id":82875520,"number":941,"title":"[FR] Conditional Termination in CustomIntegrator","user":{"login":"kyleabeauchamp","id":1900459,"avatar_url":"https://avatars.githubusercontent.com/u/1900459?v=3","gravatar_id":"","url":"https://api.github.com/users/kyleabeauchamp","html_url":"https://github.com/kyleabeauchamp","followers_url":"https://api.github.com/users/kyleabeauchamp/followers","following_url":"https://api.github.com/users/kyleabeauchamp/following{/other_user}","gists_url":"https://api.github.com/users/kyleabeauchamp/gists{/gist_id}","starred_url":"https://api.github.com/users/kyleabeauchamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyleabeauchamp/subscriptions","organizations_url":"https://api.github.com/users/kyleabeauchamp/orgs","repos_url":"https://api.github.com/users/kyleabeauchamp/repos","events_url":"https://api.github.com/users/kyleabeauchamp/events{/privacy}","received_events_url":"https://api.github.com/users/kyleabeauchamp/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pandegroup/openmm/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":30,"created_at":"2015-05-30T18:07:37Z","updated_at":"2015-07-10T19:29:53Z","closed_at":null,"body":"In #938, we identified conditional termination as one possible way to extend the ability of CustomIntegrator to handle logic and decision making.  The key idea is that this might be way to create somewhat more complicated integrators, including ones that involve slightly more complicated steps of hamiltonian monte carlo.  \r\n\r\nIn #939, we discussed the following possible approach, where the user first does saves a global computation step into a variable, then conditionally terminates the current dynamics step, as outlined below:\r\n\r\n```\r\nintegrator.addComputeGlobal(variable, expression)\r\nintegrator.addConditionalTermination(variable)\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/pandegroup/openmm/issues/comments/120502661","html_url":"https://github.com/pandegroup/openmm/issues/941#issuecomment-120502661","issue_url":"https://api.github.com/repos/pandegroup/openmm/issues/941","id":120502661,"user":{"login":"jchodera","id":3656088,"avatar_url":"https://avatars.githubusercontent.com/u/3656088?v=3","gravatar_id":"","url":"https://api.github.com/users/jchodera","html_url":"https://github.com/jchodera","followers_url":"https://api.github.com/users/jchodera/followers","following_url":"https://api.github.com/users/jchodera/following{/other_user}","gists_url":"https://api.github.com/users/jchodera/gists{/gist_id}","starred_url":"https://api.github.com/users/jchodera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jchodera/subscriptions","organizations_url":"https://api.github.com/users/jchodera/orgs","repos_url":"https://api.github.com/users/jchodera/repos","events_url":"https://api.github.com/users/jchodera/events{/privacy}","received_events_url":"https://api.github.com/users/jchodera/received_events","type":"User","site_admin":false},"created_at":"2015-07-10T19:29:53Z","updated_at":"2015-07-10T19:29:53Z","body":"Yes, sorry for the confusion there."}}