element_symbol_to_number Function

public pure function element_symbol_to_number(symbol) result(atomic_number)

Convert element symbol to atomic number Covers the complete periodic table (elements 1-118)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: symbol

Return Value integer


Calls

proc~~element_symbol_to_number~~CallsGraph proc~element_symbol_to_number element_symbol_to_number to_lower to_lower proc~element_symbol_to_number->to_lower to_upper to_upper proc~element_symbol_to_number->to_upper

Called by

proc~~element_symbol_to_number~~CalledByGraph proc~element_symbol_to_number element_symbol_to_number proc~geometry_to_system_unfragmented geometry_to_system_unfragmented proc~geometry_to_system_unfragmented->proc~element_symbol_to_number proc~initialize_fragmented_system initialize_fragmented_system proc~initialize_fragmented_system->proc~element_symbol_to_number proc~initialize_system_geometry initialize_system_geometry proc~initialize_system_geometry->proc~element_symbol_to_number proc~config_to_system_geometry config_to_system_geometry proc~config_to_system_geometry->proc~geometry_to_system_unfragmented proc~geometry_to_system_fragmented geometry_to_system_fragmented proc~config_to_system_geometry->proc~geometry_to_system_fragmented proc~molecule_to_system_geometry molecule_to_system_geometry proc~config_to_system_geometry->proc~molecule_to_system_geometry proc~geometry_to_system_fragmented->proc~initialize_fragmented_system proc~molecule_to_system_geometry->proc~geometry_to_system_unfragmented proc~molecule_to_system_geometry->proc~initialize_fragmented_system proc~run_multi_molecule_calculations run_multi_molecule_calculations proc~run_multi_molecule_calculations->proc~config_to_system_geometry program~main main program~main->proc~config_to_system_geometry program~main->proc~run_multi_molecule_calculations

Variables

Type Visibility Attributes Name Initial
character(len=2), private :: sym

Source Code

   pure function element_symbol_to_number(symbol) result(atomic_number)
      !! Convert element symbol to atomic number
      !! Covers the complete periodic table (elements 1-118)
      character(len=*), intent(in) :: symbol
      integer :: atomic_number

      character(len=2) :: sym

      ! Normalize: uppercase first letter, lowercase second
      sym = adjustl(symbol)
      if (len_trim(sym) >= 1) sym(1:1) = to_upper(sym(1:1))
      if (len_trim(sym) >= 2) sym(2:2) = to_lower(sym(2:2))

      ! Search for symbol in table
      atomic_number = findloc(element_symbols, sym, dim=1)

   end function element_symbol_to_number