hyperfine.Atom1e

hyperfine.Atom1e(element=None, isotope=None)

Represents an atom object and contains a list of J levels.

Methods

Name Description
get_F_level_idx_map Maps each element of the mF_list to a F_level index.
get_clebsch_hf_factors Returns a list of Clebsch-Gordan coefficients for the hyperfine
get_clebsch_hf_factors_iso Returns a list of Clebsch-Gordan coefficients for the hyperfine
get_coupled_levels Return all mF-level index pairs between two sets of F levels.
get_decay_factors Returns a list of factors for the collapse operators for each
get_energies Returns a list of energies for each mF level in all J levels.
get_mF_list Unnests the mF levels into a single list of dicts.
get_num_mF_levels Returns the total number of mF levels in all J levels.
get_strength_factor Relative hyperfine transition strength factors.

get_F_level_idx_map

hyperfine.Atom1e.get_F_level_idx_map()

Maps each element of the mF_list to a F_level index.

get_clebsch_hf_factors

hyperfine.Atom1e.get_clebsch_hf_factors(F_level_idxs_a, F_level_idxs_b, q)

Returns a list of Clebsch-Gordan coefficients for the hyperfine transition dipole matrix elements for each coupled level pair.

Parameters

Name Type Description Default
F_level_idx_a int F level the transition is from (lower level) required
F_level_idx_b int F level the transition is to (upper level) required
q int The field polarisation. Choose from [-1, 0, 1]. required

Returns

Name Type Description
list factors, length of mF_list

get_clebsch_hf_factors_iso

hyperfine.Atom1e.get_clebsch_hf_factors_iso(F_level_idxs_a, F_level_idxs_b)

Returns a list of Clebsch-Gordan coefficients for the hyperfine transition dipole matrix elements for each coupled level pair. for an isotropic field.

Parameters

Name Type Description Default
F_level_idx_a int F level the transition is from (lower level) required
F_level_idx_b int F level the transition is to (upper level) required

Returns

Name Type Description
list factors, length of mF_list

Notes

  • An isotropic field is a field with equal components in all three possible polarizations.
  • Any given polarisation of the field only interacts with one of the three components of the dipole moment, so it is appropriate to average over the couplings (i.e. factor 1/3) rather than sum.

get_coupled_levels

hyperfine.Atom1e.get_coupled_levels(F_level_idxs_a, F_level_idxs_b)

Return all mF-level index pairs between two sets of F levels.

Parameters

Name Type Description Default
F_level_idxs_a Indices into self.F_levels for the first group. required
F_level_idxs_b Indices into self.F_levels for the second group. required

Returns

Name Type Description
List of [i, j] pairs where i is an mF index from group a and
j is an mF index from group b.

Note

Selection rules (e.g. forbidding J=J’ transitions) are not enforced here. Callers are responsible for passing physically valid level index sets.

get_decay_factors

hyperfine.Atom1e.get_decay_factors(F_level_idxs_a, F_level_idxs_b)

Returns a list of factors for the collapse operators for each hyperfine coupled level pair.

Parameters

Name Type Description Default
F_level_idx_a int F level the transition is from (lower level) required
F_level_idx_b int F level the transition is to(upper level) required

Notes

This is equivalent to the clebsch_hf_factors for all polarisations as decay photons are of all polarisations. Note that for any coupled levels pair there will be only one n on-zero factor to sum.

Returns: (list): factors, length of mF_list

get_energies

hyperfine.Atom1e.get_energies()

Returns a list of energies for each mF level in all J levels.

get_mF_list

hyperfine.Atom1e.get_mF_list()

Unnests the mF levels into a single list of dicts.

get_num_mF_levels

hyperfine.Atom1e.get_num_mF_levels()

Returns the total number of mF levels in all J levels.

get_strength_factor

hyperfine.Atom1e.get_strength_factor(
    F_level_idx_lower,
    F_level_idx_upper,
    mF_level_lower_idx=0,
)

Relative hyperfine transition strength factors. Equal for each ground state (mF_level_lower_idx), so this parameter never needs to be set, just used for testing that claim.

Notes

  • Sum of the matrix elements from a single ground-state sublevel to the levels in a particular F’ energy level.
  • The sum S_{FF’} is independent of the ground state sublevel chosen.
  • The sum of S_{FF’} over upper F levels should be 1.

References

Refs