ang_mom_char_to_int Function

public pure function ang_mom_char_to_int(ang_mom_char) result(ang_mom)

Convert angular momentum character to integer

Standard mapping: S=0, P=1, D=2, F=3, G=4, H=5, I=6 Special case: L=-1 (combined S+P shell, requires splitting)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: ang_mom_char

Angular momentum symbol

Return Value integer

Corresponding integer value


Called by

proc~~ang_mom_char_to_int~~CalledByGraph proc~ang_mom_char_to_int ang_mom_char_to_int proc~fill_element_basis fill_element_basis proc~fill_element_basis->proc~ang_mom_char_to_int proc~parse_element_basis parse_element_basis proc~parse_element_basis->proc~fill_element_basis proc~build_molecular_basis build_molecular_basis proc~build_molecular_basis->proc~parse_element_basis

Source Code

   pure function ang_mom_char_to_int(ang_mom_char) result(ang_mom)
      !! Convert angular momentum character to integer
      !!
      !! Standard mapping: S=0, P=1, D=2, F=3, G=4, H=5, I=6
      !! Special case: L=-1 (combined S+P shell, requires splitting)
      character(len=1), intent(in) :: ang_mom_char  !! Angular momentum symbol
      integer :: ang_mom  !! Corresponding integer value

      select case (ang_mom_char)
      case ('S')
         ang_mom = 0
      case ('P')
         ang_mom = 1
      case ('D')
         ang_mom = 2
      case ('F')
         ang_mom = 3
      case ('G')
         ang_mom = 4
      case ('H')
         ang_mom = 5
      case ('I')
         ang_mom = 6
      case ('L')
         ang_mom = -1  ! Special case: L shells are split into S+P
      case default
         ang_mom = -1
      end select
   end function ang_mom_char_to_int