>> And I think having a HybridMonteCarlo optimizer would be nice, cause now >> we can only have python wrappers around MD to make it work. > The functionality provided in core.MonteCarlo should make that easier to implement as it exposes > do_move() to apply the movers > do_accept_or_reject_move(energy) to decide if that energy is good enough to accept everything that has happened > and a hook > do_step() so that individual implementations can do all the stuff they need to around moves and energy computations and stuff. >
by core.MonteCarlo do you mean the new one you are planning to implement? Cause we had walked through the old code and it was incompatible with
oldconf = store_current_conf() for all gibbs_steps: ... sample other gibbs variables ... for all mc_steps: assign_velocities(300K) oldene = get_etot() md_NVE() newene = get_etot() if metropolis_reject(oldene,newene): reset_coordinates_to(oldconf)
because assign_velocities changes the total energy. Y