{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example: Rabi oscillations with a Gaussian beam and thermal atoms\n", "\n", "We simulate the decay of Rabi oscillation in the presence of thermal motion. Note that at the moment this only includes the motion within the $x$-$y$ plane, as well as in the $z$ direction. The parameters that we use here are roughly the ones that are achieved with the atom interferometer [GAIN](https://www.physics.hu-berlin.de/en/qom/research/ai).\n", "\n", "The simulation will require the following objects and parameters\n", "* `IntensityProfile`: contains information about the Gaussian beams\n", "* `Wavevectors`: the wavevectors are important for the incorporation of the Doppler shift along $z$\n", "* `AtomicEnsemble`: an ensemble of atoms which different trajectors or phase space vectors\n", "* `Detector`: determines which atoms contribute to the signal\n", "* `t`: time of flight before the lasers are turned on" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import aisim as ais" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Detector\n", "\n", "Setting up da detector with a fixed detection radius and time." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "t_det = 778e-3 # time of the detection in s\n", "r_det = 5e-3 # size of detected region in x-y plane\n", "\n", "det = ais.SphericalDetector(t_det, r_det=r_det) # set detection region" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Atomic cloud and state vectors\n", "\n", "Here we use a Monte-Carlo method by randomly drawing positions and velocities from a distribution. We initialize all atoms in the excited state, represented by a state vector `[0, 1]`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "pos_params = {\n", " 'mean_x': 0.0,\n", " 'std_x' : 3.0e-3, # cloud radius in m\n", " 'mean_y': 0.0,\n", " 'std_y' : 3.0e-3, # cloud radius in m\n", " 'mean_z': 0.0,\n", " 'std_z' : 0.0, # ignore z dimension, its not relevant here\n", "}\n", "vel_params = {\n", " 'mean_vx': 0.0,\n", " 'std_vx' : ais.convert.vel_from_temp(3.0e-6), # cloud velocity spread in m/s at tempearture of 3 uK\n", " 'mean_vy': 0.0,\n", " 'std_vy' : ais.convert.vel_from_temp(3.0e-6), # cloud velocity spread in m/s at tempearture of 3 uK\n", " 'mean_vz': 0.0,\n", " 'std_vz' : ais.convert.vel_from_temp(160e-9), # after velocity selection, velocity in z direction is 160 nK\n", "}\n", "\n", "atoms = ais.create_random_ensemble_from_gaussian_distribution(\n", " pos_params,\n", " vel_params, int(1e4),\n", " state_kets=[0, 1],\n", " seed=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We visualize the spread of the atomic ensemble and its convolution with the detector." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'y / mm')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x0 = atoms.initial_position[:, 0]\n", "y0 = atoms.initial_position[:, 1]\n", "\n", "x_det = atoms.calc_position(t_det)[:, 0]\n", "y_det = atoms.calc_position(t_det)[:, 1]\n", "\n", "fig, ax = plt.subplots()\n", "ax.scatter(1e3*x_det, 1e3*y_det, label='cloud at detection')\n", "ax.scatter(1e3*x0, 1e3*y0, label='initial cloud')\n", "angle = np.linspace(0, 2*np.pi, 100)\n", "ax.plot(1e3*r_det*np.cos(angle), 1e3*r_det*np.sin(angle), c='C2', label='detection region')\n", "\n", "ax.set_aspect('equal', 'box')\n", "\n", "ax.set_xlabel('x / mm')\n", "ax.set_ylabel('y / mm')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "452 of the initial 10000 atoms are detected. That's 4.52%\n" ] } ], "source": [ "n_init = len(atoms)\n", "atoms = det.detected_atoms(atoms)\n", "\n", "print(\"{} of the initial {} atoms are detected. That's {}%\".format(len(atoms), n_init, len(atoms)/n_init*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Intensity profile\n", "\n", "We set up an intensity profile of the interferometry laser, defined by the center Rabi frequency" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "center_rabi_freq = 2*np.pi*12.5e3 # center Rabi frequency in Hz\n", "r_beam = 29.5e-3/2 # 1/e^2 beam radius in m\n", "intensity_profile = ais.IntensityProfile(r_beam, center_rabi_freq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Wave vectors\n", "\n", "We set up the two wavevectors used to drive the Raman transitions:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "wave_vectors = ais.Wavevectors( k1 = 2*np.pi/780e-9, k2 = -2*np.pi/780e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulation\n", "\n", "First, we freely propagate the atomic ensemble to the time when we start the Rabi oscillations by applying a light pulse. We save the resulting `AtomicEnsemble` in two objects since we want to perform two different simulations with this ensemble." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "atoms1 = ais.create_random_ensemble_from_gaussian_distribution(\n", " pos_params,\n", " vel_params, int(1e4),\n", " state_kets=[0, 1])\n", "atoms2 = ais.create_random_ensemble_from_gaussian_distribution(\n", " pos_params,\n", " vel_params, int(1e4),\n", " state_kets=[0, 1])\n", "\n", "atoms1 = det.detected_atoms(atoms1)\n", "atoms2 = det.detected_atoms(atoms2)\n", "\n", "free_prop = ais.FreePropagator(129e-3)\n", "\n", "atoms1 = free_prop.propagate(atoms1)\n", "atoms2 = free_prop.propagate(atoms2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The current position of the atoms is stored in `atoms.positions` and the `time` attribute has changed accordingly:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now simulate the effect of the pulse length in two different ways. First, we neglect the motion of the atoms in the $z$ direction, then we incorporate the Doppler effect caused by the finite temperature in $z$. We first set up two different propagators for this:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "prop1 = ais.TwoLevelTransitionPropagator(time_delta=1e-6, intensity_profile=intensity_profile)\n", "prop2 = ais.TwoLevelTransitionPropagator(time_delta=1e-6, intensity_profile=intensity_profile, wave_vectors=wave_vectors)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [], "source": [ "state_occupation1 = []\n", "state_occupation2 = []\n", "taus = np.arange(200) * 1e-6\n", "for tau in taus:\n", " # acting on the states in `atom` at each run\n", " atoms1 = prop1.propagate(atoms1)\n", " atoms2 = prop2.propagate(atoms2)\n", " # mean occupation of the excited state\n", " state_occupation1.append(np.mean(atoms1.state_occupation(state=1)))\n", " state_occupation2.append(np.mean(atoms2.state_occupation(state=1)))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(1e6*taus, state_occupation1, label='w/o Doppler shift')\n", "ax.plot(1e6*taus, state_occupation2, label='with Doppler shift')\n", "ax.set_xlabel('Pulse duration / μs')\n", "ax.set_ylabel('Occupation of excited state');\n", "ax.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }