AutoOpt behavior

Hi,

I am developing an outreach presentation to use Avogadro with the
Wiimote using Mickael Gadroy’s WiiChem plugin. I would like to use
this in combination with AutoOpt. I can do it sort of ok now, but it
does not react as well as with the mouse, and perhaps the mouse
version could react better as well.

When dragging a portion of a molecule using steepest descent or
congugate gradients–whether with a mouse or wiimote–the rest of the
atoms react as if they are connected by rubber bands and are being
dragged through a viscous liquid. I think this viscous effect has to
do with the algorithm and the time it takes at various steps. Is that
correct? Or are there any other hooks in the code to affect this
behavior? If the optimization method was sped up, this should make
larger molecules appear like they have less drag, correct?

With the wiimote, there might be some sort of interference between the
various steps of the AutoOpt algorithm. What would be the best
approach for studying this problem?

Thanks,
Gary

dragged through a viscous liquid. I think this viscous effect has to
do with the algorithm and the time it takes at various steps. Is that
correct?

Basically, yes. The “snap back” depends on the force constants of the bonds (e.g., try alkane vs. benzene), the number of steps per update (e.g., how many FF minimizations are done before the geometry updates on screen) and the performance of the machine.

Or are there any other hooks in the code to affect this
behavior? If the optimization method was sped up, this should make
larger molecules appear like they have less drag, correct?

Generally, yes.

With the wiimote, there might be some sort of interference between the
various steps of the AutoOpt algorithm. What would be the best
approach for studying this problem?

As I wrote to you off-list, this sounds like a race condition between the thread for the AutoOpt force field and the Wiimote in the main thread (and rendering). I’d start by seeing if different “number of steps per update” in the AutoOpt give better interactivity. I’d probably try more steps per update – the optimization will look a bit jerkier, but the interactivity will probably improve, since the geometry isn’t constantly changing.

I’d also try decreasing the level of detail for rendering in case your OpenGL is using some software-based rendering.

Hope that helps,
-Geoff