save_s_matrix_file_header Subroutine

public subroutine save_s_matrix_file_header()

save "header" of the S-matrix file: -- label, "itype", number of levels in the basis, reduced mass of the system -- vibrational and rotational quantum numbers -- rovibrational energies -- index pointing to the initial level and the kinetic/total energy

Arguments

None

Calls

proc~~save_s_matrix_file_header~~CallsGraph proc~save_s_matrix_file_header save_s_matrix_file_header proc~file_io_status file_io_status proc~save_s_matrix_file_header->proc~file_io_status proc~integer_to_character integer_to_character proc~file_io_status->proc~integer_to_character proc~write_error write_error proc~file_io_status->proc~write_error proc~write_message write_message proc~write_error->proc~write_message

Called by

proc~~save_s_matrix_file_header~~CalledByGraph proc~save_s_matrix_file_header save_s_matrix_file_header program~scattering SCATTERING program~scattering->proc~save_s_matrix_file_header

Contents


Variables

Type Visibility Attributes Name Initial
character(len=200), private :: err_message
integer(kind=int32), private :: io_status
integer(kind=int32), private :: level_index_

Source Code

      subroutine save_s_matrix_file_header
         !! save "header" of the S-matrix file:
         !! -- label, "itype", number of levels in the basis, reduced mass
         !!    of the system
         !! -- vibrational and rotational quantum numbers
         !! -- rovibrational energies
         !! -- index pointing to the initial level and the kinetic/total energy
         !---------------------------------------------------------------------!
         character(len=200) :: err_message
         integer(int32) :: io_status, level_index_
         !---------------------------------------------------------------------!
         open(s_matrix_unit, file=trim(s_matrix_file_name), form='unformatted',&
            iostat = io_status, iomsg = err_message)
         call file_io_status(io_status, err_message, s_matrix_unit, "o")
         !---------------------------------------------------------------------!
         write(s_matrix_unit) label, 2, number_of_basis_levels, reduced_mass
         write(s_matrix_unit) (vib_levels(level_index_),                       &
            rot_levels(level_index_), level_index_ = 1, number_of_basis_levels)
         write(s_matrix_unit) (internal_energies(level_index_),                &
            level_index_ = 1, number_of_basis_levels)
         write(s_matrix_unit) initial_level, energy
         !---------------------------------------------------------------------!
      end subroutine save_s_matrix_file_header