Wht usually goes wrong: my experience with MOPAC



      Seeing some messages on minimization problems with negative
      frequencies of late here, I thought I'd add some of my experiences.
      1. Bad geometry choices: frequently, a bad choice of geometry
      definition, or worse, forcing an artificial symmetry either through
      bad z-matrix definition or through actual symmetry constraints, causes
      one to minimize to a hilltop or hillside while one's gradients happily
      descend to near zero. At least with MOPAC 6, and perhaps with other
      MOPAC's, gradients are determined from the z-matrix definition of
      coordinates, and if a particularly shallow twist is defined along the
      coordinates, while there is an (undefined) twist that is steep, you
      could spend a lot of computation hours in small changes in geometry
      that ignore the larger gradients present and fail to completely
      minimize the molecule. It would probably be worse for
      graphical-interfaces where you have little to no control over such
      failures. Ways to resolve: use a different minimizer, or even try XYZ
      to minimize in cartesian space. Or, set the gradient to minimize
      further than you currently are. Or: try a different program. Sometimes
      the cure is to see if you can repeat it on another machine or program.
      2. failure to minimize: sometimes you think you've minimized enough,
      but you do something inadvertant that messes that up. Most programs
      are smart enough to make sure that you have not been subject to
      bizarre rounding errors, but sometimes it makes sense to double check
      everything. Bond angles near 180 degrees can be the biggest headache,
      and it is conceivable that a rounding error might cause large geometry
      changes. Ways to resolve: check the geometry after minimization, and
      before and after frequency calcs. Also, make sure you haven't invoked
      a series of keywords that cancel one another or set different
      minimization defaults. Another big bad example (in ab-initio, not
      mopac) is minimizing in one basis set, and then doing a freq calc in
      another. There's nothing stopping a novice in principle from
      minimizing in MM2, ie, in Hyperchem, then using a single point
      calculation to print frequencies in AM1. That's probably a big error.
      I realize many, if not most, of the people here are not novices. But
      perhaps we should, in true internet style, have a faq on such things!
      -matt