Nanotrappy: An open-source versatile package for cold-atom trapping close to nanostructures

Trapping cold neutral atoms in close proximity to nanostructures has raised a large interest in recent years, pushing the frontiers of cavity-QED and boosting the emergence of the waveguide-QED field of research. The design of efficient dipole trapping schemes in evanescent fields is a crucial requirement and a difficult task. Here we present an open-source Python package for calculating optical trapping potentials for neutral atoms, especially in the vicinity of nanostructures. Given field distributions and for a variety of trap configurations, nanotrappy computes the three-dimensional trapping potentials as well as the trap properties, ranging from trap positions to trap frequencies and state-dependent light shifts. We demonstrate the versatility for various seminal structures in the field, e.g., optical nanofiber, alligator slow-mode photonic-crystal waveguide and microtoroid. This versatile package facilitates the systematic design of structures and provides a full characterization of trapping potentials with applications to coherent manipulation of atoms and quantum information science.


I. INTRODUCTION
Integrating cold atoms and nanophotonic devices enables to create original light-matter interfaces. This effort has paved the way for cavity-QED platforms with unprecedented atom-field coupling via nanoscale cavities [1,2] and for new opportunities by coupling atoms and guided light. Waveguide-QED platforms have emerged with promises not only for developing quantum information network capabilities but also as a new paradigm for creating exotic quantum phases of light and matter [3]. In this context, a number of capabilities were demonstrated using cold atoms coupled to the evanescent field of optical nanofibers [4][5][6][7][8][9][10][11][12][13][14][15][16][17][18]. More recently, periodic structuring into bandgap-engineered photoniccrystal waveguide has raised a large interest to strongly enhance atom-photon coupling in single pass or provide band-gap-mediated atom-atom interaction [3,[19][20][21].
The key ingredient for achieving strong atom-photon coupling, is the ability to trap atoms using the evanescent field of the guided modes. This is a challenging task. In a nanofiber-based platform, thanks to a featureless dispersion relation, a two-color evanescent field trap [22][23][24] is commonly used. For more complex structures, e.g., microtoroid or photonic-crystal waveguide, atom trapping via guided modes has remained a roadblock and side illumination was mostly used heretofore [1,19,25,26]. A specific feature of such optical microtraps is the strong gradients of electric fields and polarization, which can introduce a spatially varying shift to the atomic energy levels, leading to inhomogeneous shift and fictitious magnetic fields [27]. Hence, finding an adequate trapping scheme requires an extensive optimization process for each structure. Moreover, considering real mul-tilevel atoms with hyperfine and Zeeman sublevels adds to the complexity. It will thus be convenient to have a versatile tool to optimize and characterize optical dipole traps, in particular near nanophotonic devices.
In this paper we present an open-source Python package, nanotrappy [28], for computing state-dependent optical trapping potential for multilevel alkali atoms. It leverages upon the community maintained database accessible through the Alkali Rydberg Calculator [29] to provide up-to-date computational results. The package provides the user with a programmatic API as well as customized graphical tools for trap vizualization and easy parameter adjustment. These are particularly useful in the context of trap design and in-situ optimization. Even though we put an emphasis on trapping in evanescent fields close to nanophotonic structures, it is a platform independent solution that adresses design and optimization problems faced by the much broader community trapping atoms with optical dipole potentials.
The workflow of nanotrappy is illustrated in Fig. 1. The package has four input classes, namely (i) the alkali atom for which the trap is to be simulated, (ii) the details of the trapping light, e.g., wavelengths, powers or propagation directions, (iii) the material of the structure for computing surface force, and (iv) the field distribution of the light around the nanophotonic structure. The latter one can be directly computed in our package for some simple structures like nanofibers, or imported, e.g. from FDTD calculations. With the above inputs, the package outputs the trapping potential for all the hyperfine Zeeman states of the ground and excited levels. It evaluates the relevant parameters of the trap such as its position, depth and frequencies along all three axes. Once the trap has been computed for a given geometry and a set of parameters, the latter can be varied in real time using the interactive GUI to optimize the trap properties.
The paper is organized as follows. In Section II we first provide a brief summary of the theoretical frame-FIG. 1. The nanotrappy package for calculating optical trap potentials. The Python package takes multiple physical parameters as inputs (atom, trap configuration, material) as well as precomputed electric field maps, and returns the trap and its properties. A user-friendly graphical interface also enables to tune the powers of the trapping beams, making the computation easy to integrate in a structure optimization workflow. Some examples of nanostructures for which optical trapping of atoms can be simulated in nanotrappy: (a) Optical nanofiber [30], (b) Alligator photonic-crystal waveguide [20], (c) Microtoroid [31], (d) Nanoscale optical cavity [1].
work used for calculating the optical potentials for multilevel alkali atoms. Scalar, vector and tensor shifts are taken into account. We then describe the package architecture and operation in Section III, detailing the possible inputs and outputs. The versatility of the package is demonstrated in Section IV for three examples of nanophotonic structures, namely, optical nanofiber, alligator slow-mode waveguide and microtoroid, that have been considered in recent years for trapping atoms in evanescent fields. Section V concludes the paper.

II. THEORETICAL FRAMEWORK
Optically trapping atoms relies on the conservative potential created by the intensity distribution of detuned laser beams [32], a technique now widely used for trapping cold atoms in free space. For optically trapping atoms at sub-wavelength distance from a dielectric surface, two specificities arise. First, the evanescent field leaking out of the dielectric material should be able to provide a stable trapping potential close to the surfaces [22][23][24]33]. Additionally the Casimir-Polder interaction becomes sizeable at such distances and has to be addressed [22,34].
In this section, we will briefly introduce the atom-light interaction concepts at the heart of the dipole trapping potential, with an emphasis on the influence of the Zeeman hyperfine levels. We recall the origin of scalar, vector and tensor shifts on the hyperfine manifold and their contributions to the polarizability tensor. Then, we discuss the Casimir-Polder interaction at sub-wavelength distance from the surface. Finally, all these contributions are included to compute the total trapping potential.
Note that despite the emphasis on trapping in the evanescent field of modes guided by a dielectric waveguide, the following presentation remains general and valid for any electric field distribution.

