Function adas.split_multiplet

def split_multiplet(s_low, l_low, s_up, l_up, return_j=False, norm=False, white=False)

Returns the relative intensity of lines in an LS multiplet.

Parameters

s_low : float
Spin of lower level (note: S not 2S+1).
l_low : float
Angular momentum of lower level.
s_up : float
Spin of lower level (note: S not 2S+1).
l_up : float
Angular momentum of lower level.
return_j : bool
If True also return the lower and upper J.
norm : bool
If True set the smallest component to 1.
white : bool
If True set the largest component to 100.

Returns

split : float, list
Relative intensities of the lines.

(split, j_low, jup) : tuple of lists If return_j == True.

Notes

This function calculates the relative intensities of lines with a multiplet according to the rules outlined in Condon and Shortley, Chap 9, Sec. 2, eqn. 2a and 2b.

The White normalization is given in White and Eliason, Phys. Rev. A, 44, p753 (1933).

If the angular momentum of the first/lower term (l_up) is larger than second swap them.

Version History

  • Martin O'Mullane, 31-01-2023
    • First version

Example

Show the relative intensities of the 6 line in the 3F - 3D

>>> import adas as adas
>>> adas.split_multiplet(1, 2, 1, 3)
[63.0, 11.666666666666666, 0.3333333333333333, 93.33333333333333, 11.666666666666666, 135.0]
>>> split, jl, ju = adas.split_multiplet(1, 2, 1, 3, return_j=True, white=True)
>>> for s,j1, j2 in zip(split, jl, ju): print(j1, '-', j2, ':', s)
1 - 2 : 46.666666666666664
2 - 2 : 8.641975308641975
3 - 2 : 0.24691358024691354
2 - 3 : 69.1358024691358
3 - 3 : 8.641975308641975
3 - 4 : 100.0