Open jchodera opened 7 years ago
@pgrinaway : If we extend the integrator_type
argument to NCMCEngine
, should we keep the current terminology ([GHMC, VV, VVVR, BAOAB]
) or standardize on the new integrator splitting language ([O { V R H R V } O, V R H R V, O V R H R V O, R V O H O V R]
)?
I'd also like to add an ignore_shadow_work
option, since we will presumably want to do so when g-BAOAB is in use.
I'm hoping we can reuse these parts of perses for at least some pilot experiments for the shadow work paper, but I think this refactoring would also be immediate use to you too. Did you want to tackle this or should I, @pgrinaway?
If we extend the integrator_type argument to NCMCEngine, should we keep the current terminology ([GHMC, VV, VVVR, BAOAB]) or standardize on the new integrator splitting language ([O { V R H R V } O, V R H R V, O V R H R V O, R V O H O V R])?
Maybe for now we can use the current terminology, otherwise we'd have to add in extra checks (like make sure that people actually include a Hamiltonian update.
I'd also like to add an ignore_shadow_work option, since we will presumably want to do so when g-BAOAB is in use.
You mean disable its computation? That's probably a good thing to do to get efficiency. The integrator doesn't otherwise include shadow work in the protocol work variable, though.
I'm hoping we can reuse these parts of perses for at least some pilot experiments for the shadow work paper, but I think this refactoring would also be immediate use to you too. Did you want to tackle this or should I, @pgrinaway?
To be clear, by "this refactoring" you mean having perses use the integrators in openmmtools
? I can tackle that.
You mean disable its computation? That's probably a good thing to do to get efficiency. The integrator doesn't otherwise include shadow work in the protocol work variable, though.
Currently, NCMCEngine
uses the total work (protocol + shadow). We want to be able to easily select whether NCMCEngine includes or omits shadow work.
To be clear, by "this refactoring" you mean having perses use the integrators in openmmtools? I can tackle that.
Yes!
To clarify, this issue refers to refactoring the NCMCEngine
, not the relative nonequilibrium stuff that we are doing now.
Now that we have
NonequilibriumLangevinIntegrator
inopenmmtools
, we should remove the redundant integrators fromperses/annihilation/ncmc_switching.py
.