Gmat. A software tool for the computation of the rovibrational G matrix
Gmat is a C++ program able to compute the rovibrational G matrix in molecules of arbitrary size. This allows the building of arbitrary rovibrational Hamiltonians. In particular, the program is designed to work with the structural results of potential energy hypersurface mappings computed in computer clusters or computational Grid environments. In the present version, 1.0. the program uses internal coordinates as vibrational coordinates, with the principal axes of inertia as body-fixed system. The main design implements a complete separation of the interface and functional parts of the program. The interface part permits the automatic reading of the molecular structures from the Output files of different electronic structure codes. At present, Gamess and Gaussian output files are allowed. To Such an end, use is made of the object orientation polymorphism characteristic. The functional part computes numerically the derivatives of the nuclear positions respect to the vibrational coordinates. Very accurate derivatives are obtained by using central differences embedded in a nine levels Richardson extrapolation procedure. Program summary Program title: Gmat Catalogue identifier: AECZ_v1_0 Program summary URL: http://cpc.cs.qtib.ac.uk/stimmaries/AECZ_v1-0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licencel/licence.html No. of lines in distributed program, including test data, etc.: 17 023 No. of bytes in distributed program, including test data, etc.: 274 714 Distribution format: tar.gz Programming language: Standard C++ Computer: All running Linux/Windows Operating system: Linux, Windows Classification: 16.2 Nature of problem: Computation of the rovibrational G matrix in molecules of any size. This allows the building of arbitrary rovibrational Hamiltonians. It must be possible to obtain the input data front the output files of standard electronic structure codes. In addition, the program should handle the large number of files generated in massive explorations of molecular potential energy hypersurfaces. In these cases, Gmat will provide the G matrix as a function of the molecular structure. Solution method: To reach its objectives, Gmat has been organized in two components: an interface and a functional part. This organization allows for separating the input/output tasks, which are dependent on the human-machine interaction model selected, from the functional requirements, which are not. An object-oriented approach has been used in both parts. In the interface, polymorphism is used to allow the data acquisition from output files of different electronic structure codes. In the functional part, Gmat computes numerically the derivatives of the Cartesian coordinates respect to the vibrational coordinates needed to build the G matrix. Extremely accurate numerical derivatives are obtained in a double procedure. First, the truncation plus roundoff errors are minimized in the central differences expression. Second, the result is embedding in a nine levels Richardson extrapolation process. In the present version, the program allows the use of internal coordinates as vibrational coordinates, with the principal axes of inertia as body-fixed system. Running time: Sample test runs provided with the distribution take a few seconds to execute. (C) 2009 Elsevier B.V. All rights reserved.
rovibrational g matrix vibrational coordinates principal inertia axes object-oriented programming