Friedrich Foerster wrote: > i discovered the MD optimizer in imp and i am interested in using it. > when studying the input, i am missing something: how is the > temperature equilibrated? there is no parameter for that in the input > (equil in dodgy old modeller). also in the source code i did not > figure out where the temperature is actually used... > is the function safe to be used now? or should i rather not?
MD is currently a very simple implementation, and doesn't do much beyond moving the atoms around. You should come talk to me (or hash it out on the mailing list or wiki) about your specific needs. Equilibration in particular isn't implemented in the way you might expect, because to do it the Modeller Way (temperature and equil arguments to the optimizer) isn't very general. I instead propose something similar to:
1. An abstract DynamicsAction class from which concrete classes such as VelocityScalingThermostat (which is what Modeller's MD does), NoseHooverThermostat, etc. derive.
2. The MD class maintains a list of DynamicsAction objects and calls an evaluate() method on each one at each dynamics step.
Any comments? I don't think using OptimizerStates for this is appropriate, since they generally are optimizer-agnostic, and probably shouldn't be tinkering with the optimization state, whereas a DynamicsAction would be expected to actually go in and mess with the velocities etc.
Ben