Geometry Optimization

Computational chemistry studies typically involve three separate activities:

  1. Guessing structures, based on chemical intuition and/or simple modelling programs
  2. Using a quantumchemical (QC) package to calculate molecular properties (energy, gradients, electron density, dipole moment, vibrations, NMR parameters...) for a particular geometry
  3. Optimizing geometries (full or constrained, minima or saddle points), given a method (b.) to obtain an energy and gradients any given geometry

In most studies, (a.) is also in practice done as a step separate from the other two. Geometry optimization (c.), however, is usually done using the optimizer(s) implemented in the QC package selected mainly for its performance and capabilities in energy/gradient calculation (b.). Since geometry optimizers differ widely in quality and options, this is often a sub-optimal choice. I believe that using a quality stand-alone optimizer package with simple interfaces to common QC packages is a more sensible approach. To that end, I have been using Jon Baker's eigenvector-following standalone optimizer and am also developing my own optimizer.

My new optimizer has better facilities for constrained optimizations, including arbitrary, scriptable constraints (allowing the user to constrain ring slippage or puckering parameters, or the angle between a bond and a least-squares plane through a ring) and rigid groups. An initial version, described in paper 110 of my publication list, is available for download; an updated version is also available there. I would welcome suggestions or wish lists ("things you always wanted in an optimizer but never could find") that might eventually make it a useful tool. Current interfaces are to the QC packages Gaussian, GAMESS-UK, Turbomole, ADF, Priroda, Orca, Dalton, Undmol and MOPAC (last two preliminary), and to the building/visualization programs Spartan and Molden, as well as to various common file formats (PDB, SPF, XYZ). This optimizer was used in paper 106 of my publication list.

Most of my computational work has been done on modest-sized Linux clusters. The latest one is called "ciffy" in recognition of one of its sponsors.

Just after unpacking
Ciffy in action