| This module contains the object molden_input_obj which controls operations on a Molden input file. It reads, on demand, the basis set, nuclear data and molecular orbitals into the appropriate data structures. The same data structures can be also written out to a file. The Molden file can hold basis set data for GTOs and STOs. Currently, reading of the GTO basis and the molecular orbitals has been implemented. The Molden format allows for use of flags which specify that the molecular orbitals are given in terms of coefficients for the spherical GTOs. These flags are: [5D],[5D10F],[7F],[5D7F],[5D],[9G] and currently ARE NOT supported by the molden_input_obj object. If any of these flags are found on the Molden file an error message is issued. However, implementing the use of these flags is trivial and in fact simpler than having to work with orbital coefficients corresponding to the contracted cartesian GTOs which is the default. When reading the MO coefficients we read-in the cartesian coefficients first and then convert them to the coefficients for the corresponding spherical GTOs. (We do the reverse when writing out orbital coefficients for the spherical GTOs). This is done, for each shell, calculating the overlap integrals between the normalized contracted cartesian GTO basis functions and the normalized contracted spherical GTO corresponding to the same shell. The Molden file must be (according to its format specification) a formatted file. The exact format of all numbers and data is taken from Molpro. All format specifications are contained in the module molden_const. There should be no constants and format definitions in this module - everything must be defined in the module molden_const. This ensures that if the input/output format needs to be changed that this can be done consistently for input/output only in one place.
|