A. Atom-light interaction: light shifts
We will consider here the case of a multilevel alkali atom interacting with a monochromatic optical field. To simplify the notation and describe easily the internal state of the atoms, we will adopt convenient notations, following the work of [35,36]. We denote |s = |N, J, F, m F the state of interest with bare energy E s and |e i = |N i , J i , F i , m F,i all the states to which it is dipole-coupled with bare energies E ei . J stands for the total electronic angular momenta, F for the total atomic angular momenta and m F for the magnetic quantum number. Here we choose z as the quantization axis.
The Hamiltonian of such atom-field interaction is the textbook semi-classical electric-dipole interaction [37]: All the trapping fields are assumed to be classical fields, which is well justified experimentally considering the powers that are typically used.
In order to study the frequency response of an electric dipole interacting with an optical electric field, we define a polarizability tensor α µν such that the mean induced dipole moment vector becomes: where E (+/−) and d (+/−) denotes the positive/negative frequency terms of the electric field and dipole operator respectively, and µ, ν are the q indices of the spherical tensor components {−1, 0, 1}.
Using time-dependent perturbation theory, one can derive the Kramers-Heisenberg polarizability tensor for a given state |s and a given angular frequency ω for the electric field [38]: Here d q represents the tensor component of the dipole operator d and ω eis = (E ei − E s )/h.
Once this polarizability tensor has been defined, we can then express the Stark shift induced by the electric field E as: In order to study the effects of each component of the electric field, a usual method is to split the polarizability tensor into its irreducible parts, namely the scalar, vector and tensor polarizabilities. Such decomposition is detailed in [35]. For a rank-2 tensor α µν , the decomposition reads: where: After adding all three contributions, we obtain: .
(2.6) α (0) , α (1) and α (2) stand for the scalar, vector and tensor polarizabilities respectively. The typical numbers available for computations are the reduced dipole element between states of different electronic angular momentum J||d||J , with the useful relation: where {:::} is the Wigner 6-j symbol.
We now focus on the effects of the different contributions, as shown in Fig. 2. We can see in Fig. 2(b) that the scalar shift amounts to an offset of the hyperfine manifold which depends only on the wavelength and the intensity of the light. This offset is state-dependent (between ground and excited state manifolds) and thus leads to a shift of the resonant transition. From an experimental point of view, this shift can in some cases be suppressed by making use of the so-called magic wavelengths [39,40], which are available for some alkali atoms like cesium. When the trapping light is at a magic wavelength, the shift becomes state independent and thus the resonant transition frequency remains unchanged.
The form of the second term of Eq. (2.5) highlights the different dependencies of the vector part. The main parameter is the ellipticity of the incident light, and the effect is a state-dependent shift proportional to the magnetic quantum number, which is shown in Fig. 2(c). This can be seen as the action of a fictitious magnetic field given by [27,41]: This shift can be canceled by using linearly polarized light, for which the cross product vanishes and thus the fictitious magnetic field as well. In practice around nanophotonic waveguides, or in the tight-focusing regime, this is non trivial because of the strong longitudinal component of the electric field that typically introduces an ellipticity [42]. In such settings counterpropagating beams have been used [14,43,44] to cancel out this longitudinal component. The tensor part indicated by the third term is the most difficult to cancel in practice. We will not detail the mathematical description of this contribution and only make practical statements. Most noticeably, it vanishes for J = 0 and J = 1/2 states due to the dependence on J of the tensor polarizability. However, it is not the case for excited J = 3/2 states, which will then experience a significant tensor shift. Regarding the electric field dependence, for pure π or σ ± polarizations, the tensor shift part of the Hamiltonian is diagonal in the unperturbed hyperfine basis. It leaves the eigenvectors unchanged while adding a m F -dependent shift proportional to m 2 F , as seen in Fig. 2(d). For arbitrary polarizations however, the tensor shift part of the Hamiltonian is nondiagonal and thus introduces coupling terms between hyperfine states. This situation is more complex and best solved numerically.

