handle printing messages depending on the outcome of unitarity check
Type | Intent | Optional | 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\) |
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