reduce_radial_coupling_terms Subroutine

public subroutine reduce_radial_coupling_terms()

Reduces the tabulated_coupling_terms matrix to retain only the necessary coupling terms.

Arguments

None

Calls

proc~~reduce_radial_coupling_terms~~CallsGraph proc~reduce_radial_coupling_terms reduce_radial_coupling_terms proc~write_message write_message proc~reduce_radial_coupling_terms->proc~write_message proc~print_pes_quantum_numbers print_pes_quantum_numbers proc~reduce_radial_coupling_terms->proc~print_pes_quantum_numbers proc~reduce_coupling_terms reduce_coupling_terms proc~reduce_radial_coupling_terms->proc~reduce_coupling_terms proc~integer_to_character integer_to_character proc~reduce_radial_coupling_terms->proc~integer_to_character proc~print_pes_quantum_numbers->proc~write_message proc~print_pes_quantum_numbers->proc~integer_to_character proc~find_reduced_term find_reduced_term proc~reduce_coupling_terms->proc~find_reduced_term

Called by

proc~~reduce_radial_coupling_terms~~CalledByGraph proc~reduce_radial_coupling_terms reduce_radial_coupling_terms program~scattering SCATTERING program~scattering->proc~reduce_radial_coupling_terms

Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=int32), private :: coupling_index_
integer(kind=int32), private :: lambda_index_
integer(kind=int32), private :: radial_index_

Source Code

      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