Reduces the tabulated_coupling_terms matrix to retain only the necessary coupling terms.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | private | :: | coupling_index_ | ||||
integer(kind=int32), | private | :: | lambda_index_ | ||||
integer(kind=int32), | private | :: | radial_index_ |
subroutine reduce_radial_coupling_terms
!! Reduces the tabulated_coupling_terms matrix to retain
!! only the necessary coupling terms.
!---------------------------------------------------------------------!
integer(int32) :: lambda_index_, radial_index_, coupling_index_
!---------------------------------------------------------------------!
if (total_number_of_coupling_terms &
/= minimal_number_of_coupling_terms) then
call write_message("-- Reducing the number of the radial " // &
"coupling terms...")
call print_pes_quantum_numbers("Original", &
total_number_of_coupling_terms)
call reduce_coupling_terms()
call print_pes_quantum_numbers("Reduced", &
minimal_number_of_coupling_terms)
call write_message("-- Reduced "// &
trim(adjustl(integer_to_character( &
total_number_of_coupling_terms))) // " radial terms to "// &
trim(adjustl(integer_to_character( &
minimal_number_of_coupling_terms))))
else
!------------------------------------------------------------------!
! if there is nothing to be reduced,
! copy tabulated_coupling_terms to coupling_terms
!------------------------------------------------------------------!
coupling_terms = tabulated_coupling_terms
endif
!---------------------------------------------------------------------!
deallocate(tabulated_coupling_terms)
!---------------------------------------------------------------------!
end subroutine reduce_radial_coupling_terms