{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Excitation of TLS for different temporal shapes\n", "\n", "This scipt calculates the upper state population dynamics of a two-level-system (TLS) when excited by a single photon or a coherent pulse (n_avg=1). The parameters which can be varied are the temporal shape of the photon and its bandwidth. (change in Cell 3 !)\n", "\n", "The following formalism is according to Wang et al., PRA 83, 2011.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np \n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "from scipy.constants import c, h, hbar, epsilon_0\n", "from scipy.integrate import ode\n", "from scipy.special import kn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## physical constants and Rb values" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "run_control": { "marked": true } }, "outputs": [], "source": [ "h_bar = hbar\n", "epsilon0 = epsilon_0 #---Permittivity of Vacuum 8.854 e-12 F/m\n", "#----Rubidium 5S1/2----5P3/2 transition\n", "lamda = 780e-9 # Yimin's script takes for unknown reasons 789.24e-9 as transition wavelength for Rubidium\n", "omega0 = 2*np.pi*c / lamda\n", "\n", "lifetime = 26.2348e-9 \n", "gamma0 = 1 / lifetime # decay rate\n", "\n", "overlap = 0.1# spatial overlap factor; 1 = 100% overlap with dipole pattern, 0 = no overlap" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### temporal shapes\n", "Here we define the temporal pulses shapes which are later used for single photon and coherent excitation.\n", "If you want to add additional pulses do it here. All pulse-function have three parameter, t=time, t0=centre point or start point of pulse, and bw= bandwidth of the pulse " ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [], "source": [ "bw = 2*gamma0 # bandwidth; Put in your bandwidth choice here!! \n", "shape_str=decaying_exp # Put in your pulse choice here!! \n", "#either: gaussian, hyperbolic_secant, rectangular, symmetric_exp, decaying_exp, rising_exp\n", "t0 = 0 # centre point of the pulse\n", "\n", "n = 14 # time scale goes from -n/gamma0 to +n/gamma0 in steps of dt/gamma0\n", "dt = 1e-5\n", "t = np.arange(-n,n,dt)/gamma0\n", "timestep = dt/gamma0\n", "n_avg = 1\n", "t0=0" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def gaussian(t,t0,bw):\n", " shape = (2*np.pi)**(-1/4) * bw**(1/2) * np.exp(-bw**2 * (t-t0)**2 / 4)\n", " return shape\n", "\n", "def hyperbolic_secant(t,t0,bw):\n", " shape = (bw/2)**(1/2)/np.cosh(bw*(t - t0))\n", " return shape\n", "\n", "def rectangular(t,t0,bw):\n", " shape = Theta(t-t0)* Theta( (2/bw) - (t-t0) ) *(bw/2)**(1/2)\n", " return shape\n", "\n", "def symmetric_exp(t,t0,bw):\n", " shape = bw**(1/2)*np.exp(-bw*(np.abs(t-t0)))\n", " return shape\n", "\n", "def decaying_exp(t,t0,bw):\n", " shape = Theta(t-t0) * np.sqrt(bw) * np.exp(-bw*(t-t0)/2)\n", " return shape\n", "\n", "def rising_exp(t,t0,bw):\n", " shape = Theta(t0-t)*bw**(1/2)*np.exp(bw*(t-t0)/2)\n", " return shape\n", "\n", "def Theta(x): #heaviside function; needed for some pulses\n", " return 1 * (x >= 0)\n", "\n", "def FT_limited(t,t0, gamma):\n", " return np.sqrt(gamma) * kn(0, np.abs(t0-t) * gamma / 2) / np.pi\n", "\n", "def pulse(t,t0,bw, shape_str=gaussian):\n", " return shape_str(t, t0, bw)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "choose photon shape here!" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "check: pulse normalization = 1.000\n" ] }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "chosenPulse = pulse(t,t0,bw, shape_str) \n", "check_normalization = np.sum( chosenPulse**2 * dt / gamma0) # check if the pulse is correctly normalized\n", "print('check: pulse normalization = {:.3f}'.format(check_normalization))\n", "\n", "# Plot the temporal shape\n", "plt.figure()\n", "plt.plot(t*gamma0, chosenPulse )\n", "plt.xlim([(t*gamma0).min(),(t*gamma0).max()])\n", "plt.grid()\n", "plt.rcParams['text.usetex'] = True\n", "plt.rcParams['figure.figsize'] = (6.0, 4.0)\n", "plt.rcParams['font.size'] = 12\n", "plt.rcParams['font.family'] = 'arial'\n", "plt.xlabel(r'time (1 / \\Gamma)')\n", "plt.ylabel(r'Amplitude')\n", "plt.title(r'Temporal shape $\\xi(t)$ $\\left(\\int \\xi^2 dt = 1\\right)$')\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Single photon pulse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Actual calculation of the Heisenberg-Langevin equations\n", "\n", "The dynamics of the TLS are calculated in the Heisenberg picture. The Wang PRA paper boils it down to two coupled differential equations in order to get the excited state population of the TLS. Approximations made on the way: the usual approx for Optical-Bloch-Equations plus Weisskopf-Wigner treatment of the coupling to the free space modes.\n", "\n", "(Note: Domokos et al, Phys. Rev. A 65, 2002 used a similar formalism.)\n", "\n", "The differential equation is of the form: $\\dot{\\vec{s}}= M \\vec{s} + \\vec{B}$\n", "\n", "The 2x2 matrix M and the vector B are different for single photon and coherent excitation. The initial vector is $\\vec{s}(t=0)$. Note that M and B depend on the initial state of TLS and Photon mode. The excited state population is calculated from the first component of $\\vec{s}$.\n", "\n", "### Fock state excitation" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def solve_TLS_photon_excitation_with_ode_solver(t0, bw, shape_str=gaussian, dt=1e-3):\n", " t = np.arange(-n,n,dt)/gamma0\n", " timestep = dt/gamma0\n", " s_vec_ini = [-1, 0] # the initial vector [-1,0] means TLS in ground state\n", "\n", " # the function to get ds/dt. Note the function calls pulse(t,t0,bw)\n", " def ds_dt(t,s_vec, M, B, t0, bw):\n", " temp = np.zeros(s_vec.size)\n", " B[1]= -np.sqrt(gamma0*overlap) * pulse(t, t0, bw, shape_str) # pulse-dependent part of B vector\n", " M[0][1]= -np.sqrt(gamma0*overlap) * 4 * pulse(t, t0, bw, shape_str) # pulse-dependent part of M matrix\n", " ds = np.dot(M, s_vec) + B\n", " return ds\n", "\n", " # B vector and M matrix\n", " B = np.array([-gamma0, -(gamma0*overlap)**(1/2)]) # the component B[1] is set correctly in the ds_dt function\n", " M = np.array([[-gamma0, -(gamma0*overlap)**(1/2)*4], [0, -gamma0/2]] ) # the component M[0][1] is set correctly in the ds_dt function\n", "\n", " # init of ode solver\n", " r = ode(ds_dt).set_integrator('dopri5') # dopri5/ lsoda solves real-ode, use zvode for complex-valued ode\n", " r.set_initial_value(s_vec_ini, 0).set_f_params( M, B, t0-t[0], bw) # t0-t[0] is nescessary as the r.t starts from 0\n", " s_vec_result = np.zeros([2,t.size]) \n", " for idx_t in range (0,t.size):\n", " s_vec_result[:, idx_t] = r.integrate(r.t+timestep)\n", " fsz=s_vec_result[0][:] # fsz =expectation value sigma_Z operator\n", " fsp=s_vec_result[1][:] # fsp =expectation value sigma_plus operator\n", "\n", " return fsz, fsp, t, (fsz+1)/2, np.sum((fsz+1)/2)*timestep*(1-overlap)*gamma0" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [], "source": [ "fsz, fsp, t, P_e, epsilon = solve_TLS_photon_excitation_with_ode_solver(t0, bw, decaying_exp, 1e-3)\n", "# P_e = (fsz+1)/2 # excited state population ove time" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEiCAYAAAAI8/6tAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2wHFd95vHvGEwgtnUlm6R4S5CuzXsCvhc7BamwObFk\n", "skvIvliyk2x2K2xiCZOQDVvxFYRkd72VFJZs8rIpdpGNK2EXkoolQxWbDcSSRWmTQDZw/QLhZY0l\n", "2YEE82JdSQZjApZ++8fpZnr6zkvPdPc53dPPp+rWTPec6X7m5faZ0+d0N4iIiIiIiIiIiIiIiIiI\n", "iIiIiIiIiIiIiIiEsQs4CpxN/taA1WTeWmb+vgrXuQicBHbm5i8BW0ouexuDr6cKZXNV8bqaai/9\n", "70n+8yxi1Hsz6jvSRXqPCjgndoAOuBW4BLgHMOAK4LJk3oXAy4FTwKYK17kGnEj+sq7D/wOUcRc+\n", "+x3411OFsrmqeF1N9WZga3J/lvd71Hsz6jvSRXqPClBlEc5JoIevGLLuxW8QqqwsTuE36O/Pzd9K\n", "dRv4XkXLgfK5qnxdTXS6xHNHvTejviNdpPeoAFUW8SwDB5P7B6h/Y7cX/+upyo18FcrmaurragK9\n", "N5PpPZLGOYTf75zuGz0A3Dmk3F76/QGrSfkD9Ps7rsiU3Z2UOZj8bQFuob+PeyWzzKOZZR4E9uTW\n", "uyu3rKXc47uTZRxNnptmmiStFNO/A5l1F8l1SzI/7efJPr6ngteVLXeS/vt2iH7/0tYh5bPv/X5g\n", "Ycrl7M2UuyIzL//Zgd+YnQWuzWWY9r25MfO8YesZ97p2Z/LuzCzj6JBljDJq2bfQ/87fnszbARzL\n", "zYPRn2f2vduelDuUlB1l2vdoN4P9Rwfovwc7gY30/8+PMvy7VvT7KB2W/RKl/xjDKgvwX7yzwDuT\n", "6UXgAWBDpkz6Zd6cTB+j/4+xJXn+9Zny2xncMGWl/2gbcmUXMo9nn7uSTJ8ZkT/rWCYjScYbM9Pj\n", "ch3Av1+prazv6C3zuvKW6L+uS5N56WvN/lPfksu1J1nPtMsZln3YZzessij73gxbz6TXla4jzbIh\n", "KXOW4RVq1qRl78O/X9nv+Ar9/wGY/Hmm+fYkj6XL3Dwm17TvUfrZpj/cFvAb/fR/+9JkXjqAJWva\n", "76N0VFpZbE6mDzK6sgD/RT9L/5fI5sxj6cYju9E9ymDlkv+S72D4P8XGIctK56W/VIdVbCcpVlmk\n", "v8w2JtNLDG70RuUC/x7kOxfzWcu8rrxlBivp7Dr3J/eHvbfpRiX9BVpkOeBHluWzpxknVRZl3pth\n", "r2Oa15X9pT9svZPWNWzZ6XT2s1mlv2Et8nmm7+cDyfQCcNWYXDDdewTDP9vtQ8qlPw42T5G/0dRn\n", "Ec+bGdxPujv3+HXAcfxGYR/wUOax5eT2WGbeJcAbZshxWXJ7Jf2m8f5k2Qv0fwkfzz0vPz3KHfR/\n", "UR0Ffgr/q7iI64CL8BuBPfT7eDaOfEbfpNc1zt256Qfp/3JO3/vjucdJchZdTlll3pthpnldHx/y\n", "/HHrLbLsB/Ej7XYl04tJ+UeT6Wk+z7uS29PU1zmd/WzTAQjHh8xL35cy38dGeHLsAB12L75pnnoL\n", "cFOuzGH8P811wG2Z+RdWsP4t+A14+mXel1tHKv1Hz4/iyjexR0n3b1+N3zDsTm4vG1E+zXUa/6tv\n", "T5LtT/Dv0aR+kqKva1pFX2/Z5RQdAlzmvSkzugqK/1CY1l58C3wnfkh59tijaT7PfCU9jaLv0bDP\n", "Mf8/klX19zE4tSziel9yu431v8x24f/5r8ZvsLNN1fSXXX6Du4vR8l/km/D/GOk/Vn5ZG/H/tGnr\n", "5eLc40U2aovAh/GV3nX41k/6eiblWsT/8joAvB24j+G/Xmd9XePkn7MFf5wMmdvs+5G+F4emWE7R\n", "dQ9T9r0ZZprXNa2iyz6Mr4jejK8sPpx5bJrPc5qKfZr3qIwy30fpmLtZ38EJfsN5kv5+VvCVR3YU\n", "RzryKLsLI+1U247/wu2mvy853dc6bETNnqR8dvn7M8siefwg/c7ZtP8k/SdK9/NO6rMYlmOZwd0Y\n", "o3Kl87O7Vw5l5i1MeH6R15WX7o8+weAomzO55+xjsLN2L4P9B0WXk82e5ltl/X7stNzO3HSZ92bY\n", "ZzPpdaV9AtsZdJbJZyCYtOxUOrjj+iGPTfo8R+UbZ9r3KP1ssxv49P8h+/+Z/tjL/r9P+33srEX8\n", "m741uR23n25c2XRkTjocselDz9LTfZxJ/s7ic6/SH4Z3hv4GNB1GeAL/hVxKyqbPzXas7cssI60o\n", "tmXKn2CwQy0dgfIA6zv00mGE6fs66vHV5H76xT/B6C/7luR1rdAf4nkn60enjMq1ksxfS553aWbe\n", "7QWeX+R1ZaUbgmuTvGtJ/mHPWaE/BPJ2BkfxTLOc7fTf19vpj7Y5mzxnO/3Pc43+5znte3M0s/6t\n", "jP6OjHpdO+h/jx9Iyi3R/9FyhvUd+nnj3rOsE2MeG/V5ZvMdZXyH+7BlTnqP0hFW+fdgZ27eTvqf\n", "Qzov28k+zfexs7I19gKDo0KmKasmm9Ql3chPGkETajkijRGqz2KZwf2Ip1k/wmKWsiJ1uKhhyxGJ\n", "LlRlscjw0TTDdl8UKbsd30zcQ0uGnUnj7cC3YA3fwTrNbow6liPSKKGGzk4z1HNS2VX8sFPwlchh\n", "io0gERnnjuSvKcsRaZRQlcUJ1g/tG1UpTCp7b+7+Mr4z7NHM/KOsH+opIiLjfYLIo7PSET1Zo8ZC\n", "jyu7POSxYQcitf101TfEDhDYDbEDBHbDbE+z3wF7W3J/L9jvVpaoXjfEDhDQDbEDlDRy2xmqz+Le\n", "3PQigwfjLNLvexhX9hiD+4C3UfzUEW2yOXaAwDbHDhDY5umfYucA1wB/lMz4b8DPgX1XZanqszl2\n", "gIA2xw5Ql5Cn+0jHHx8HLmdwCGx6bpvbJpQ9je/8TqcvRkNppRt+AHgcep/2k73Pg30W+DHgzyPm\n", "Emm1tu+GcrEDBOZiBwjMTf8UewPYH+Tm/SrYLcPLN4qLHSAgFztASW3fdk6tcy9Y5p39Edgv5Oa9\n", "BOzY8PIiM+nctrPtL9jFDhCYix0gMDf9U+wo2Itz83pgXwH7/kpS1cfFDhCQix2gpOgd3CIyM/tu\n", "4NnA5wbn9wz4P8CPhs8kMh/a3rIQybBlsE+OeOyNYO8Km0fmmFoWIi32YuDTIx77GH7EoEitVFk0\n", "k4sdIDAXO0BgbsryLwE+M+KxTwLPB3taqUT1crEDBORiB6iLKguR5nsh8NnhD/W+mTz2soB5ROaG\n", "+ixkjth9vt9i5OO3+L4LkdLUZyHSYpuBh8Y8vor6LaRmqiyaycUOEJiLHSAwV7yobcL/n54cU+g+\n", "4KWlEtXLxQ4QkIsdoC6qLESabTPwUHJMxSifAV4AFvJcbyJzQX0WMifsX4F9oEC5o2AvrD+PzDn1\n", "WYi01GbG91ekPoU/M61ILVRZNJOLHSAwFztAYG6KspuBvytQrsmVhYsdICAXO0BdVFmINNtzgL8v\n", "UO5TwA/WnEVk7qjPQuaEfRTsVQXKvQTs/vrzyJzr3Lazcy9Y5pUdB7ukQLlzwR5v+Gk/pPk6t+1s\n", "+wt2sQME5mIHCMwVK2a9pAI4r2D5z4I1cVeUix0gIBc7QEkaDSXSQgvAt6H3WMHy9wMvqDGPyNxp\n", "e8tCBLAXTdcPYXvBfr2+PNIBalmItNAzgS9NUV4tC6mNKotmcrEDBOZiBwjMFSz3DODhKZb7OZpZ\n", "WbjYAQJysQPURZWFSHM9k+kqi/vxF0Lq1ZRHZO6oz0LmgL0dbPcU5Xtga2DfW18mmXPqsxBpoWcw\n", "VZ9Fz1C/hdRElUUzudgBAnOxAwTmCpZ7OvDVKZfdxMrCxQ4QkIsdoC6qLESa6+nAI1M+p6md3CKN\n", "pD4LmQP2ENiWKZ+zHex/1RJHukB9FiItdBGztSyeV0MWkbnU9paFix0gMBc7QGBuchF7Kti3ph8G\n", "a+cl55N60kzJ6uFiBwjIxQ5QkloWIi2TtCrGXnt7iN5jwEng2TVkEpk7bW9ZSOfZy8A+OeNz/xLs\n", "x6rNIx2hloVIy8zSX5E6ClxcYRYRVRYN5WIHCMzFDhCYK1Dm6cCJGZd/DChwwaRgXOwAAbnYAeoS\n", "srJYBFaArcntQgVlD1QZUKRBZjnGInUMtSykxVYz9xeA/SXLbgPOjni++iyk5ew/gf3mjM+9HOye\n", "avNIR0Tvs1gG1jLTp/Eb+1nLLiRlTlUVUKRhyrYsLtHZZ6VKoSqLRdZv2NeAS2csuw2Y519OLnaA\n", "wFzsAIG5AmVKdHD31oAn8BVOE7jYAQJysQPUJVRlcWGFZbcCh0pkEWmDMh3c0LxObmm5UJXFCWBj\n", "bt6oSmFc2S34VsajBdb5buCG5O9NDNb4ruHTTHh83qaZ8Pi8TTPhcQf/ezP93bEzrG//1+h3cpfN\n", "W3aaCY/P0/SRhuWZNO3w28p347eV0S0x2GkNg/0SRctuB3Zm/s4C1+IrkSx1cEvL2VGwEud4st8C\n", "+8/V5ZGOaMS2M1sBLAK356YXCpbNmtfRUC52gMBc7ACBuclF7BGw75l9FfbvwN4z+/Mr5WIHCMjF\n", "DlBS9NFQ4FsCK/jWwa5kOrUHuLpgWfAVy278C7ue9S0LkRazHv47Xma0n461ECmg7S0L6TQ7H+zr\n", "JZfxLLAvV5NHOqQRLQsRKWYj5Y8hehi4AOyCCvKIzFxZ7MR3RIPfVSTVcrEDBOZiBwjMTXi8gsqi\n", "Z8BxmrErysUOEJCLHaAus1YWx0fcF5HyqmhZgM4+KxV68ozP2wRcmdzfBtxbTRxJHIkdILAjsQME\n", "dmTC41VVFk3p5D4SO0BAR2IHqMuslcUd+C/ztuS+iFRnE9VUFseBl1awHJGRu6H24JuwH8cf9DbM\n", "XcDNwIM15Oo6FztAYC52gMDchMfnrWXhYgcIyMUOUJdhlcUe/DEMp5LHbwWuChlKpOPmrbKQOXWU\n", "wYPctgEHI2WZlY6zkBaz3wa7voLlPAXsH/2tSCFTHWdxnMFdS3eh60aIhFRRy6L3LeCLwHPLL0u6\n", "rsxBeXdWlkLyXOwAgbnYAQJzEx6vajcUNGNXlIu8/pBc7AB1GTYa6jL8+ZbSL2sPfzK/bEf3JuDy\n", "eqOJdFbVlcViRcsSGXC24N+ZWAELUJ+FtJjdDXZZRcva7ftARAoZue0c1rI4jj/gbtL1e9vW6S3S\n", "FhuBkxUt6zjwwxUtS2TArorLxdD2loWLHSAwFztAYG78w7YGdlE1q7IlsL+tZlkzc5HXH5KLHaCk\n", "qUZD3VpwoUXLiUhhdg7+WhanK1pg0mdhk/YUiHRS21sW0ll2AdhjFS/zq2DPrHaZMqd0PQuRljgf\n", "+FrFy2zC8FlpOVUWzeRiBwjMxQ4QmBvz2PlAyavkrRO7snAR1x2aix2gLtOcdfZS/Hjt48B99cQR\n", "6by6KgsdayG124I/X1T2GIsHgM0RM02iPgtpKXsV2F9VvMyfA3tvtcuUOVWqz+IA/poVlwAXJrfv\n", "T+aLSLXmcTeUdMTqlPOboO0tCxc7QGAudoDA3OiH7Gqwii8oZs8C+0q1y5yKi7ju0FzsACWValms\n", "Alfk5m3Fn4029c4ZQonIenW0LB72y7ULKl6uyIC0v+IEvuJYS6ZXM39NO09U21sW0ln2y2DvqGG5\n", "nwK7tPrlypyZ6txQeRcBN9E/V9ThIWU00kKkGnW0LKDfb6GRjFKbIueA2lF7ium0vWXhYgcIzMUO\n", "EJgb/ZD9FthvVL9K+x1/BtooXKT1xuBiByipVMsiPQfUFfSPs/hwrkzFHXIinXU+8EgNyz0GvLSG\n", "5Yp8xwLDj7PYEDPUBG1vWUhn2W1g104uN/Vy/ynYoeqXK3Om1GiodwF78cdYnJPc3pzMF5Fq1d1n\n", "ITKToueGehf9yzyewu+a0imP6+NiBwjMxQ4QmBvz2PlAxWedBeDvgGeDnVvDsidxEdYZi4sdoC5F\n", "KouNDD/OYmP1cUQ6r6aWRe9b+OMtnlv9skW8RfwlHrN9Fmv4c0Y1lfospKVsFezympZ9GOzH61m2\n", "zIlSo6GOA5vww2MX8fs+31dNLhHJqavPAtRvISVMcz2LY/hRUcdqyiJ9LnaAwFzsAIG5MY/NY2Xh\n", "IqwzFhc7QF2KtCy2AIcYPEr7GHAl8FANmUS6rO7K4pU1LVuEVWAPvrLYmNzuBT4eM9QE6rOQFrIe\n", "2BNgT6lp+Utgf1vPsmVOlNp2VnWK8kVgBT+SagV/sN8sZZeT+duBfQzvaFdlIS1kTwX7xxqXvwD2\n", "mK+URIYqte3cx/Chs3sy00VOUZ6tXBaA/VOUzV5oaY3+0eM7GV5ptb2ycLEDBOZiBwjMDZ9tTwc7\n", "Ue+q7RGwZ9S7jnVc4PXF5GIHKKnUaKht+JMJngQepL876h76G+ol4A1jlrGM38inTifLLVp2a2Z6\n", "M/Bocv8k7a8YRFLnUV9/RSrt5P5SzeuRORPqFOWL9I8AT60Bl7L+lMmTyj6amb8LePOEdbfRkdgB\n", "AjsSO0BgR0bMr7NzO5VWFh+peT1ZRwKuK7YjsQPUpUhl8Wb6Z54dZVJn94XF4hQuuwV/3MdB1p8B\n", "N/Vu+qO1TuErmiPJtEtuNa3pJk0/jq8s6lzfMbj1CuDzNS1f0+2adsDrkumHaIDt+A17VtpaqLos\n", "tH/XlIsdIDAXO0Bgbvhs2+qPsq6TvQ7svfWuYx0XeH0xudgBSip11tkqHGd4i2HYVbvGlU1HSaUO\n", "4/s+NpfMJ9IEdZ1EMEtHcUvjZUctLQK356YXCpTNj8Jaxl8bPK/tLQvpJPtZsD+ueR3PAvtKveuQ\n", "Fis1GqoqO/GtguPA5cl0ag9+d9JtE8oexo/E2onfNXUlgyOlRNosRAf3w349dgH0vlbzukQar+0t\n", "Cxc7QGAudoDA3PDZ9qv+Wtl1s0+Bvaz+9XyHC7iu2FzsACVV0mexBFyVuS8i1QrRsgDfYle/hVRu\n", "C/1rcD+QzNtHv+Joora3LKST7Gaw3QHW87tgK5PLSQeValncgj/W4kLg3mTedcBby+cSkYxQLQuN\n", "iJKpFaksTuEvdpQ/qlqXVa2Pix0gMBc7QGBuxPx5rSxcwHXF5mIHqEuRymITcC2DQ1tXWF95iEg5\n", "81pZSEcs4r9c+WtwN7mTW30W0kJ2COzVAdbzFH8qdDu3/nVJy5S+BvfF9K/BfS7wDvzZYEWkOiHO\n", "Ogv0vgX2MPBc/OAVkYmK7IZKR03cgT/77Lfx15do8miotnOxAwTmYgcIzI2YH2o3FPiRjc8LtC4X\n", "aD1N4GIHqEuRyuLy3PRNwKvpH20tItUIWVncD7wg0LpkDoy6vOJ++qOdLsOfgryH35/Vo3/9iktq\n", "TTe7NKdIi9hXgB+AXoBzN9kvAy+G3riLlkn3jNx2jmpZXIM/lqKH78w+nfw9ir9a3h348zKJSHVC\n", "nHU2pZaFVC7AEaWVa/toKBc7QGAudoDA3PpZ9iSws2CBLhtgzwX7hzDr6tTn62IHKKnUEdw3jZg/\n", "7GJEIjKb84DHoHc20Pq+AGzyZ58Vqc5mfOVwRfK3nWYPuWt7y0I6x56VDGcNuc5PgL087Dql4Upt\n", "O1cYPCAv/dtXPldtVFlIy9jzwR6YXK7Sde4H+9dh1ykNV2o31OvxB+Vdgt8ldSFwM8OvfS3VcLED\n", "BOZiBwjMDZkXcthsKlQntwuwjqZwsQPUpUhlcQ9+BNRx/HDaU/iz0F5XYy6RrpnnykI6Yj/+RIJL\n", "+F1PV+CvcbEWM9QE2g0lLWOvAftQ4HX+ENi9k8tJh5Tadm7DVwzX41sWaZ9Fk3dDqbKQlrFrwA4E\n", "XucC2GPhhutKC1S67bwUPxqqydpeWbjYAQJzsQME5tbPsp8H+8PgSbAvgX1fzStxNS+/SVzsACWV\n", "6uDOX37x1fhOb51IUKQ6gc44u476LaQy+0fMV5+FSGXs18BujLDeW8F+Kfx6paGmvp5F/kSCd7L+\n", "RIJNrixE2ibGaChQy0IKmvVEgu9DJxKsk4sdIDAXO0Bgbsi8ea4sXM3LbxIXO0Bdxl0p7zi+QljB\n", "H4QnIvUJecbZrM8CL4qwXplDO/HHWWwBtgKrwO3480U1lfospGXsdrCfjrDec5LhszqhoEDJ0VBX\n", "4/stAA7hK4u9wK3lc4lIItJuqN5Z4P8BLw6/bmmTIpXFKXz/xcXJ9F78KUBO1RVK5ne/5wgudoDA\n", "3JB5sfosAD4NvKTG5bsal900LnaAukxz5OYOfD/GgzVlEemyea4spCN240/tcRbff7EVfy2LUcdf\n", "NIH6LKRl7H6wF0Za92vB/jzOuqVhSm87N9I/7mIJf76orWUXWiNVFtIy9g9gz4m07i1gX4izbmmY\n", "zm072/6CXewAgbnYAQJz62fZabCN6+eHYOeAfd2fWLAWrqblNpGLHaCkUqOhRKRW1iPecRYkI6I+\n", "i0ZESQe1vWUhnWJPBftm5AzvBrs2bgZpgKnPDVWHRfypze8BlvHHaZyeoewS/riPjcDl+Kv2aYSW\n", "tFnMkVApjYiSxljN3F9g/GiqUWU34kdkpdKRWXltb1m42AECc7EDBOYGJ20z2EMRcmQzvAasrgua\n", "uZqW20QudoCSaumzuH6KsssMnqX2NH5E1bRlF/EtidTdybwNU2QRaRq1LKTxhu2G2sPkX+ab8L/w\n", "315wPYusP+J7DX/VvfumKHsPg5XMZcBJ/Nlw58mR2AECOxI7QGBHctNNqCw+D2zwI7J6VZ+d4UjF\n", "y2uyI7ED1GVYZbEbv1HOWsZvwI/jK4otQ8qMc2GFZR/K3N/F4G4pkTaKOBIq1TOwTwMvBf4ibhZp\n", "omGVxWEGr1WxD7/r53Bm3jL+mhdFnaB/UF9qVKVQtOxO4E+A949YzrvpVyyn8C2YI8m0S26bOv2m\n", "luUtO93x1/sbr4Cl76IvVr77gJfR3z1d1fK79Pmm95uSZ9K0A16XTD/ElPIH5gzrQAZ/CpCilhjs\n", "tIbRV9orUnYrcMWY9amDu11c7ACBucFJ+zdgfxQlyWCON4DdVsOCXQ3LbCoXO0BJpbaddwPvxPcZ\n", "bMBXJius36BPki2/iL8mRnZ6oWDZZXyFktoxZF1tryykU+w6sFtipwB7Jdi0/9cyX0ptOxeBY/gT\n", "CaZ/awxusItYwlcy2/Gd6NkRTPvxF1iaVHYxl+Ms8MCQdamykBax68F+O3YKsPPBvgEW8vgraZZK\n", "tp3L+F/xo4a8NknbKwsXO0BgLnaAwNzgpN0A9l9iBFnPPgdW9RBaV/HymszFDlBSJcdZpL/k78Lv\n", "khKRajRh6GzqPvT/LTPagu/kzu7yuQW4KlqiydrespBOsX2+c7kJ7K1gN8dOIdGUalncgh86eyFw\n", "bzLv9cBby+cSEZrVsvgEalnIEEWvwf0+1h9VHenc+53gYgcIzMUOEJjLTZ9HcyqL5FgL61W4TFfh\n", "sprOxQ5QlyKVxSb8SKXs0NYV1lceIjKbJrUsvojfLjwzdhBpn6qGzoakPgtpEftrf4xDU9hd/iy0\n", "0kGlrmdxHLgYP2x2ETgXeAejr0UhItNpUssC/HnfXg58MHYQaY4iu6FWkts7gJuAbwMHaPZoqLZz\n", "sQME5mIHCMzlpptWWXwcf2GxqrgKl9V0LnaAuhSpLPJfmpuAVwN1nENGpIsacNbZAUllUWknt7Tc\n", "qC/DfvqjnS7Df3l6+P1ZPfzuKIBLak03uzSnSAvY48BF0PtG7CSe9YAvA8vQ+/vYaSSokdvOUS2L\n", "a4Drkiet4fsnTuMvMvQgfpfUlSOeKyKF2ZOBpwCPx07S1zP8D8Qfip1E2mV37AAzaPtoKBc7QGAu\n", "doDAXP+uLYA18EqPdgPYjRUtzFW0nDZwsQOUVOoI7ptGzH/nbFlEJKNpndupj1FtJ7fMoVXg+sz0\n", "0RF/Z8JHK6ztLQvpDHuBP9Nr09j3gJ0Cm+Zko9J+Ux1ncSt+f2XqIuBtrO/02FU+l0jnNbRl0fuq\n", "ryx4HnB/7DTSDntHzB92hbqmaHvLwsUOEJiLHSAw179rPwr2F9GSjGUH/CVfS3MVLKMtXOwAJZXq\n", "s9iHv6xpes3rLcm8O8rnEum8hrYsAPgb4BWxQ0h7HMT3Y6xk5m0D7owTp5C2tyykM+wasP2xUwxn\n", "rwC7d3I5mSOltp2jvshrZRZaM1UW0hL282B/EDvFcPYUsK+DbYidRIIptRsqPUV5agG/G6rJlUXb\n", "udgBAnOxAwTmMvcbvBuq9y3gbsrvinLls7SGix2gLkXOOvt6/Bfm1tx8HcEtUl6DKwsA/gr4Efzu\n", "aJFCduCP5t6FP2/UlrhxxtJuKGkJe5u/7nVT2WvAPhw7hQRTats5qiP74yPmN4EqC2kJ+32wX4md\n", "YjTbBPY1sHNjJ5EgSvVZXMngqT2W8EdwL5cMJaO52AECc7EDBOYy9xu+G6p3En/y0EtLLMRVk6UV\n", "XOwAdSlSWdwMvA+/z/JGfP/Fg8DhGnOJdEXDKwsAPgK8KnYIab6t+P6Ju/HX396XzF+Ilmgy7YaS\n", "lrAPgv1E7BTj2c+AfSB2Cgmi1G6oA8CxZCHpxY5WWD86SkSm14aWxYeBH02uvSEy0llgT27ermR+\n", "U7W9ZeFiBwjMxQ4QmOvftXvAXh4tSWH2SX9E90xclUkazsUOUFKplsXNwFty824F3lUmkYgA7WhZ\n", "gO+j3Bo7hLTDEnBV5n6Ttb1lIZ1hXwR7duwUk9lrdbxFJ5Tadm7BD5U9CzyQzLuFfsXRRKospCXs\n", "tL+0atPZhuQ8UU+LnURqVWrbeRDYjj9qO3tSwdUyC61Z2ysLFztAYC52gMCcv7Ee2Jn2dBzbR8G2\n", "zfBEV3WSBnOxA5RUqs/iFP44i1O5+RvLJBIRngp8C3pPxA5S0GH85QlEhjqEP+vsAv2WxQpqWYiU\n", "ZN8D9tXYKYqzV/pRUTLHSm07F/HHWZzN/K0xfSf3Ir6S2ZrcjttPW6TsoTHPV2UhLWBbwB6MnaI4\n", "e5Kv3Oy5sZNIbSrZdmbPOjtLh1y2JZJtpUxbdiuTj/Noe2XhYgcIzMUOEJjzN/aDYJ+KmmRq9j/B\n", "fnHKJ7k6kjSUix2gpOjbzmXWnw9/1MWTipZVZTE/XOwAgTl/Y68E+79Rk0zNrgH7symf5OpI0lAu\n", "doCSom/l5mw3AAAKrklEQVQ7d7C+JXGU4WeyLFp2nisL6QR7Ndi43akNZBvBHgU7L3YSqUWp0VBV\n", "uLCmsiJt1pajtzN6p/C7ia+InUTCCjW++wTrh9qOqhSmKTvOu4GHkvungPuAI8m0S26bOv2mluUt\n", "O93V13sB8LUG5Jly+vc/AxddB/xpwed36fNN7zclz6RpB7wumX6IBlhi/VDbUX0WRcvO824oFztA\n", "YC52gMCcv7E3gv33qElmYt8P9sgUV89zdaZpGBc7QEmN2HZmK4BF4Pbc9ELBsql5riykE+wtYHtj\n", "p5iN/TXYj8dOIZUbue0MeZqBnfhjJo4DlyfTqT34EVC3FSi7hL/UqyXPO4Su2iftdAGt67P4jv3A\n", "NcCdsYOIlNH2loWLHSAwFztAYM7f2H8Fe1PUJDOz75tiV5SrO02DuNgBSoo+GkpE1ks7uFuo9wXg\n", "c+hcUdJybW9ZSCfYfrCfip1idvbvwd4bO4VUqnPbzs69YGkj+xDYa2KnmJ09HexUO67HIQVpN1TL\n", "uNgBAnOxAwTmktsWHpSX1XsEuAuY1Dpy9WdpDBc7QF1UWYjE0+I+i+/4Q+DnY4cQmZV2Q0kL2FGw\n", "58VOUY49ObmO+ItiJ5FKaDeUSAPNQcui9wT+1DqvjxxEZCZtb1m42AECc7EDBOb8jX0D7PyoSSph\n", "3we2BrZhRAEXMk1kLnaAktSyEGkWexL+GtzfiJ2kvN4X8B3dr4scRGRqbW9ZyNyzBbCW74LKsh8B\n", "ewBMP0DbTS0LkYY5n9b3Vwz4CPAo8NrYQUSm0faWhYsdIDAXO0BgDuyFYPfHDlItuxrsb8B6uQdc\n", "jDSRuNgBSlLLQqRhWn5A3lDvw7+uV8cOIlJU21sWMvfsx8COxE5RPftpsI8OaV1IO6hlIdIwbb6W\n", "xTgHgE2odTF3VFk0k4sdIDAXO0BgDtgAnI6cowa9M8CvAW/3R3cD3fp8XewAdVFlIRLHRuaysgDg\n", "A8AjwC/EDiIyifospOHs18HeFjtFfWwJ7Es6fXnrqM9CpGEWmN+WBdC7F9/C2BM7iVRDlUUzudgB\n", "AnOxAwTmmO/dUKk3Az8Jb/yV2EECcrED1EWVhUgcC8Cp2CHq1TsF/CL8xPVg3x07jcgw6rOQhrM/\n", "B/tnsVOEYe8Be1fsFFJI57adnXvB0jb212A/HDtFGHaBP7WJ/WzsJDJR57adbX/BLnaAwFzsAIE5\n", "sM+CvTh2kEAc2MvAvgr2A7HD1MzFDlCSRkOJNMycj4bK630C+BXgz8CeFTuNSKrtLQuZe/YY2Hmx\n", "U4Rnvw52t981JQ3UuW1n516wtImdC/btbp5sz3pg7wT7yJjLsEo8ndt2tv0Fu9gBAnOxA4S1/C/A\n", "HomdIiA3OGnnJBXGR8E2RklUHxc7QEnqsxBpjsWNwFdjp4indxb4JeBjwEfBFiMHkg5re8tC5pr9\n", "E7C/jJ2iGeyNYA/763tIA3Ru29m5FyxtYtvB3h87RXPYlWBf9CdWtHNjp+k47YZqGRc7QGAudoCw\n", "3v7D+FN4d4Ub/3DvEHAp8DLgY2CvrD9SbVzsAHVRZSES3Pkb6VZlUUDvK8BrgZuAO8D+AOz7I4eS\n", "DtBuKGkw+z2w/xA7RXPZhmSX1AmwfeoAD0q7oUQa5BnAV2KHaK7eo9B7K/ACYA34G7APgf1LsKdE\n", "Didzpu0tCxc7QGAudoCwPvC3YK+KnSIgV+7p9jSwf+tHkNka2P8A++cNPQrcxQ5QUiNaFovACrA1\n", "uR13ucVxZadZTltdGjtAYB17vZ95DvD52CkCKvn59h6H3nug9yrgB4FV4E3Aw8nZe98G9hP+nFPR\n", "j4rv2He5HquZ+wvA/inKHphyOW1vWdwQO0BgN8QOEI6dC//xiY4NEb2hnsXa08CuAPtNsIPJWW2/\n", "nFwr5PfAftlfM8SeD/Zd9WRY54ZA66nLyG3nkwMFWMbve0ydBrZNUXbrDMsRaaIXweMnofft2EHa\n", "r/c48OHkj6RV8Rz8r/vnAy8GfhK4xM+3rwNfyvx9Gb8NGfb3GPDN9X+9s0FeWgOFqiwWWX8JyTX8\n", "h3pfwbJL0y3H/nhIjlFN1IbNf81l8MGXNidP3fN/8qXwp69oTp5a5y/CfSdHlJ9Xm8OspmfAF5K/\n", "HDsHuBA/uCD9+1783onnJrfZv+8Gnrr+z56gX3k8AZzJ3J6Bq78XDly1fv537qeVjWX+Jk0XKTNq\n", "epQRj43eixeqsriworKbCi7jE9D7mSnW2UC9jo0x73XtGgdt31U6rZ+Lu/rKujLOTf7GdK732nxy\n", "xE+MeiBUZXECyL+BoyqFUWUN34ooshx1MomIVChUZXGc4Rv1/C6oSWXPGfOYiIjUJNTQ2Xtz04vA\n", "odz0QoGy90xYjoiI1CDkmOQl/Mil48DlwNuAR5PH9gMHgdsKlB33mIiIiIhIowzbs9GFA4elQfQl\n", "nC9d++z24oeJruEPpF2KG6dyW4Fd9IfCZk1zALLIzLr8JZznDcy8f3Z5O2MHCCT/f7qM36WetYZI\n", "jbr4JZzXDUwXPru8ef0s8/L/pztY/0PgKHMwnF+nKG+PcUevS7N19bPbjm8p72H+d7ulpjkAuVVC\n", "HWch5c3tlzBnO37DeiVwI/48PW3Xlc8ua5X+MPg14DBwWbw4wUxzAHKrqLIIYydw8ZjHD+H/mcaZ\n", "2y9hxrxuYLrw2eXdm7u/DGxg/oe5T3MAcquosgjjXRUso61fwmkqynndwLT1s5vVMnAr6yv6tn+O\n", "RUw6AFmkcpNGQy0CtwfKEsIyg68Phr8HbTXPn13eAn53Ymob8/d6l4Dd+DPJ7qF/GYX0sRX8e7AH\n", "/4NHpHJd/RLO+wZmnj+7YbbiW5U76cbrnXuxL0EokrUV/6sb/K4rncpFRERERERERERERERERERE\n", "REREREREREQkjF2sP2o8hK0j5t9d8PllMnfl7K9SMZ2iXLokf52BjwN/EjjDXsBy8zbizx+0ucDz\n", "F/HnmsrbAtyCP0XKCv7I6RX8dTSyr/ua6eKKiHTLIusvQBTaNtZXWDvxLYWzwAMFlrEbuGrEYwsM\n", "P5/WngnTIiKSOET8yuIYcMWIx/bgr6g2ybhdUBsZXllsz02v4FsiIoVpN5R0wW78xvEy/C/7FfzG\n", "+ST9DfTuZHo1eSy9DvgW/K6jtaRsdiObnn56P74iGrcBXkweH7WxL3KZ1VG7oCa5Kzd9B/7ynyIi\n", "krMfuDM3b4XBX/N78L/M09086e6ha5Ppgwxu7I9lHtvO+JbBDsafcn33hOenZUbtgoLRLYthYrey\n", "pGXUspCu6LH+LMvDpk8C70+mD+M7o29Lpu+if1bcHfiWwoFM2UX8qciHWRwxfxrXZLKJBKUr5UmX\n", "5EchDfNg5v6J3PSpzP1045+9CuIxfAWSv1oazLb7KGvWXVAilVBlIV2xRv8Yg930WwSzSiuOokNR\n", "y27odxB+mK/Id2g3lHTFSfqtgW0MthhmsR9fYaxk5u1j9G6oe/AVxqgD8i5i+HW6U1Xvgjo1uYiI\n", "SPdswXcgr+E7idMO6TPAO5PptWT6xtzjN+I38tny4CuG1WT+KuM7n0mWOew4i4OZda9mlp8qcs3u\n", "9KC8M/hKa1SlBL6ynJRVREQi2s/o1kco+yKvX0RECsgfJBfSImpViIjIBDErKhERERERERERERER\n", "EREREREREZHI/j85530a0QBBGgAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "integrated emission into non-pulse modes: 12.00\n", "P_e_max: 5.00\n", "time of P_e,max: 3.63351979998e-08\n" ] } ], "source": [ "# Plot dynamics of excited state population\n", "plt.figure()\n", "plt.plot(t*gamma0, P_e )\n", "plt.xlim([(t*gamma0).min(),(t*gamma0).max()])\n", "plt.grid()\n", "plt.rcParams['text.usetex'] = True\n", "plt.rcParams['figure.figsize'] = (6.0, 4.0)\n", "plt.rcParams['font.size'] = 14\n", "plt.rcParams['font.family'] = 'arial'\n", "plt.xlabel(r'time (1 / \\Gamma)')\n", "plt.ylabel(r' excited state pop P_{e}')\n", "plt.title('Excited state population over time')\n", "plt.show()\n", "print('integrated emission into non-pulse modes: {:.2f}'.format(epsilon*100))\n", "print('P_e_max: {:.2f}'.format(max(P_e)*100))\n", "print('time of P_e,max: ' + str(t[(P_e.argmax())]) )\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Coherent pulses\n", "The differtial equations for coherent excitation are slightly different but the general formalism is the same as in Section 1.\n", "\n", "The pulse parameter are set in cell 3 at the beginning of this script.\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def solve_TLS_coherent_excitation_with_ode_solver(t0,bw,shape_str='gaussian', n_avg=1, dt=1e-3):\n", " t = np.arange(-n,n,dt)/gamma0\n", " timestep = dt/gamma0\n", " s_vec_ini = [-1, 0] # the initial vector [-1,0] means TLS in ground state\n", " # the function to get ds/dt. Note the function calls pulse(t,t0,bw,shape_str)\n", " def ds_dt(t,s_vec, M, B, t0, bw, n_avg):\n", " temp = np.zeros(s_vec.size)\n", " M[1][0]= (n_avg*gamma0*overlap)**(1/2)*pulse(t,t0,bw,shape_str) # pulse-dependent part of B vector\n", " M[0][1]= -(n_avg*gamma0*overlap)**(1/2)*4*pulse(t,t0,bw,shape_str) # pulse-dependent part of M matrix\n", " ds = np.dot(M, s_vec) + B\n", " return ds\n", " # B vector and M matrix\n", " B = np.array([-gamma0, 0]) # \n", " M = np.array([[-gamma0, 0], [0, -gamma0/2]] ) # the components M[0][1] and M[1][0] are set correctly in the ds_dt function\n", "\n", " # init of ode solver\n", " r = ode(ds_dt).set_integrator('dopri5') # dopri5/ lsoda solves real-ode, use zvode for complex-valued ode\n", " r.set_initial_value(s_vec_ini, 0).set_f_params( M, B, t0-t[0], bw, n_avg) # t0-t[0] is nescessary as the r.t starts from 0\n", " s_vec_result = np.zeros([2,t.size]) \n", " for idx_t in range (0,t.size):\n", " s_vec_result[:,idx_t] = r.integrate(r.t+timestep)\n", " csz=s_vec_result[0][:] # csz =expectation value sigma_Z operator\n", " csp=s_vec_result[1][:] # csp =expectation value sigma_plus operator\n", " return csz, csp, t, np.sum((csz+1)/2)*timestep*(1-overlap)*gamma0 \n", "csz, csp, t, epsilon = solve_TLS_coherent_excitation_with_ode_solver(t0,bw,decaying_exp, n_avg, 1e-3)\n", "P_e_coh = (csz+1)/2 # excited state population over time" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "iN5OtvjIlL0s7+SLDzGM39NBjy9G9+Mv/yEGf+FXR69rnu7hn3ex/KiVQbnmo/lL0fMuTszbmuH5\n", "WV5XUrwxuCrKuxTlT3vOPN3DI7fSe3RPnuWspfu+bqV7FM6J6Dlr6X6eS3Q/z7zvzb7E+ucY/B0Z\n", "9LrW0f0e743KzdD94XKc5Z38/Ya9Z0mHhjw26PNM5tvH8E74tGWOeo/iI6/634P1ffPW0/0c4nnJ\n", "jvc838fWS9beU/QeMZKnrJpwUoV4Qz/qyBpfyxGpDd99GLP07ls8yvKjL8YpK1K2s2u2HJHgfFcY\n", "06QfaZO2OyNL2bW4ZuMmGnJYmtTaOlwr1uI6XfPs0qhiOSK14vuw2jyHgo4qu4g7LBVcRbKbbEeX\n", "iAxyW/RXl+WI1IrvCuMQyw/9G1QxjCq7p+/+LK6T7Fhi/j6WHwoqIiLDfZEaHLkVH+2TNOh46WFl\n", "Z1MeSzthqenDXV8fOoBH14cO4Nn1oQN4dn3oAJ5dHzpAQanbTt99GHv6pqfpPWlnmm5fxLCy++nd\n", "L7yG7ENNNMmq0AE8WhU6gGerQgfwbFXoAJ6tCh2gCiGGBomPUT4AvJzew2Pj8XBuHVH2KK5DPJ4+\n", "Hx1mKyIiBTR9l5QJHcAjEzqAZyZ0AM9M6ACemdABCmr6tnMsrXzRIiIF1aIPQ/IxoQN4ZEIH8MyM\n", "/1T7C2CvB/uCssJ4YEIH8MyEDlAFVRgijWJPwY0b9XzgbrDnBg4kMjG0S0omjP23YD8NtgP2T8H+\n", "UehEMpFaue1s5YuWSWb/BuxvRvefA3YJ7NPDZpIJ1MptZ9NftAkdwCMTOoBnJv9T7Blgj7nbJ+ft\n", "BvuW0lJVx4QO4JkJHaAgdXqLNNwvAl+EzuOJebfhBjsUkYKa3sIQSbDvA7u5b97Pg/0eWP34kzKp\n", "hSHScK8CPtc7q/Mt3KgHLwqQR1pGFUa9mdABPDKhA3hmxnjOS4H7U+bfDby2UJrqmdABPDOhA1RB\n", "FYZII9iVwGnAt1Ie/DQTuoES8Ul9GDIh7L8Ae8+Ax1aB/bbXODLp1Ich0mAvAL484LGvA6eAfZbH\n", "PNJCqjDqzYQO4JEJHcAzk7P8C4EH0x/qWODvgVcUSlQtEzqAZyZ0gCqowhBphucCe4c8fi/1rjBE\n", "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\n", "RK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "integrated emission into non-pulse modes: 11.55\n", "P_e_max: 4.84\n", "time of P_e,max: 3.58105019998e-08\n" ] } ], "source": [ "# Plot dynamics of excited state population\n", "plt.figure()\n", "plt.plot(t*gamma0, P_e_coh )\n", "plt.xlim([(t*gamma0).min(),(t*gamma0).max()])\n", "plt.grid()\n", "plt.rcParams['text.usetex'] = True\n", "plt.rcParams['figure.figsize'] = (6.0, 4.0)\n", "plt.rcParams['font.size'] = 14\n", "plt.rcParams['font.family'] = 'arial'\n", "plt.xlabel(r'time (1 / \\Gamma)')\n", "plt.ylabel(r' excited state pop P_{e,coh}')\n", "plt.title('Excited state population over time')\n", "plt.show()\n", "print('integrated emission into non-pulse modes: {:.2f}'.format(epsilon*100))\n", "print('P_e_max: {:.2f}'.format(max(P_e_coh)*100))\n", "print('time of P_e,max: ' + str(t[(P_e_coh.argmax())]) )" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }