Locates the correct quantum number that describes the v/j coupling. Note that coupling terms are symmetric with respect to the change of pre- and post-collisional quantum numbers.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | v_ |
pre-collisional vibrational quantum number |
||
integer(kind=int32), | intent(in) | :: | j_ |
pre-collisional rotational quantum number |
||
integer(kind=int32), | intent(in) | :: | v_prime_ |
post-collisional vibrational quantum number |
||
integer(kind=int32), | intent(in) | :: | j_prime_ |
post-collisional rotational quantum number |
Index pointing to \(v, j, v^{\prime}, j^{\prime}\) in reduced_* arrays
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | private | :: | coupling_index_ |
function find_coupling_index(v_, j_, v_prime_, j_prime_) result(result_index_)
!! Locates the correct quantum number that describes the v/j coupling.
!! Note that coupling terms are symmetric with respect to the change
!! of pre- and post-collisional quantum numbers.
!---------------------------------------------------------------------!
integer(int32), intent(in) :: v_
!! pre-collisional vibrational quantum number
integer(int32), intent(in) :: j_
!! pre-collisional rotational quantum number
integer(int32), intent(in) :: v_prime_
!! post-collisional vibrational quantum number
integer(int32), intent(in) :: j_prime_
!! post-collisional rotational quantum number
integer(int32) :: result_index_
!! Index pointing to \\(v, j, v^{\prime}, j^{\prime}\\)
!! in reduced_* arrays
!---------------------------------------------------------------------!
integer(int32) :: coupling_index_
!---------------------------------------------------------------------!
result_index_ = 0
do coupling_index_ = 1, minimal_number_of_coupling_terms
if ((((reduced_vib_couplings(coupling_index_) == v_).and. &
(reduced_rot_couplings(coupling_index_).eq.j_).and. &
(reduced_vib_prime_couplings(coupling_index_).eq.v_prime_).and. &
(reduced_rot_prime_couplings(coupling_index_).eq.j_prime_)) &
.or. &
((reduced_vib_couplings(coupling_index_).eq.v_prime_).and. &
(reduced_rot_couplings(coupling_index_).eq.j_prime_).and. &
(reduced_vib_prime_couplings(coupling_index_).eq.v_).and. &
(reduced_rot_prime_couplings(coupling_index_).eq.j_))) ) then
result_index_ = coupling_index_
exit
endif
enddo
!---------------------------------------------------------------------!
end function find_coupling_index