Open source chemistry: Creating tools for automated structure prediction, modeling, visualization, and analysis
Lonie, David C.
MetadataShow full item record
Advances in high performance computing are transforming the field of theoretical chemistry. Supercomputing hardware is becoming faster and cheaper, and we are at a point where accurate simulations of non-trivial chemical systems are not only possible, they are commonplace. Modern research facilities have incredible amounts of computational power -- at the time of this writing, the Titan supercomputer at Oak Ridge National Laboratory is the most performant cluster in the world, harnessing over 500,000 processors to churn out nearly 18e15 calculations per second. But while that is a impressive amount of power, no one will be surprised when Titan is replaced by a even faster system in a mere matter of months. With such rapid innovation in supercomputing hardware, it takes time to develop applications that harness this power in a way that is accessible to non-technical researchers. Using a modern supercomputing system requires knowledge of resource scheduling, shell scripting, parallel computing environments, and networking. The main focus of my research is the design and implementation of tools that can bring the incredible power of large scale simulations into the hands of researchers who are just interested in performing their domain-specific work, instead of configuring heavily-distributed simulations. To this end, I've developed a framework for integrating fully automatic structure searches with supercomputing resources. The LIBGLOBALSEARCH library is a platform for performing highly parallel searches for stable and metastable structures in a chemical system. It abstracts away the details of generating and staging input files for a simulation, scheduling calculations on supercomputing resources, as well as retrieval and analysis of calculation results. I've written the XTALOPT, GAPC, and RANDOMDOCK programs using this framework to identify energetically favorable species in such diverse categories as periodic solids, nanoclusters, and molecular clusters. The chapters in Part I cover these codes and deal with structure prediction in general. An application of the XTALOPT algorithm to locate stable crystalline magnesium polyhydrides under extreme pressures is included in Chapter 7. I've developed additional tools of general use to computational chemists along the way. Chapter 10 describes a visual crystallographic toolkit that provides a graphical user interface to a number of algorithms I wrote during the development of XTALOPT. Chapter 11 covers a virtual nanotube builder written for an undergraduate computational chemistry lab. Chapter 12 summarizes a number of chemical rendering techniques implemented in the Visualization ToolKit package. A novel algorithm that identifies duplicate crystal structures is presented in Chapter 13. Chapter 14 describes recent and future work in my career as an R&D engineer at Kitware. The appendix contains a tutorial for the XTALOPT crystal structure prediction software. All of the code produced over the course of my graduate work is freely available for use, modification, and redistribution under open source licenses.