prints information about body-fixed channels on screen
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | parity_exponent_ |
parity exponent of the block (0 if p = +1, 1 if p = -1) |
||
integer(kind=int32), | intent(inout) | :: | channel_indices(:) |
holds the indices pointing to the basis arrays |
||
integer(kind=int32), | intent(inout) | :: | channels_omega_values(:) |
holds all values of \bar{\Omega} |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | private | :: | channel_index_ | ||||
real(kind=dp), | private | :: | internal_energy_ | ||||
integer(kind=int32), | private | :: | j_ | ||||
integer(kind=int32), | private | :: | omega_ | ||||
integer(kind=int32), | private | :: | parity_ | ||||
integer(kind=int32), | private | :: | v_ | ||||
real(kind=dp), | private | :: | wavevector_ |
subroutine print_channels(parity_exponent_, channel_indices, &
channels_omega_values)
!! prints information about body-fixed channels on screen
!---------------------------------------------------------------------!
integer(int32), intent(in) :: parity_exponent_
!! parity exponent of the block (0 if p = +1, 1 if p = -1)
integer(int32), intent(inout) :: channel_indices(:)
!! holds the indices pointing to the basis arrays
integer(int32), intent(inout) :: channels_omega_values(:)
!! holds all values of \bar{\Omega}
!---------------------------------------------------------------------!
integer(int32) :: channel_index_, v_, j_, omega_, parity_
real(dp) :: internal_energy_, wavevector_
!---------------------------------------------------------------------!
call write_message(" v1 j1 omega p" // repeat(" ", 10)&
// "E_vj" // repeat(" ", 16) // "wv")
!---------------------------------------------------------------------!
do channel_index_ = 1, size(channel_indices)
v_ = vib_levels(channel_indices(channel_index_))
j_ = rot_levels(channel_indices(channel_index_))
omega_ = channels_omega_values(channel_index_)
parity_ = (-1)**parity_exponent_
internal_energy_ = internal_energies(channel_indices(channel_index_))
!------------------------------------------------------------------!
! format for open channels:
!------------------------------------------------------------------!
if (is_open(internal_energy_)) then
wavevector_ = sqrt( wavevector_squared_from_energy( &
internal_energy_) )
call write_channel_line(v_, j_, omega_, parity_, &
internal_energy_, wavevector_)
!------------------------------------------------------------------!
! format for closed channels:
!------------------------------------------------------------------!
else
call write_channel_line(v_,j_,omega_,parity_,internal_energy_)
endif
!------------------------------------------------------------------!
enddo
!---------------------------------------------------------------------!
end subroutine print_channels