B. Casimir-Polder interaction
In order to have a full description of the potential seen by the atoms close to a surface, we need to add the van der Waals interaction. These so-called Casimir-Polder (CP) interactions [45,46] are usually complex to calculate as they depend on the material, the atoms and the geometry of the structure. We restrict ourselves to the first order of the potential for an infinite plane U CP = C 3 /d 3 [47], where d is the distance to the surface. This approximation puts an upper bound on the Casimir Polder effect. It is a good approximation at very low distances, and even though the curvature of the surface can lead to a 40% error at the position of the trap minimum (in the case of a nanofiber for example), the effect remains negligible compared to the light induced potentials [22]. Thus, we do not incorporate this correction in our calculation of the trapping potential.
The formula used to compute the C 3 coefficient for a given atom and material is taken from Ref. [48]: where α(iξ) is the polarizability of the trapped atom extended over the imaginary axis, and (iξ) is the dielectric permitivity of the material, also computed at imaginary frequencies.

C. Computation of the trap
Building on the formalisms needed to describe both atom-light and atom-surface interactions, we can combine them to compute the full trapping potential created by arbitrary optical fields close to a surface. In order to compute this trapping potential as well as the level mixing induced by the interactions, it is convenient to define an effective Hamiltonian for the system, which can be eventually diagonalized. For the Stark shift defined in Eq. (2.5) this effective Hamiltonian is given by: .
(2.9) Writing the CP Hamiltonian as H CP = U CP1 , and using perturbation theory, the total shift for a level |N, J, F, m F is then given by: It is important to note that in general, the Hamiltonian is not diagonal in the |N, J, F, m F basis because of the vector and tensor terms. Therefore it is necessary to diagonalize it in order to obtain both the correct eigenvalues and eigenvectors. While for low power, F is still a good quantum number, it is not the case anymore for m F and the interaction gives rise to level mixing inside the magnetic Zeeman manifold.
After introducing the theoretical framework enabling to calculate trapping potentials and state dependent light shifts, we will now present its implementation in nanotrappy.

III. PACKAGE OVERVIEW
nanotrappy is a Python package that computes the trapping potentials induced by laser beams, with an emphasis on modes guided inside nanostructures. It has been tested on Python 3.7+ distributions. nanotrappy is programmed for being efficiently included in the optimization workflow of nanophotonic structure design. We take advantage of the object-oriented programming style of Python in order to provide the user with a simple and accessible API. This allows for efficient tackling of the computation of such traps, taking multi-levels into account and using up-to-date and synchronized data referenced through ARC.
Note that the package is not a field solver. Instead, based on a pre-computed electric field (done using any third-party solver), nanotrappy interfaces this electric field distribution with an atomic system given physical parameters. A range of free and licensed field solvers already exist and specific methods maybe more suited to each use case. Thus the choice is left to the user and the package is made to be agnostic to the computational method of the optical fields. Performance-wise, even if the limiting factor of such optimization workflows is often the actual computation of the fields, an effort has been made to make this package efficient, and to provide a parallelizable option that allows to split the computation on multiple CPU cores if needed. In the following, we introduce the structure of the code through the base classes provided.

