Development and Application of Minimum Energy Crossing Point Software Suite for Organometallic Reactions
Justin Snyder email@example.com jdsnyder
Prof. Daniel H. Ess Chemistry
Computational studies are critical to the field of organometallic chemistry since many highly
reactive and unstable compounds cannot be isolated or observed experimentally. It is well-known
that many organometallic reaction mechanisms involve spin intersystem crossing, e.g. singlet to
triplet conversion. To estimate the rate of intersystem crossing it is useful to calculate electronic
structures where spin states and their energies are degenerate, which is called a “minimum
energy crossing point (MECP).” Prior to the completion of this project, there was only one working
program that interfaced with the Gaussian 09 electronic structure package for the calculation of
minimum energy which was written in Fortran 77 and was very tedious and complicated to work
with. As a result of this project, a far more usable Python program was created, tested, and
confirmed to obtain identical results. Our program, now called MECPro, is now available under an
The creation of MECPro took place in several steps. Because the source code of the original
program was available, we were able to use it as reference in implementing the algorithms. The
initial translation proved to be ineffective, as it produced results vastly different than what it should have, that is to say it was not able to accurately reproduce expected test cases.
We decided it was necessary to refer to Harvey’s original research material to learn the high-level
concepts behind the algorithms. Using this in tandem with the Fortran source code eventually led
to a perfect reproduction of the results of the original program.
A user interface was modeled after that of Gaussian ’09, allowing for as many similarities
between the two as was reasonable. Python standard libraries were able to speed up the process
of parsing these files and passing data between programs and allowed us to consolidate a long
and tedious process to a much simpler one. The Numpy library was able to speed up calculations
and simplify the way we represented the algorithms in the code. Any future modifications that
may be needed as research advances will be drastically simpler than they have been in the past.
Test cases were created by MECP-optimizing various molecules, including some referenced in
the original paper, using the original Fortran code. We tested equivalent inputs with the new
program and compared its output results with their corresponding outputs from the original
While the core functionality was completed and confirmed accurate, we were not able to finish
any sort of graphical interface. However, I affirm that the new code is a major improvement in
terms of usability. The number of steps in the process was brought down from approximately
fifteen to three, all of which are vastly simpler than before and require little technical knowledge
aside from basic Linux shell skills and relevant chemistry knowledge.
Some headway was made in creating more intuitive user interfaces, however these did not get far
past prototyping stages and were not able to be tested or integrated with the rest of the software.
Much of the time I was expecting to spend on creating a user interface was spent filling
functionality gaps that were present in the new program that I was not aware of prior to applying
for this grant.
There is little to discuss about the program itself, however, as it was becoming adopted more
widely by members of the research group (in addition to Harvey himself and research at other
universities), it became clear to me that its usefulness will ripple out to the field and save time that was wasted in the past dealing with a very complicated and unnecessary process. As features
are added, the original program may eventually be totally obsolete.
I would encourage BYU, as well as other universities, to continue to put in the resources to hire
Computer Science majors and similar students to help with programming of technical and
scientific tasks, rather than leaving the task up to technically interested individuals with no formal
training or learning in programming. Higher software quality is well worth the hassle of technical
I believe this project was well worth the time and the money that was put into it. Thank you for
your generous support for the sciences.
1. Harvey, J., Aschi, M., Schwarz, H., & Koch, W. (1998). The singlet and triplet states of phenyl
cation. A hybrid approach for locating minimum energy crossing points between non-interacting
potential energy surfaces. Theoretical Chemistry Accounts: Theory, Computation, and Modeling
(Theoretica Chimica Acta), 95-99.
2. Broyden–Fletcher–Goldfarb–Shanno algorithm. (n.d.). Retrieved October 28, 2015, from
3. Gustafons, S. J.; Fuller, J. T. III; Devarajan, D.; Snyder, J.; Periana, R. A.; Hasiguchi, B. G.;
Konnick, M. M.; Ess, D. H. “Contrasting Mechanisms and Reactivity of Tl(III), Hg(II), and Co(III)
for Alkane C-H Functionalization” Organometallics 2015, ASAP.