rydiqule.atom_utils.D2_excited¶
- rydiqule.atom_utils.D2_excited(n: int | str, splitting: Literal[None, 'fs', 'hfs'] = None, expand: bool = False) A_QState | List[A_QState][source]¶
Retrieve
A_QStateof the excited state of the D2 line of an atom or principle quantum number.Optionally, include fine structure splitting or hyperfine splitting, which will include all
m_jor allfandm_fvalues respectively. By default, specifying splitting does not return a list of states, but rather the associated specification with"all"in the appropriate place. Theexpandkeyword argument can be used to modify this behavior, returning a list.- Parameters:
n (int or str) – Either the string flag of the atom or the principle quantum number n of an atom. If string, must begin with [‘H’, ‘Li’, ‘Na’, ‘K’, ‘Rb’, ‘Cs’].
splitting ({None, 'fs', 'hfs'}) – Type of splitting. Must be one of
None,"fs", or"hfs", corresponding to the inclusion of(n,l,j)only,m_j, or bothfandm_frespectively.expand (boolean, optional) – For states with splitting, whether to return them as a list of all states. If
False, return is a single state specification with"all"for the appropriate quantum numbers. IfTrue, a list of all individual states is returned.
- Raises:
RydiquleError – If
nis not a valid atom string or integer valueValueError – If
splittingis not one of {None, “fs”, “hfs”}.
- Returns:
A_QStatecorresponding to the D2 excited state of the provided atom with the provided splitting, or list ofA_QState`s if `expandisTrue.- Return type:
Examples
The simplest use is to return the nlj quantum numbers for a particular atom’s excited state of the D2 transition. Principle quantum number and string atom flags can be used interchangeably.
>>> atom = "Rb85" >>> print(rq.D2_excited(atom)) (5, 1, 1.5) >>> print(rq.D2_excited(5)) (5, 1, 1.5)
This function also can return states with splitting, either as a list of states or as a manifold specification.
>>> print(rq.D2_excited(atom, splitting="fs")) (5, 1, 1.5, m_j='all') >>> print(rq.D2_excited(5, splitting="fs", expand=True)) [(n=5, l=1, j=1.5, m_j=-1.5), (n=5, l=1, j=1.5, m_j=-0.5), (n=5, l=1, j=1.5, m_j=0.5), (n=5, l=1, j=1.5, m_j=1.5)] >>> print(rq.D2_excited(atom, splitting="hfs")) (5, 1, 1.5, f='all', m_f='all')