Many Rydberg states emit fluorescence in the visible, making them ideal for visualising external fields for example THz fields [1,2,3]. In order to inform the choice of atom or atomic transition it is helpful to be able to predict the spectrum of fluorescence emitted by a specific Rydberg state. The functions in the Spectra_Tools module enable this to be done in two different ways: either through a Monte-Carlo simulation of decay from a target Rydberg state, or by solving the rate equations to find the steady-state population and using this to build the emission spectrum.
All of these codes are built on ARC (Alkali Rydberg Calculator), and I cannot be held responsible for any errors therein. The functions are described briefly below, more detailed explanations, benchmarking and examples of their use can be found in the accompanying Jupyter Notebooks.
Both methods rely on some pre-calculated look-up tables (LUTs) of transition rates and transition wavelengths between all possible pairs of atomic states in a given range (maximum n_max to be a little higher than the principal quantum number of the state you are evaluating the spectrum for. So if you are driving to the n_max = 16 would give you a reasonable estimate. However, since this table only needs to be evaluated once, it is worth going to higher
The transition rates look-up table is a list of all atomic states within the specified limits and the rate of transitions between them (in getTransitionRate function. Since the method in ARC will error if the transition is not dipole allowed (instead of just returning zero) the function first checks this is satisfied. If the transition is not dipole allowed, the returned rate will be exactly zero.
The order in which the rates are given corresponds to the order that the states are in. For example for 3 states
where
The transition wavelengths look-up table is a list of all atomic states within the specified limits and the wavelength of transitions between them (in nm) using the ARC getTransitionWavelength function. Since the method in ARC will error if the transition is not dipole allowed (instead of just returning zero) the function first checks this is satisfied. If the transition is not dipole allowed, the returned wavelength will be exactly zero. Since ARC returns negative wavelength values for transitions from a higher energy state to a lower energy one, this function returns the absolute value.
Again, the order in which the wavelengths are given corresponds to the order that the states are in. For example for 3 states
where
Once the look-up-tables have been created, the spectrum can be simulated using either the Monte-Carlo (MC) or rate equation (RE) approach. This is done via the simulate_spectrum_mc or simulate_spectrum_re functions respectively. The different methods require slightly different input parameters: the Monte-Carlo method requires a single input state in the form
These methods do not include any collisional effects that occur within the vapour which we do see in experiments, for example we see evidence of population transfer between fine-structure states. The simulations can be made to more closely match the experimental results by 'manually' adding in decay from other fine-structure states, as illustrated in Fig. 4 of [2]. For example if we were wanting to simulate the spectrum for the
[1] Lucy A. Downes et al., Full-Field Terahertz Imaging at Kilohertz Frame Rates Using Atomic Vapor Phys. Rev. X 10 011027 (2020) https://journals.aps.org/prx/abstract/10.1103/PhysRevX.10.011027
[2] Lucy A. Downes, Lara Torralbo-Campo and Kevin J. Weatherill, A practical guide to terahertz imaging using thermal atomic vapour New J. Phys. 25 035002 (2023) https://iopscience.iop.org/article/10.1088/1367-2630/acb80c/meta
[3] Lucy A. Downes, A High-speed THz Imaging System based on THz-to-optical Conversion in Atomic Vapour PhD Thesis, Durham University (2020) https://etheses.dur.ac.uk/13797/