Currently, a fresh installation of Avogadro will only have a single forcefield available: the Lennard-Jones potential. There have already been several posts (e.g. here, though I remember at least one other) where users are confused because the structures they are obtaining from optimizations are “wrong”, because they were optimized using the LJ potential (i.e. they are correct but not the expected result).
Having the forcefield framework available/optimization possible, but only with LJ and no other options unless extra tools are installed, seems to be counterproductive. Users will click Optimize
and immediately get a “bad” geometry, and think that Avogadro is broken.
It is not even necessary to open the Configure...
menu before running an optimization, so users probably won’t realize they are using LJ. Besides which, the Lennard-Jones is rarely thought of as a forcefield per se, and “Lennard-Jones” is not written anywhere, only LJ, so it just looks like another acronym and I suspect most chemists wouldn’t make the connection between “LJ” and the basic bonding model they studied back in first-year chemistry…
Moreover, very few users will actually want the results of a LJ potential, except very occasionally for educational purposes. It is no good for reasonable geometries of most molecules, so it seems like a bad default option.
I’m aware that making another forcefield the default option would be tricky. So how do you feel about perhaps instead simply disabling the LJ potential until the other forcefields have been “unlocked” by setting up Python and installing openbabel
? This way UFF could be the default option, with LJ only as fall back, and the user would have to deliberately choose LJ to use it.
If the user attempts to run a calculation through the forcefield framework without having done those steps, a simple message could be displayed instructing the user how to enable forcefields or sending them to the relevant docs.
If the current Open Babel functionality under Extensions
> Open Babel
remains in the program, it’s not like we would be disabling optimizations altogether.