Finds and returns the reduced term for the given indices.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | r_index_ |
index interating over intermolecular grid |
||
integer(kind=int32), | intent(in) | :: | lambda_index_ |
index interating over Legendre expansion terms |
||
integer(kind=int32), | intent(in) | :: | coupling_index_ |
index interating over necessary couplings |
(output) sought value of the coupling term
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | private | :: | column_index_ |
function find_reduced_term(r_index_, lambda_index_, coupling_index_) &
result(reduced_term)
!! Finds and returns the reduced term for the given indices.
!---------------------------------------------------------------------!
integer(int32), intent(in) :: r_index_
!! index interating over intermolecular grid
integer(int32), intent(in) :: lambda_index_
!! index interating over Legendre expansion terms
integer(int32), intent(in) :: coupling_index_
!! index interating over necessary couplings
real(dp) :: reduced_term
!! (output) sought value of the coupling term
!---------------------------------------------------------------------!
integer(int32) :: column_index_
!---------------------------------------------------------------------!
reduced_term = 0.0_dp
do column_index_ = 1, total_number_of_coupling_terms
!---------------------------------------------------------------------!
! iterate over quantum numbers describing all couplings
! (v1/j1/v1p/rot_prime_couplings) until necessary couplings are found
!---------------------------------------------------------------------!
if ((reduced_rot_couplings(coupling_index_) &
== rot_couplings(column_index_)).and. &
(reduced_rot_prime_couplings(coupling_index_) &
== rot_prime_couplings(column_index_)).and. &
(reduced_vib_couplings(coupling_index_) &
== vib_couplings(column_index_)).and. &
(reduced_vib_prime_couplings(coupling_index_) &
== vib_prime_couplings(column_index_))) then
reduced_term = tabulated_coupling_terms(r_index_, lambda_index_,&
column_index_)
exit
endif
enddo
!---------------------------------------------------------------------!
end function find_reduced_term