Prints information about cross-sections from provided "cross_sections_" array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | open_basis_levels_(:) |
array holding indices to open basis levels |
||
real(kind=dp), | intent(in) | :: | cross_sections_(:) |
holds values of the cross-sections |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | private | :: | cross_section_index_ | ||||
character(len=200), | private | :: | header_line_ | ||||
integer(kind=int32), | private | :: | index_1_ | ||||
integer(kind=int32), | private | :: | index_2_ | ||||
character(len=200), | private | :: | line_ | ||||
integer(kind=int32), | private | :: | number_of_open_basis_levels_ |
subroutine print_all_cross_sections(open_basis_levels_, cross_sections_)
!! Prints information about cross-sections from provided
!! "cross_sections_" array
!---------------------------------------------------------------------!
integer(int32), intent(in) :: open_basis_levels_(:)
!! array holding indices to open basis levels
real(dp), intent(in) :: cross_sections_(:)
!! holds values of the cross-sections
!---------------------------------------------------------------------!
character(len=200) :: header_line_, line_
integer(int32) :: index_1_, index_2_, cross_section_index_, &
number_of_open_basis_levels_
!---------------------------------------------------------------------!
write(header_line_, "(2x,a4,2x,a4,2x,a2,2x,a4,2x,a4,14x,a4,16x,a2)") &
"v1_f", "j1_f", "<-", "v1_i", "j1_i", "Ekin", "XS"
call write_message(header_line_)
!---------------------------------------------------------------------!
number_of_open_basis_levels_ = size(open_basis_levels_)
!---------------------------------------------------------------------!
do index_1_ = 1, size(open_basis_levels_)
do index_2_ = 1, size(open_basis_levels_)
cross_section_index_ = (index_1_ - 1) &
* number_of_open_basis_levels_ + index_2_
write(line_, "(2X,I4,2X,I4,6X,I4,2X,I4,2X,E16.8,2X,E16.8)") &
vib_levels(open_basis_levels_(index_2_)), &
rot_levels(open_basis_levels_(index_2_)), &
vib_levels(open_basis_levels_(index_1_)), &
rot_levels(open_basis_levels_(index_1_)), &
(total_energy()-internal_energies(open_basis_levels_(index_1_)))&
* hartree_to_cm, cross_sections_(cross_section_index_)
call write_message(line_)
enddo
enddo
!---------------------------------------------------------------------!
end subroutine print_all_cross_sections