A. Atomic system
The first class defined is the atomicsystem class. It is based on the Alkali-Rydberg-Calculator (ARC) package [29], which allows to select any alkali atom in the database, as well as up-to-date spectroscopic data such as transition frequencies or dipole matrix elements. Building an atomicsystem amounts to selecting such an atom, as well as a state defined by the N, L, J, F quantum numbers.
As nanotrappy is closely linked with current experiments, it incorporates features that have proven to be crucial for the development of such systems. Among those, the issues linked with inhomogeneous broadening of an optical transition due to the Zeeman dependent nature of the light shifts call for calculations of such light shifts down to the hyperfine structure level. The polarizability of any given hyperfine state is thus computed by nanotrappy, as well as C 3 coefficient of the Casimir-Polder atom-surface interaction.

B. Beams and Trap
Specific classes are used to describe the trapping light. For each trapping beam, a Beam instance is created, based on a wavelength, a power and a folder containing formatted pre-computed electric fields [49]. The package will then check if the electric fields are available at that wavelength in the specified folder and select the relevant data. Counterprogating beams geometries can also be created with the BeamPair class. Once the beams are created, they are bundled into the TrapBeam class together with a local propagation axis.

C. Materials and Surfaces
To handle CP interactions, a Surface class is available, as well as two main subclasses Plane and Cylinder. This allows to handle most practical cases and gives a first order approximation of these interactions, which is very often enough to get an accurate result. The CP potentials are computed for every atomic level separately.
The Material class comes with pre-implemented subclasses of materials (air, SiO 2 , SiN, GaInP...) and can be easily extended to add other materials.

D. Running the simulation
Once all these physical parameters have been defined in the respective classes, they are bundled together in a Simulation class that realizes the actual computation. Along the way, the parameters are saved as JSON files and the results as .npy numeric tables. Conveniently, a check is performed before any simulation whether these particular parameters have already been used, in which case the previously computed data is used, thereby avoiding unnecessary computation.

E. Interactivity and optimization
The Vizualizer class is a core class for displaying the results, with additional features for easy optimization of the trap. Once the simulation has run, the vizualizer will display the results along with interactive sliders that allow to control the power of each individual beam, as seen on Fig. 3(a). As mentioned in Section III A, it is possible to display the trapping potential for all Zeeman sublevels inside a given hyperfine state. An interactive tool allows to select a chosen Zeeman state and display additional information such as the decomposition of this new eigenstate in the basis of the unperturbed ones. If a stable trap exists, the trapping position and frequencies are also displayed. This enables to quickly and conveniently scan the powers of the beams in order to check whether the desired value for these parameters are accessible or if the structure design needs to be improved. Moreover, automatic optimization is available: the powers of the beams can be scanned to optimize a chosen parameter (either the trap depth, trap frequency or the trap position) given electric field distributions, as displayed in Fig. 4 for a nanofiber configuration as described below in Section IV A.
A standalone GUI application is also made available with the same functionalities, and shown in Fig. 3(b).

IV. PACKAGE APPLICATION
In this section we show the versatility of nanotrappy by computing the trapping potentials for atoms around three well known nanotructures.
We benchmark nanotrappy's results against published literature to demonstrate the accuracy of the package.

