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. © 2004 Wiley Periodicals, Inc. J Comput Chem 14: 1717–1725, 2004

[1]  Danny C. Sorensen,et al.  On the use of directions of negative curvature in a modified newton method , 1979, Math. Program..

[2]  Jack Dongarra,et al.  ScaLAPACK user's guide , 1997 .

[3]  J. Pople,et al.  Self—Consistent Molecular Orbital Methods. XII. Further Extensions of Gaussian—Type Basis Sets for Use in Molecular Orbital Studies of Organic Molecules , 1972 .

[4]  原田 秀逸 私の computer 環境 , 1998 .

[5]  Jorge Nocedal,et al.  Global Convergence Properties of Conjugate Gradient Methods for Optimization , 1992, SIAM J. Optim..

[6]  Peter Pulay,et al.  Geometry optimization by direct inversion in the iterative subspace , 1984 .

[7]  Ajit Banerjee,et al.  Search for stationary points on surfaces , 1985 .

[8]  Lois C. McInnes,et al.  A case study in the performance and scalability of optimization algorithms , 2001, TOMS.

[9]  Jorge Nocedal,et al.  A Limited Memory Algorithm for Bound Constrained Optimization , 1995, SIAM J. Sci. Comput..

[10]  William Gropp,et al.  Modern Software Tools in Scientific Computing , 1994 .

[11]  John F. Karpovich,et al.  Support for extensibility and site autonomy in the Legion grid system object model , 2003, J. Parallel Distributed Comput..

[12]  D K Smith,et al.  Numerical Optimization , 2001, J. Oper. Res. Soc..

[13]  Mark S. Gordon,et al.  Self‐consistent molecular orbital methods. XXIII. A polarization‐type basis set for second‐row elements , 1982 .

[14]  Robert J. Harrison,et al.  Global arrays: A nonuniform memory access programming model for high-performance computers , 1996, The Journal of Supercomputing.

[15]  T. M. Williams,et al.  Practical Methods of Optimization. Vol. 1: Unconstrained Optimization , 1980 .

[16]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[17]  Frank Mueller Proceedings of the 6th International Workshop on High-Level Parallel Programming Models and Supportive Environments , 2001 .

[18]  Andrew S. Grimshaw,et al.  Wide-Area Computing: Resource Sharing on a Large Scale , 1999, Computer.

[19]  J. Pople,et al.  Self‐Consistent Molecular‐Orbital Methods. I. Use of Gaussian Expansions of Slater‐Type Atomic Orbitals , 1969 .

[20]  J. Rodrigues Obstacle Problems in Mathematical Physics , 1987 .

[21]  E. L. Short,et al.  Quantum Chemistry , 1969, Nature.

[22]  J. B. Collins,et al.  Self‐consistent molecular orbital methods. XVII. Geometries and binding energies of second‐row molecules. A comparison of three basis sets , 1976 .

[23]  David E. Bernholdt,et al.  High performance computational chemistry: An overview of NWChem a distributed parallel application , 2000 .

[24]  Stephen J. Wright,et al.  Optimization Software Guide , 1987 .

[25]  P. Kollman,et al.  Encyclopedia of computational chemistry , 1998 .

[26]  J. Pople,et al.  Self‐consistent molecular orbital methods. XX. A basis set for correlated wave functions , 1980 .

[27]  A. D. McLean,et al.  Contracted Gaussian basis sets for molecular calculations. I. Second row atoms, Z=11–18 , 1980 .

[28]  James M. Ortega,et al.  Iterative solution of nonlinear equations in several variables , 2014, Computer science and applied mathematics.

[29]  Michael J. Todd,et al.  Mathematical programming , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[30]  James Arthur Kohl,et al.  The CCA core specification in a distributed memory SPMD framework , 2002, Concurr. Comput. Pract. Exp..

[31]  P. Schleyer Encyclopedia of computational chemistry , 1998 .

[32]  Curtis L. Janssen,et al.  Parallel Processing for Ab Initio Quantum Mechanical Methods , 2002 .

[33]  Clemens C. J. Roothaan,et al.  New Developments in Molecular Orbital Theory , 1951 .