handle_unitarity_output_message Subroutine

private subroutine handle_unitarity_output_message(is_unitary, sum_of_squares)

handle printing messages depending on the outcome of unitarity check

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: is_unitary

if .true. unitarity is fulfilled, .false. otherwise

real(kind=dp), intent(in) :: sum_of_squares(:)

array holding \(\sum_{\gamma^{\prime}}|S_{\gamma,\gamma^{\prime}}|^{2}\) for each \(\gamma\)


Calls

proc~~handle_unitarity_output_message~~CallsGraph proc~handle_unitarity_output_message handle_unitarity_output_message proc~write_message write_message proc~handle_unitarity_output_message->proc~write_message proc~print_sum_of_squares print_sum_of_squares proc~handle_unitarity_output_message->proc~print_sum_of_squares proc~write_warning write_warning proc~handle_unitarity_output_message->proc~write_warning proc~print_sum_of_squares->proc~write_message proc~integer_to_character integer_to_character proc~print_sum_of_squares->proc~integer_to_character proc~float_to_character float_to_character proc~print_sum_of_squares->proc~float_to_character proc~write_warning->proc~write_message

Called by

proc~~handle_unitarity_output_message~~CalledByGraph proc~handle_unitarity_output_message handle_unitarity_output_message proc~unitarity_check unitarity_check proc~unitarity_check->proc~handle_unitarity_output_message program~scattering SCATTERING program~scattering->proc~unitarity_check

Contents


Source Code

      subroutine handle_unitarity_output_message(is_unitary, sum_of_squares)
         !! handle printing messages depending on the outcome of unitarity check
         !---------------------------------------------------------------------!
         logical, intent(in) :: is_unitary
            !! if .true. unitarity is fulfilled, .false. otherwise
         real(dp), intent(in) :: sum_of_squares(:)
            !! array holding
            !! \\(\sum\_{\gamma^{\prime}}|S\_{\gamma,\gamma^{\prime}}|^{2}\\)
            !! for each \\(\gamma\\)
         !---------------------------------------------------------------------!
         if (is_unitary) then
            call write_message("-- S-matrix unitary condition fulfilled")
         else
            call write_warning("Unitary condition is not fulfilled for one or" &
               // " more channels")
            call write_message("Consider increasing the STEPS parameter")
            call print_sum_of_squares(sum_of_squares)
         endif
         !---------------------------------------------------------------------!
      end subroutine handle_unitarity_output_message