A. Nanofibers and uniform waveguides
Optical nanofibers have been largely used for atomnanophotonics interfaces. Relatively simple fabrication technique of subwavelength diameter, low-loss silica nanofiber [50] and easy integrability with cold atoms makes it a popular choice. Early works involved an optical nanofiber embedded in an ensemble of atoms in a magneto-optical trap (MOT) [6,51]. The first proposal on trapping atoms using the evanescent field of an optical nanofiber was by balancing the attractive gradient force of the evanescent component of a red-detuned field with the centrifugal force when the fiber diameter is about half the wavelength of the trapping light [52]. Later it was proposed that the attractive force can be counter-balanced by the evanescent component of a blue-detuned field propagating in the same nanofiber, giving birth to the seminal two-color evanescent field trap [22,23]. A state insensitive, compensated trap was proposed to suppress the inhomogeneous light shifts and demonstrated for cesium atoms [24,43,44].
In nanotrappy, both electric and magnetic fields of the guided modes of a nanofiber can be analytically computed thanks to the fiber eigenvalue equation [53], given a radius and a refractive index for the dielectric. This calculation is implemented in nanotrappy, so that for this simple structure the package can be used for computing both the electric field distributions and the trapping potentials.
We use nanotrappy to compute the trapping potentials for an uncompensated trap and a compensated one, and compare them to published literature [23,43]. The results are shown in Fig. 5. In both cases the goal is to compute the characteristics of the traps for ground and excited state of cesium atoms around a SiO 2 nanofiber with 250 nm radius. The differences between the schemes come from the wavelengths, powers, polarization and number of beams used. Figure 5(a) shows the configuration of the uncompensated trap. The parameters are chosen as per [23]. A pair of red-detuned, counterpropagating beams at 1064 nm and a single, blue-detuned beam at 780 nm are used to create the trapping potential. The red-and bluedetuned beams have orthogonal linear polarization. The total powers used are P red = 2 × 2.2 mW and P blue = 25 mW respectively. The obtained results are shown in Fig. 5(b-d). A 1D array of evenly spaced traps along the nanofiber with depth 0.4 mK is achieved at around 195 nm from the surface. The corresponding trap frequencies are 355 kHz, 71 kHz, 355 kHz along r, θ and z respectively. We note that, in such a trap only the ground state cesium atoms are trapped, the excited 6P 3/2 states experience a repulsive potential as shown in 5(d). The results are in excellent agreement with [23,54].
For the compensated trap, as shown in Fig. 5(e), the scheme and parameters are chosen as per [43]. In this configuration, a second, counterpropagating blue beam is used in order to reduce the vector shift as much as possible. The powers are P blue = 2 × 16 mW and P red = 2 × 0.95mW. The results are shown in Fig. 5(eh). Stable traps are obtained for both the ground and excited levels. The computation yields a trap at 190 nm from the surface with depth ∼ 0.5 mK for the ground state and 0.3 to 0.6 mK for the excited state. The results are also in excellent agreement with [43,55].
We now use this well-known example of a trap around a nanofiber to illustrate step-by-step how to compute dipole traps with nanotrappy. This sample code, only a few lines long, can be easily adapted to any structure and alkali atom of interest.
1. First, an atomic system has to be specified. This part makes use of the ARC package [29], hence all alkali atoms can be used. The other parameters of the atomicsystem define the hyperfine level of the ground state considered for trapping, here ground state 6S 1/2 cesium with F = 4. 2. The trapping scheme then has to be defined: number of beams, wavelengths, counterpropagating or not... The wavelength is of utmost importance as the package will look for the spatial mode corresponding to this wavelength in the data folder.
# Adding a surface for CP interactions with parameters from Ref. [43]. (g) Azimuthal trapping is less efficient in this configuration but (h) a stable trap for excited atoms, with low inhomogeneous broadening is obtained. surface = nt . Cylinder ( radius = 250 e -9 , →axis = AxisZ ( coordinates = →(0 ,0) ) ) 4. The simulation object that will store the results of the calculations is created, taking as arguments all the previous objects, plus the data folder and the structure material. We now consider a second example involving trapping atoms around a slow-mode photonic-crystal waveguide. Such a platform with atoms trapped by evanescent modes is still to be experimentally demonstrated, but several theoretical proposals for trapping have recently emerged. A one-color dipole trap for trapping Cesium atoms was first proposed [56,57], using only a single blue-detuned laser from the D2 transition. But for all photonic crystals considered, this scheme leads to small trap depths of a few tens of µK.
To overcome this difficulty without increasing the powers of the trapping beams, generally limited by the power handling of such devices, a two-color dipole trap was proposed for the Caltech alligator photonic crystal waveguide (APCW) [21], following the ideas implemented with nanofibers. We compute the trapping potential for this APCW with nanotrappy and compare them to [58]. The results are presented in Fig. 6.   Fig. 6(b) its band structure. The parameters of the device are the same as in [21]: the period is 370 nm, the gap is 240 nm wide, the edge modulation is 140 nm and the refractive index is 2 (for SiN). With these numbers the air and dielectric bands are aligned to the D2 and D1 lines of cesium, respectively.
Figure 6(c) shows a trapping potential in two dimensions. The parameters for the trap are chosen as in [58]. A beam red-detuned from the D 1 line of Cs at 895 nm (δ = 2π × 1700 GHz) and a beam blue-detuned from the D 2 line at 848.1 nm (δ = 2π × −130 GHz) are used to create the trapping potential. The total powers are P blue = 230 µW and P red = 3 µW.
As shown in Fig. 6(d-e), a stable trap in the x and y directions is obtained. There is also trapping in the z direction, although with less strength. The trapping sites are positioned in the center of the gap, with a trap depth of 3 mK. The trapping frequencies are ω y = 2π×1.1 MHz, ω x = 2π × 3 MHz and ω z = 2π × 570 kHz. Confinement on the propagation direction is therefore very strong. The values computed with nanotrappy are in very good agreement with [58]. The slight differences come mostly from numerics in the electric field simulations.

