updates number_of_channels_even and number_of_channels_odd in the space-fixed frame for given range of orbital angular momentum
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | l_min_ |
smallest value of \( l = |j-J|\) |
||
integer(kind=int32), | intent(in) | :: | l_max_ |
largest value of \( l = j+J\) |
||
integer(kind=int32), | intent(in) | :: | level_index_ |
index pointing to speceific \(j\) value in rot_levels |
||
integer(kind=int32), | intent(inout) | :: | number_of_channels_even_parity_block |
number of channels for the p = 1 block |
||
integer(kind=int32), | intent(inout) | :: | number_of_channels_odd_parity_block |
number of channels for the p = -1 block |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | private | :: | l_ |
subroutine update_channel_counts_space_fixed(l_min_, l_max_, &
level_index_, number_of_channels_even_parity_block, &
number_of_channels_odd_parity_block)
!! updates number_of_channels_even and number_of_channels_odd
!! in the space-fixed frame for given
!! range of orbital angular momentum
!---------------------------------------------------------------------!
integer(int32), intent(in) :: l_min_
!! smallest value of \\( l = |j-J|\\)
integer(int32), intent(in) :: l_max_
!! largest value of \\( l = j+J\\)
integer(int32), intent(in) :: level_index_
!! index pointing to speceific \\(j\\) value in rot_levels
integer(int32), intent(inout) :: number_of_channels_even_parity_block
!! number of channels for the p = 1 block
integer(int32), intent(inout) :: number_of_channels_odd_parity_block
!! number of channels for the p = -1 block
!---------------------------------------------------------------------!
integer(int32) :: l_
!---------------------------------------------------------------------!
do l_ = l_min_, l_max_
if (mod(rot_levels(level_index_) + l_, 2) == 0) then
number_of_channels_even_parity_block = &
number_of_channels_even_parity_block + 1
else
number_of_channels_odd_parity_block = &
number_of_channels_odd_parity_block + 1
endif
end do
!---------------------------------------------------------------------!
end subroutine update_channel_counts_space_fixed