zero_projections_3j_condition Function

public function zero_projections_3j_condition(x, y, z) result(is_valid)

checks the condition for nonvanishing 3-j symbol with zero projections: triangle inequality on x,y,z and if the sum x+y+z is an even integer

Arguments

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

variables to check for 3-j symbol conditions

integer(kind=int32), intent(in) :: y

variables to check for 3-j symbol conditions

integer(kind=int32), intent(in) :: z

variables to check for 3-j symbol conditions

Return Value logical

(out) result: true/false if conditions are met


Calls

proc~~zero_projections_3j_condition~~CallsGraph proc~zero_projections_3j_condition zero_projections_3j_condition proc~triangle_inequality_holds triangle_inequality_holds proc~zero_projections_3j_condition->proc~triangle_inequality_holds proc~is_sum_even is_sum_even proc~zero_projections_3j_condition->proc~is_sum_even

Called by

proc~~zero_projections_3j_condition~~CalledByGraph proc~zero_projections_3j_condition zero_projections_3j_condition proc~check_nonzero_pes_matrix_elements check_nonzero_pes_matrix_elements proc~check_nonzero_pes_matrix_elements->proc~zero_projections_3j_condition proc~process_single_matrix_element process_single_matrix_element proc~process_single_matrix_element->proc~zero_projections_3j_condition proc~initialize_pes_matrix initialize_pes_matrix proc~initialize_pes_matrix->proc~check_nonzero_pes_matrix_elements proc~prepare_pes_matrix_elements prepare_pes_matrix_elements proc~initialize_pes_matrix->proc~prepare_pes_matrix_elements proc~prepare_pes_matrix_elements->proc~process_single_matrix_element program~scattering SCATTERING program~scattering->proc~initialize_pes_matrix

Contents


Source Code

      function zero_projections_3j_condition(x, y, z) result(is_valid)
         !! checks the condition for nonvanishing 3-j symbol with zero projections:
         !! triangle inequality on x,y,z and if the sum x+y+z is an even integer
         !---------------------------------------------------------------------!
         integer(int32), intent(in) :: x, y, z
            !! variables to check for 3-j symbol conditions
         logical :: is_valid
            !! (out) result: true/false if conditions are met
         !---------------------------------------------------------------------!
         is_valid = (triangle_inequality_holds(x, y, z) .and. is_sum_even(x, y, z))
         !---------------------------------------------------------------------!
      end function zero_projections_3j_condition