I’m really hoping to get an implementation of an auto-optimize tool. (Speaking of discoverability .. I initially thought it would just be a menu command i.e., a “mode” .. but it’s obvious from user comments that the tool is particularly missed.)
The icons are fairly easy:
The holdup has been with the internal UFF implementation. The analytical gradients have bugs, so the optimization ends early (because the gradients go haywire). I’m pretty sure I fixed the angle gradients because H2O, H2S, NH3, etc. all work great.
So now I need to find the error in the torsion gradients.
Once that’s done, it should be fairly quick to get the tool finished.
On a related note, I also have some initial code for handling periodic boundary conditions (e.g., optimizing in a unit cell). That doesn’t include optimizing the lattice vectors yet, but it’s on the long-term roadmap.
Still plenty of polish needed, but it takes optimization steps, allows editing (and the energy remains on-screen).
Right now, to make it easier to debug, it’s just taking one step and it’s not multi-threaded.
But it should be ready for broader testing soon…
2 Likes
One question for discussion… Avogadro 1.0 / 1.2 would put up the actual energy calculated. But this was sometimes confusing for people because methods have different energy scales. It will be more complicated now if people use external methods (e.g., GFN2, ML methods calculate total energies like quantum calculations..).
So I feel like I should use some sort of ΔE as indicated here. Like the structure is ~230 kcal/mol more stable than it started.
Or should I indicate energy and ΔE
Thoughts?
As an example - MMFF94 has hydrogen bond terms, so the water molecules assemble into a cluster. Switching to UFF (which lacks electrostatics and hydrogen bonds) - the molecules move apart. Then I just drag them around…

2 Likes
Looking very nice! 
Isn’t ΔE just as confusing and arbitrary because it’s relative to an entirely meaningless reference point?
I get that E isn’t the electronic energy for many methods, and so the energies obtained with them will be quantitatively different to energies from QM methods like GFNn-xTB, DFT, HF, etc. But is it not still valid to calculate values (e.g. reaction energies) via cycles? In which case people would still want to know E for the before and after structures in order to find the difference.
People can still calculate an energy – just through the “Calculate Energy” command, not the auto-optimize tool.
Yes, at the moment, the ΔE is arbitrary, but it’s intentionally arbitrary.
Let’s see how it goes. It’s fairly easy to tweak, but the main thing is getting feedback.
Several people on Bluesky asked about some simple MD, which I’ll try this week - both for teaching and for some initial equilibration of geometries, etc.
Fair. Does there need to be any number at all then?