C. Microtoroid
nanotrappy is a versatile package as it can also be used for structures that are not waveguides. We demonstrate this here by studying the trapping of atoms near a microtoroid resonator.
One of the earliest proposal of trapping atoms with the evanescent field of a microstructure was to use the whispering gallery mode (WGM) of a microsphere [60]. The high Q factor and small mode volume of such resonators [61] can yield single-atom strong coupling on average [62], even with hot atomic vapors. Later, a toroidal microcavity was proposed as ultrahigh-Q microresonator for cavity QED [63]. It shows an even smaller mode volume and increased tunability arising from the added degree of freedom associated with the principal and minor diameters of the microtoroid. Experimentally, strong interaction with a WGM of a microtoroid was demonstrated with free-falling cesium atoms [64,65]. Following these first demonstrations, schemes for trapping Cesium atoms in the evanescent field of such microresonators were proposed [31,66,67].
Following Refs. [66,67] we compute with nanotrappy the trapping potential for cesium atoms near a SiO 2 mi- crotoroid with a 12 µm outer major radius R ext , and a 1.5 µm minor radius r. Figure 7(a) shows this structure and the transverse shape of the red-detuned mode used for trapping. The blue-detuned one is not displayed as it is composed of a single lobe in this plane. Modes of the electric field in a microtoroid can be described by their azimuthal number m, corresponding to the number of zeros of the field in one turn, and their number p, counting the number of lobes in the transverse plane. We choose m = 119 and p = 0 for the blue mode and m = 106 and p = 1 for the red-detuned beam. The latter has a faster decay in the vertical direction than the blue-detuned one, preventing the atoms from approaching the surface out of the symmetry plane [31,68]. Figure 7(b) shows the simulation of a two-color dipole trap in a section of the microtoroid with beams red-and blue-detuned from the cesium D 2 line at 852 nm. Lasers with powers ∼ 50 mW give a trap depth of about 1.5 mK. Using only one beam of each color produces a strong vector shift at the position of the atoms, manifested by a inhomogeneous broadening of around 0.2 mK (4 MHz) at the trap minimum. Adding a counterpropagating red beam reduces this effect by a factor 4, as shown in Figs. 7(c) and (d). As for the previous examples, the numbers are in very good agreement with the literature. This validates the accuracy of the package and makes it an efficient tool to study optical trapping near nanostructures.

V. CONCLUSION
We have developed a package for simulating optical dipole trap for alkali atoms with an emphasis on trapping atoms close to surfaces. The package can efficiently and accurately calculate 3D trapping potentials, incorporating the scalar, vector and tensor light shifts, for all the Zeeman sublevels of the specified states. It also provides the relevant trap parameters, for example the position of the trap minimum, trap depth and the trap frequencies in all three directions. We provided three example of atom trapping near nanophotonic structures and demonstrated thereby the accuracy of the calculation by comparing our results with published literature.
The scope of application of the nanotrappy package is broad as it can be used to simulate optical dipole traps for any given intensity distribution of the trapping field. This makes the package appealing to a larger atomic physics community. In addition, the capability of calculating the shifts of the Zeeman levels in a given light field, can be used for estimating dephasing and fidelity of a quantum operation and is useful to the atom-based quantum information community.

ACKNOWLEDGMENTS
The authors acknowledge fruitful discussions with Malik Kemiche and Nikos Fayard. This work was supported by the French National Research Agency NanoStrong Project (ANR-18-CE47-0008), and the RégionÎlede-France (DIM SIRTEQ). This project has also received funding from the European Union's Horizon 2020 research and innovation programme under Grant Agreement No. 899275 (DAALI project). A.U. was supported by the European Union (Marie Curie Fellowship Sin-glePass 101030421).