I don’t have a huge amount of time to talk about it at the moment, but something kind of cool has happened. This is a small extension off my quantum chemistry series.
For much of the last year, I’ve been putting huge amounts of time into ab initio calculation using the General Atomic and Molecular Electron Simulation System (GAMESS). I love GAMESS, as you probably guessed here, here, here, here and here. GAMESS is a godsend for anyone who wants to learn about ab initio mainly because making GAMESS really work requires you to spend a great deal of time in the primary literature learning how the techniques that drive the program operate. It’ll do a lot for casual observers, but getting it to dance on a chunk of a problem requires you to understand the question you’re asking. My strength has steadily grown. I’m not a perfect expert, but I’ve learned a lot about how to do various calculations.
The limits of GAMESS begin to appear when you keep asking bigger, more detailed, more specific questions. Admittedly, this is the case with any quantum chemistry program: none can take you all the way across the river. There are a lot of sub-programs within GAMESS that are either outright broken, not quite complete, just a little too cobbled together, somewhat dated within the build, or not adequate to the task. Not being a programmer of significant skill, I’m stranded at finding problems and not being able to fix them, despite having the chance to dig into GAMESS source code for a look. Then again, most people are stranded there in the face of even small quantum chemistry problems –programs like GAMESS represent literally decades of hyper-specialized work.
I have spent a lot of time on GAMES and done a fairly big amount of work with it, some out of curiosity and some out of professional need.
Turns out that my enthusiasm has impressed one of my superiors. I got access to Gaussian!
Most people who read that sentence will stop and think, “Why should I be impressed?” Someone who has spent time on Quantum Chemistry will nod their head and give a knowing smile.
(Edit 2-17-20: I feel that there is perhaps a contextual provision that needs to be added here. Gaussian may be the very best single tool that Quantum Chemistry has given the world. To some within the academic community, it may also be an object of some disgust. As with all things made by humans, Gaussian was intended specifically as an agent designed to convert knowledge into financial profit and it was engineered to be the single best tool of its kind. As with many things like it, it has been guarded jealously. Gaussian’s licensing contains a legal clause that the Gaussian software must not be used to develop or compete with the interests of the Gaussian company and particularly must not be used to develop products that would compete with Gaussian. On the surface, this makes sense, but you can also see how it would be a destructive problem in academia. Quantum chemistry software that can produce good, quantitative calculations is the product of sometimes millions of man hours of work… meaning that it is very difficult to start from scratch on something new and rise to the level of major players totally independently. This can be a problem in academia where you often need one tool in order to advance research if that research would be taken to develop a new tool that might compete with the original tool. It would violate the terms of service to use Gaussian to produce benchmark calculations for a completely new quantum chemistry calculation method! As such, there have been licensing issues in Academia where people trying to improve the techniques for doing what Gaussian does can’t use Gaussian to improve their work since their work may ultimately threaten Gaussian –literally, the Gaussian software license has been denied to universities or departments that might develop competing software. GAMESS can thrive in this environment because it is not so restrictive!)
GAMESS and Gaussian emerged from a phenomenal burst of research in the 1970s, GAMESS descended from Michele Dupuis’ (and coworker’s) HONDO and Gaussian descended from John Pople’s Gaussian 70. At the time, Gaussian stood the slight advantage of showing up on the field first. Pople went on to win the Nobel prize in 1998 for the contribution that Gaussian (in subsequent years) ultimately came to represent.
These days, GAMESS can be acquired by poor academics like me at no charge. Gaussian, on the other hand, was a bridge too far to hope. Just take a look at the pricing information if you care to see what I mean. And, as well, the questions I could ask were definitely limited by the degree to which I was willing to turn backflips to try to make GAMESS chew on the task at hand. You can go only so far.
It turns out that there is a single benefit to being a poor, lowly academic in the bowels of the science industrial complex. Sometimes the people above you have a bit of money.
After having labored to build a self-consistent field program by hand from scratch in the wrong programming language, I once compared GAMESS to an Aston Martin sitting in an alley way with vanity plates inviting me to take it for a spin. I’ve driven it around the block until the paint wore off: I love it, but it’s a 1985 Toyota 4runner with 300,000 miles on the odometer. It’ll get you there, but not always in style. I like it and will continue to drive it to answer the small questions.
Gaussian 16 is the literal Bugatti Veyron of the quantum chemistry world. And at roughly the equivalent expense.
With the hardware I have in hand, GAMESS chugged through a problem in 5 hours and 45 minutes –25 to 30 steps to optimize. The same problem in the hands of Gaussian 16 was 1 hour and 21 minutes –no more than 13 steps to optimize! That is some freaking unbelievable speed when you’re asking questions that take days to answer. And, I say this with my coworker offering me the potential for time on the university cluster supercomputer. With a thousand processors, days become minutes. (Keep in mind that it’s still possible to ask a question that breaks a modern supercomputer, so even Gaussian can only take you so far.)
I am very impressed by the difference. Hopefully, I will get the opportunity to post more regarding work in Gaussian, but my access to it is understandably somewhat more limited. We’ll see.
My initial impression of Gaussian 16 is that it’s a true beast. It’s cranked out 16 optimized structures in two days at only about a 50% duty cycle where I might have been able to do one or two structures with GAMESS at nearly a 100% duty cycle. To maximize it, I’m actually running lists of jobs by script, which I could never really do with GAMESS since GAMESS routinely required me to stop and tweak things in order to maximize even a single job. A month of work is down to four days. I have to be careful, I might get spoiled here!
GAMESS and Gaussian are definitely not equal. So far, I’ve bumped into two situations where GAMESS and Gaussian have optimized different structures out of the same molecule. This would be okay to the extent that many molecules possess internal degrees of freedom leading to entire constellations of stationary states –bonds rotate in many ways, after all– except that at least one of the structures I’ve seen produced by GAMESS is not among all the comprehensive collection of structures produced by Gaussian of that same molecule (and I have a library of 96 such structures in hand!) Many of the structures agree, but there are a small minority that do not.
One way I’ve discovered where GAMESS and Gaussian appear to be different is within how the structure optimization is run. GAMESS appears to decide that it has achieved a converged geometry based on a single convergence criterion. Gaussian, on the other hand, appears to use four convergence criteria together. Increased stringency should, theoretically, decrease the occurrence of false positives, though you might imagine that it would increase the chances of false negatives… missing real structures. At the very least, one of these spurious GAMESS structures failed to converge when plugged into Gaussian directly. From this angle, it’s really kind of hard to know who’s right: in silico owns the complication that neither simulation actually exists in reality and both might be wrong!
This is where real world experimentation is needed to figure out who is right. From what I can see, given some of the issues I’ve bumped into with GAMESS, Gaussian is closer to reality.