GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis  111
Data Types | Functions/Subroutines
molden_gbl Module Reference

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. More...

Functions/Subroutines

subroutine close_molden_file (this)
 
subroutine get_molden_info (this)
 
subroutine read (this, nucleus, CGTO_shell_data, orbital_data)
 
subroutine read_molden_geometry (this, nucleus, n)
 
subroutine write_molden_geometry (this, nucleus)
 
integer function get_number_of_cgtos (this)
 
subroutine write_gto_basis (this, CGTO_shell_data)
 
subroutine read_selected_mo (this, CGTO_shell_data, nob, orbital_data)
 
subroutine get_mo_number_sym (this, n)
 
subroutine write_all_orbitals (this, CGTO_shell_data, orbital_data)
 
logical function centers_match (center_A, center_B)
 Returns .true./.false. depending on whether the coordinates of the two centers match or not. More...
 
subroutine print_energy_sorted_orbital_table (this)
 

Detailed Description

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.

Function/Subroutine Documentation

◆ centers_match()

logical function molden_gbl::centers_match ( real(kind=cfp), dimension(3), intent(in)  center_A,
real(kind=cfp), dimension(3), intent(in)  center_B 
)

Returns .true./.false. depending on whether the coordinates of the two centers match or not.

◆ close_molden_file()

subroutine molden_gbl::close_molden_file ( class(molden_input_obj)  this)

◆ get_mo_number_sym()

subroutine molden_gbl::get_mo_number_sym ( class(molden_input_obj)  this,
integer, dimension(1:8), intent(out)  n 
)

◆ get_molden_info()

subroutine molden_gbl::get_molden_info ( class(molden_input_obj)  this)
Here is the call graph for this function:

◆ get_number_of_cgtos()

integer function molden_gbl::get_number_of_cgtos ( class(molden_input_obj)  this)
Here is the call graph for this function:

◆ print_energy_sorted_orbital_table()

subroutine molden_gbl::print_energy_sorted_orbital_table ( class(molden_input_obj)  this)
Here is the call graph for this function:

◆ read()

subroutine molden_gbl::read ( class(molden_input_obj)  this,
type(nucleus_type), dimension(:), allocatable  nucleus,
type(cgto_shell_data_obj), dimension(:), allocatable  CGTO_shell_data,
type(orbital_data_obj), dimension(:), allocatable  orbital_data 
)
Here is the call graph for this function:

◆ read_molden_geometry()

subroutine molden_gbl::read_molden_geometry ( class(molden_input_obj)  this,
type(nucleus_type), dimension(:), intent(out), allocatable  nucleus,
integer, intent(out)  n 
)

◆ read_selected_mo()

subroutine molden_gbl::read_selected_mo ( class(molden_input_obj)  this,
type(cgto_shell_data_obj), dimension(:), intent(in)  CGTO_shell_data,
integer, dimension(8), intent(in)  nob,
type(orbital_data_obj), dimension(:), allocatable  orbital_data 
)
Here is the call graph for this function:

◆ write_all_orbitals()

subroutine molden_gbl::write_all_orbitals ( class(molden_input_obj)  this,
type(cgto_shell_data_obj), dimension(:)  CGTO_shell_data,
type(orbital_data_obj), dimension(:)  orbital_data 
)
Here is the call graph for this function:

◆ write_gto_basis()

subroutine molden_gbl::write_gto_basis ( class(molden_input_obj)  this,
type(cgto_shell_data_obj), dimension(:), allocatable  CGTO_shell_data 
)
Here is the call graph for this function:

◆ write_molden_geometry()

subroutine molden_gbl::write_molden_geometry ( class(molden_input_obj)  this,
class(nucleus_type), dimension(:), intent(in)  nucleus 
)