get_frag_level_name Function

public function get_frag_level_name(frag_level) result(level_name)

Map body level (n-mer) to descriptive name Supports up to decamers (10-mers), then falls back to “N-mers” format

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: frag_level

Return Value character(len=32)


Called by

proc~~get_frag_level_name~~CalledByGraph proc~get_frag_level_name get_frag_level_name proc~print_detailed_breakdown print_detailed_breakdown proc~print_detailed_breakdown->proc~get_frag_level_name proc~write_mbe_breakdown_json_impl write_mbe_breakdown_json_impl proc~write_mbe_breakdown_json_impl->proc~get_frag_level_name proc~compute_mbe compute_mbe proc~compute_mbe->proc~print_detailed_breakdown proc~write_json_output write_json_output proc~write_json_output->proc~write_mbe_breakdown_json_impl proc~global_coordinator global_coordinator proc~global_coordinator->proc~compute_mbe proc~run_calculation run_calculation proc~run_calculation->proc~write_json_output proc~serial_fragment_processor serial_fragment_processor proc~serial_fragment_processor->proc~compute_mbe interface~global_coordinator global_coordinator interface~global_coordinator->proc~global_coordinator interface~serial_fragment_processor serial_fragment_processor interface~serial_fragment_processor->proc~serial_fragment_processor proc~compute_energy_and_forces compute_energy_and_forces proc~compute_energy_and_forces->proc~run_calculation proc~run_multi_molecule_calculations run_multi_molecule_calculations proc~run_multi_molecule_calculations->proc~run_calculation program~main main program~main->proc~run_calculation program~main->proc~run_multi_molecule_calculations proc~mbe_run_distributed mbe_context_t%mbe_run_distributed proc~mbe_run_distributed->interface~global_coordinator proc~mbe_run_serial mbe_context_t%mbe_run_serial proc~mbe_run_serial->interface~serial_fragment_processor

Source Code

   function get_frag_level_name(frag_level) result(level_name)
      !! Map body level (n-mer) to descriptive name
      !! Supports up to decamers (10-mers), then falls back to "N-mers" format
      integer, intent(in) :: frag_level
      character(len=32) :: level_name

      select case (frag_level)
      case (1)
         level_name = "monomers"
      case (2)
         level_name = "dimers"
      case (3)
         level_name = "trimers"
      case (4)
         level_name = "tetramers"
      case (5)
         level_name = "pentamers"
      case (6)
         level_name = "hexamers"
      case (7)
         level_name = "heptamers"
      case (8)
         level_name = "octamers"
      case (9)
         level_name = "nonamers"
      case (10)
         level_name = "decamers"
      case default
         ! For levels > 10, use generic format
         write (level_name, '(i0,a)') frag_level, "-mers"
      end select
   end function get_frag_level_name