set_number_of_channels Subroutine

public subroutine set_number_of_channels(total_angular_momentum_, number_of_channels_even_parity_block, number_of_channels_odd_parity_block)

determine the number of scattering channels in each parity block for given total angular momentum in both body-fixed and space-fixed frames

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: total_angular_momentum_

total angular momentum

integer(kind=int32), intent(out) :: number_of_channels_even_parity_block

number of channels in the p = 1 (even parity) block

integer(kind=int32), intent(out) :: number_of_channels_odd_parity_block

number of channels in the p = -1 (odd parity) block


Calls

proc~~set_number_of_channels~~CallsGraph proc~set_number_of_channels set_number_of_channels proc~calculate_number_of_channels_body_fixed calculate_number_of_channels_body_fixed proc~set_number_of_channels->proc~calculate_number_of_channels_body_fixed proc~calculate_number_of_channels_space_fixed calculate_number_of_channels_space_fixed proc~set_number_of_channels->proc~calculate_number_of_channels_space_fixed proc~check_number_of_channels check_number_of_channels proc~set_number_of_channels->proc~check_number_of_channels proc~update_channel_counts_body_fixed update_channel_counts_body_fixed proc~calculate_number_of_channels_body_fixed->proc~update_channel_counts_body_fixed proc~update_channel_counts_space_fixed update_channel_counts_space_fixed proc~calculate_number_of_channels_space_fixed->proc~update_channel_counts_space_fixed proc~integer_to_character integer_to_character proc~check_number_of_channels->proc~integer_to_character proc~write_error write_error proc~check_number_of_channels->proc~write_error proc~write_message write_message proc~write_error->proc~write_message

Called by

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

Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=int32), private :: number_of_channels_even_parity_block_sf
integer(kind=int32), private :: number_of_channels_odd_parity_block_sf

Source Code

      subroutine set_number_of_channels(total_angular_momentum_,               &
         number_of_channels_even_parity_block, number_of_channels_odd_parity_block)
         !! determine the number of scattering channels in each parity block 
         !! for given total angular momentum in both body-fixed and
         !! space-fixed frames
         !---------------------------------------------------------------------!
         integer(int32), intent(in) :: total_angular_momentum_
            !! total angular momentum         
         integer(int32), intent(out) :: number_of_channels_even_parity_block
            !! number of channels in the p = 1 (even parity) block
         integer(int32), intent(out) :: number_of_channels_odd_parity_block
            !! number of channels in the p = -1 (odd parity) block
         !---------------------------------------------------------------------!
         integer(int32) :: number_of_channels_even_parity_block_sf,            &
            number_of_channels_odd_parity_block_sf
         !---------------------------------------------------------------------!
         ! body-fixed frame
         !---------------------------------------------------------------------!
         call calculate_number_of_channels_body_fixed(total_angular_momentum_, &
            number_of_channels_even_parity_block, number_of_channels_odd_parity_block)
         !---------------------------------------------------------------------!
         ! space-fixed frame
         !---------------------------------------------------------------------!
         call calculate_number_of_channels_space_fixed(total_angular_momentum_, &
            number_of_channels_even_parity_block_sf, number_of_channels_odd_parity_block_sf)
         !---------------------------------------------------------------------!
         ! Check if the number of channels is the same
         !---------------------------------------------------------------------!
         call check_number_of_channels(number_of_channels_even_parity_block,   &
            number_of_channels_even_parity_block_sf, "even")
         call check_number_of_channels(number_of_channels_odd_parity_block,    &
            number_of_channels_odd_parity_block_sf, "odd")
         !---------------------------------------------------------------------!
      end subroutine set_number_of_channels