Component-based integration of chemistry and optimization software.
Typical scientific software designs make rigid assumptions regarding programming language and data structures, frustrating software interoperability and scientific collaboration. Component-based software engineering is an emerging approach to managing the increasing complexity of scientific software. Component technology facilitates code interoperability and reuse. Through the adoption of methodology and tools developed by the Common Component Architecture Forum, we have developed a component architecture for molecular structure optimization. Using the NWChem and Massively Parallel Quantum Chemistry packages, we have produced chemistry components that provide capacity for energy and energy derivative evaluation. We have constructed geometry optimization applications by integrating the Toolkit for Advanced Optimization, Portable Extensible Toolkit for Scientific Computation, and Global Arrays packages, which provide optimization and linear algebra capabilities. We present a brief overview of the component development process and a description of abstract interfaces for chemical optimizations. The components conforming to these abstract interfaces allow the construction of applications using different chemistry and mathematics packages interchangeably. Initial numerical results for the component software demonstrate good performance, and highlight potential research enabled by this platform.
Kenny
Joseph P
JP
High Performance Computing and Networking Department, Sandia National Laboratories, MS 9915, P.O. Box 969, Livermore, California 94551-0969, USA. jpkenny@sandia.gov
Benson
Steven J
SJ
Alexeev
Yuri
Y
Sarich
Jason
J
Janssen
Curtis L
CL
McInnes
Lois Curfman
LC
Krishnan
Manojkumar
M
Nieplocha
Jarek
J
Jurrus
Elizabeth
E
Fahlstrom
Carl
C
Windus
Theresa L
TL