LennartNaeve_code/spilling_code/diagonalisation/one-dimension_test1.ipynb
2025-04-25 20:52:11 +02:00

496 lines
97 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%config InlineBackend.figure_format = \"retina\"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import sympy as sp\n",
"from IPython.display import Math, display\n",
"from matplotlib.axes import Axes\n",
"from scipy import constants as const\n",
"from scipy.integrate import quad\n",
"from scipy.optimize import root_scalar\n",
"from tqdm import tqdm\n",
"\n",
"import fewfermions.analysis.units as si\n",
"from fewfermions.simulate.traps.twod.trap import PancakeTrap\n",
"from fewfermions.style import FIGS_PATH, setup"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"colors, colors_alpha = setup()\n",
"pass"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"initial_power = 2*si.mW #291.5 * si.uW\n",
"trap: PancakeTrap = PancakeTrap(\n",
" power=0, # Set pancake laser power to 0, no 2D trap\n",
" grad_z= 5 * si.G / si.cm,\n",
" grad_r=0,\n",
" power_tweezer=initial_power,\n",
" waist_tweezer= 2 * si.um,\n",
" a=184.4*(4 * np.pi * const.epsilon_0 * const.value(\"Bohr radius\")**3)/(2 * const.epsilon_0 * const.c),\n",
")\n",
"axial_width = trap.get_tweezer_rayleigh()\n",
"\n",
"x, y, z = trap.x, trap.y, trap.z"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\displaystyle 1549.0202581455$"
],
"text/plain": [
"1549.02025814550"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trap.subs(trap.get_omega_ax_tweezer()).evalf()"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"#trap.subs(trap.__getitem__(\"a\")).evalf()#/((4 * np.pi * const.epsilon_0 * const.value(\"Bohr radius\")**3)/(2 * const.epsilon_0 * const.c))"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\displaystyle \\frac{\\omega_{t r}}{\\omega_{t ax}} \\approx 16.70$"
],
"text/plain": [
"<IPython.core.display.Math object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"aspect_ratio = trap.get_omega_r_tweezer() / trap.get_omega_ax_tweezer()\n",
"_aspect_ratio_latex = sp.latex(trap.omega_r_tweezer / trap.omega_ax_tweezer)\n",
"display(Math(f\"{_aspect_ratio_latex} \\\\approx {trap.subs(aspect_ratio).evalf():.2f}\"))"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\displaystyle W_{t}\\left(\\frac{\\omega_{t r}}{\\omega_{t ax}} = 7\\right) = 0.84\\mathrm{\\mu m}$"
],
"text/plain": [
"<IPython.core.display.Math object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"waist = trap.subs(\n",
" sp.solve(\n",
" trap.get_omega_r_tweezer() / trap.get_omega_ax_tweezer() - 7,\n",
" trap.waist_tweezer,\n",
" )[0]\n",
").evalf()\n",
"\n",
"display(\n",
" Math(\n",
" f\"{sp.latex(trap.waist_tweezer)}\\\\left({_aspect_ratio_latex} = 7\\\\right)\"\n",
" f\" = {waist/si.um:.2f}\\\\mathrm{{\\\\mu m}}\"\n",
" )\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.002"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"float(trap.subs(trap.power_tweezer))"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/350 [00:00<?, ?it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 350/350 [06:25<00:00, 1.10s/it]\n"
]
}
],
"source": [
"n_spill_steps = 350\n",
"\n",
"trap[trap.power_tweezer] = initial_power\n",
"\n",
"#spill_power_factor = np.linspace(0.7, 0.52, num=n_spill_steps)\n",
"#powers = trap[trap.power_tweezer] * spill_power_factor\n",
"powers = np.linspace(2.41,2.46,n_spill_steps)*si.mW\n",
"t_spill = 150*si.ms#25 * si.ms\n",
"atom_number = np.zeros_like(powers)\n",
"\n",
"# Number of energy levels to compute\n",
"# will change over time to avoid calculating too many levels\n",
"n_levels = 30\n",
"# Resolution of the potential when solving numerically\n",
"n_pot_steps = 1000\n",
"\n",
"for i, power in enumerate(tqdm(powers)):\n",
" trap[trap.power_tweezer] = power\n",
" # Solve the hamiltonian numerically in axial direction\n",
" energies, states, potential, coords = trap.nstationary_solution(\n",
" trap.z, (-0.5 * axial_width, 1.8 * axial_width), n_pot_steps, k=n_levels\n",
" )\n",
"\n",
" # Determine the potential and its derivatives\n",
" pot_ax = trap.subs(trap.get_potential())\n",
" pot_diff_ax = sp.diff(pot_ax, trap.z)\n",
" pot_diff2_ax = sp.diff(pot_diff_ax, trap.z)\n",
" pot_diff3_ax = sp.diff(pot_diff2_ax, trap.z)\n",
" pot_diff_ax_numpy = sp.lambdify(trap.z, pot_diff_ax.subs({x: 0, y: 0}))\n",
" pot_diff2_ax_numpy = sp.lambdify(trap.z, pot_diff2_ax.subs({x: 0, y: 0}))\n",
" pot_diff3_ax_numpy = sp.lambdify(trap.z, pot_diff3_ax.subs({x: 0, y: 0}))\n",
"\n",
" barrier = root_scalar(\n",
" pot_diff_ax_numpy,\n",
" x0=1.5 * float(trap.subs(axial_width)),\n",
" fprime=pot_diff2_ax_numpy,\n",
" xtol=1e-28,\n",
" fprime2=pot_diff2_ax_numpy,\n",
" ).root\n",
" minimum = root_scalar(\n",
" pot_diff_ax_numpy,\n",
" x0=0,\n",
" fprime=pot_diff2_ax_numpy,\n",
" xtol=1e-28,\n",
" fprime2=pot_diff2_ax_numpy,\n",
" ).root\n",
" # States that are below the potential barrier\n",
" bound_states = energies < potential(barrier)\n",
"\n",
" n_bound_states = np.sum(bound_states)\n",
" n_levles = n_bound_states + 3 # add 3 more levels to be safe\n",
"\n",
" # Density of states is larger on the left than on the right\n",
" # Likely that the state in question is a true bound state\n",
" true_bound_states = np.logical_and(\n",
" bound_states,\n",
" np.sum(states[:, coords[z] < barrier] ** 2, axis=1)\n",
" > np.sum(states[:, coords[z] > barrier] ** 2, axis=1),\n",
" )\n",
"\n",
" transmission_probability = np.full_like(energies, np.nan, dtype=float)\n",
" for j, energy in enumerate(energies):\n",
" if not true_bound_states[j]:\n",
" continue\n",
" intersect_end = root_scalar(\n",
" lambda x: potential(x) - energy,\n",
" bracket=(barrier, 3 * float(trap.subs(axial_width))),\n",
" ).root\n",
" intersect_start = root_scalar(\n",
" lambda x: potential(x) - energy,\n",
" bracket=(minimum, barrier),\n",
" ).root\n",
" barrier_interval = np.logical_and(\n",
" coords[z] > intersect_start, coords[z] < intersect_end\n",
" )\n",
" s = quad(\n",
" lambda x: np.sqrt(\n",
" 2\n",
" * float(trap.subs(trap.m))\n",
" * np.clip(potential(x) - energy, a_min=0, a_max=None)\n",
" )\n",
" / const.hbar,\n",
" intersect_start,\n",
" intersect_end,\n",
" )\n",
" transmission_probability[j] = sp.exp(-2 * s[0])\n",
" tunneling_rate = (\n",
" transmission_probability * np.abs(energies - potential(minimum)) / const.h\n",
" )\n",
" atom_number[i] = np.sum(np.exp(-t_spill * tunneling_rate[true_bound_states]))"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PolyCollection at 0x161379f34a0>"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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YtYXoDxx1c2kAACgePyDOvOoA+WJa3vUJWn79u2aMWOGli9frn379ikxMVFVq1ZVmzZt1LlzZ5188slOlwgAgKNMDvOoA+WVK4P66tWr9cgjj+ibb76Rx+MpcJ+kpCT169dPzz//PIEdABC1PL496vH0qAPlieuGvnzzzTdq3bq1vv76a+Xl5dnTMJ74kZWVpbfeekutW7fWhg0bnC4bAABH+PWox9KjDpQnrgrqf/75p66//nodOXJExhhde+21+uqrr7Rp0yZlZmbq4MGDWr9+vT799FN7FdNNmzbpkksu0ZEjR5wuHwCAsPMbo8486kC54qqg/sILL+jQoUOKj4/XxIkTNW7cOF1xxRWqU6eOkpOTlZqaqvT0dF199dX65ptv9NZbb8myLK1du1b//ve/nS4fAICwM8yjDpRbrgrqkydPlmVZGjRokHr06FHk/rfffrv69+8vY4zGjx8fhgoBAHAXT3a2/TnzqAPli6uC+pYtWyRJf//734M+pnfv3pKktWvXlkVJAAC4ml+POkNfgHLFVUG9YsWKkiRjTNDHJCUlSZISExPLpCYAANzMZPuMUY8lqAPliauCeteuXSVJEydODPqY6dOnS5Lat29fFiUBAOBq9KgD5ZergvqTTz6p+Ph4vf7665o8eXKR+y9atEj/93//p9jYWD322GNhqBAAAHfxm0edMepAueJIUF+/fn2BHykpKXr++eeVl5enHj166I477tC8efOU4/MklJeXp99//11Dhw7Vueeeq5ycHI0aNUqdOnVy4kcBAMBR/iuTEtSB8sQyxRkQHiIxMTGyLKvQfYwx9j6WZalixYqyLEsHDx60Vys1xig+Pl6pqamyLEt79+4t89oDyc3NVYcOHbRw4UK9//776t+/f4nPlZmZqQoVKkiSDh06pNTU1BBVCQAob5acd7myVh+bUOHUfr1V65Y+DlcEFM6Ki1Ncet0yv055yFOOvfUO5v2Bdx9jjP76668C98nJydH+/fuLDP5l7bnnntPChQsdrQEAEH1Y8Agovxz5i3766aeduGyZWbJkiZ599lmnywAARCG/oB4b62AlAEKNoF5K2dnZ6tu3r/Ly8pSYmKijR486XRIAIIp4fGZ9iYmPd7ASAKHmqllfItFTTz2lZcuW6d5771WNGjWcLgcAEGX85lGPo0cdKE8I6qUwb948vfDCC2rS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sn29f/7zn0Fdr6wQ1MtQv3797D/YzZs329//8MMPTVxcnJFkpk2bFvT5cnJyTKNGjYwk06dPH/sF9ejRo2bQoEFGkqlUqZLZs2eP33F79+41lStXNpLMo48+anJycowxxhw4cMD06tXLSDINGjQwR48e9Tvu2WefNZJMamqq+fDDD+3vezwe89///tf+Gd58881C687NzbWfOIJ9Udq0aZNp1aqVfUw4gjrtdUyw7XXRRRcZSaZRo0bml19+sb9/8OBBM2DAAPuFYtmyZUE/ZsVFmx0TbJudc845RpI544wzzOrVq+3v//rrr6ZWrVpGkhk0aFDQj1dx0V7HlOQ50Zhjf1veN1rhCOq01zHBtldOTo5JSEgwksyOHTuCflxCiTY7Jtg2+/333+02u/fee01mZqb9cw8ZMsRIMpZl+b3GhRtBvYysXbvWxMbGmpiYGLNixYp825944gkjyXTq1Cnoc77//vtGkqlbt26+X26Px2O/CD/xxBN+255++mkjybRv3z7fOY8ePWo/8Y8aNcr+fk5OjklLSzOSzIsvvlhgPd6foWHDhoXWPXz4cCPJpKSkBPWiNG7cOPvderiCOu11XDDttXjxYiPJxMTEmAULFuTb7vF4zLnnnmskmVtvvbXQ65UUbXZcMG02d+5c++9p5cqV+baPGzfOSDLJycn2i2oo0V7HFfc50ev222/3O64sgzrtdVyw7bV06VIjyZxyyimFnq+s0GbHBdtm3bt3N5LMtddeW+D2zp07G0lmwIABhV6vLBHUy4j3lzTQH8TWrVvtF81NmzYFdc4uXboU+AfhNXbsWPtdqq969erl+4Pw5X0He/7559vfW7RokV3fn3/+WeBxCxYssPfZt29fgfssXbrUJCQkmLp165oHH3ywyBelDh062Ofs1auX/c67rIM67XVMsO310ksvGUmmSZMmBZ7HGGNGjhxppGO9t2WBNjsm2DabP3++ue2228xNN91U4Hl+//13+1rbtm0rcJ/SoL2OKe5zote3335rJJm2bduaG2+8scyDOu11THHaa8yYMUaSOe+88wrcXtZos2OCbbPt27fbb2w2bNhQ4Llmzpxp/vWvf5lJkyYVuD0cuJm0jMydO1eSdM455xS4vVatWqpXr54k6ccffyzyfB6PR/Pnzy/0nJ06dZIkrV+/Xlu2bJEkbd++XZs2bQrquJ9//lk5OTmSpPT0dH355Zd64403dOqppxZ4nDHG/jwvLy/f9pycHPXt21c5OTl69913VbFixSJ/zrlz56pOnTr6+OOP9fnnn6tChQpFHhMKtFfx2uvKK6/U+PHj9a9//SvgPt7rFXStUKDNitdmZ511lkaNGqUPP/ywwO0LFy6UJJ100kmqXr16wPOUFO1VsudESdq/f79uu+02JSYmavTo0YqLiwvquNKgvYrfXr/99pskqWXLloXuV1Zos+K12fTp05WXl6czzzxT6enpBe7TpUsXPfroo7r88ssDnqeslf1fe5Rau3atJKlhw4YB90lPT9emTZu0evXqIs+3bds2ZWVlFXrOOnXqKDY2Vnl5eVq9erXq1Klj12FZlurXrx+wDkk6evSoNm/erIYNG6py5crq0aNHoTV99tlnkqTq1auratWq+bYPGzZMS5Ys0Z133qkLL7xQs2fPLvLnfPPNN9WvXz8lJSUVuW8o0V7Fa6+GDRsW+lj5Xu/0008vdL+Sos1K9jd2otzcXH366ae67777JEmPPvqoYmNji32eotBeJW+vQYMGadu2bfrXv/5VZn9PJ6K9it9e3qDetGlTffTRR5oyZYq2bdumypUrq3PnzrrllluCfnNWErRZ8drMOzOZ929q/vz5+uijj7Rq1SolJCSoQ4cOGjBggNLS0gqtqazRo15Gdu3aJUk65ZRTAu7j/SXbs2dP0Ocr7JyxsbE6+eST/c7pPc47dV5hdQRbi3RsyqVXX31VknTTTTfJsiy/7QsWLNCIESOUnp6ukSNHBnVOSbrjjjvCHtIl2quk7RXIqFGjtGDBAklS3759S32+gtBmpWuz9evX629/+5vS0tJ044036ujRo3r++ef1+OOPF/tcwaC9StZeEydO1EcffaR27drp4YcfDvq40qK9it9e3qD+j3/8Q3369NHYsWM1Y8YMTZgwQffff7+aNGmiOXPmBHWukqDNitdm3l7/tLQ03XfffWrXrp1effVVTZ06VV9//bWeeOIJNWnSRDNmzAiqvrJCUC8jhw8flqRCQ2dycrLfvsGcr7jnLE4dwdayZcsWXXHFFTp69Khq1qypxx57zG/7kSNH1K9fP+Xl5em9994L2/CV0qC9Qtde33//ve655x5J0iWXXKLLLrusVOcLhDYrXZv98ccfWrRokf766y9Jx3q2fv75Z61atarY5woG7VX89tq9e7fuvPNOJSUlafTo0WXyn45AaK/itdeOHTvsgJqWlqZPP/1UGRkZyszM1A8//KCzzz5bO3bs0KWXXqo1a9YUeb6SoM2K12YHDx6UJH344Yd69dVXNXDgQK1bt05Hjx7VwoULdd555ykjI0M9evQoszYLBkG9jHifUE98x+fLO9YqJqboZvB9gi7OOYOpw1dRtaxfv15du3bVxo0blZSUpM8++0xVqlTx2+fxxx/XypUrddddd+m8884L6rpOo71C017ffvutrrzySh09elT169fXmDFjSnW+wtBmpWuzs88+W7t379Zff/2ladOmqUWLFvr66691zjnnaN26dSU6Z2For+K315133qldu3bpmWeeUbNmzYI+LhRor+K1l8fj0eDBg9WnTx/NmzdP11xzjSpVqqSUlBSdf/75mjlzps444wx7wbGyQJsVr828w3p2796t++67T2+88YYaNGighIQE/e1vf9OUKVPUuHFjHTx4UEOHDg3qnGWBoF5GvO/mjhw5EnAf7zbfd5ZFna+45wymDu8va1G1LFiwQJ06ddL69euVlJSkCRMmqGPHjn77zJo1S6+88ooaNGigESNGFPITuQvtVfr2eu+999SjRw9lZWUpPT1dP/zwQ5mO7aPNStdmVatWVVpamk466SRdeOGFmjt3rpo3b669e/fqmWeeKfF5A6G9itdeY8eO1YQJE9ShQwc9+OCDQR8XKrRX8dqrZs2aGjFihMaMGaNq1arl256cnKxHH31UkvT111/bN1CGEm1WvDZLSUmRdOyNwpNPPplve0JCgt1z//XXX4dl5eaCENTLiDeg7N27N+A+3nFZBf1RBzpfYefMzc21/43tPaf3uAMHDgR8YvAdHxaoli+++EJdunTRjh07dPLJJ2vKlCm69NJL/fbJzMxU//79ZYzRe++9p9TU1CJ/LregvUreXsYYPfbYY7r11luVk5OjFi1aaPbs2QFvIgoV2iy0f2PJycm6//77JUkzZ84M2Xm9aK/g2+vPP//Uvffeq+TkZI0ePTqo3s9Qo71C/xrWpk0bSceGeviO/w4V2qx4bVapUiVJx26ILejGVElq0aKF/bMEO5Y+5MI1D2S0ufLKK40kM2TIkID7eJf1/eijj4I6p3dJ2++//77A7evXr883D/K+ffvs761du7bA46ZPn26kY0sB5+bm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P/64Tj75ZD3zzDPasGGD0+UAjiGoA3Al/uUNBPbQQw8pKytL999/v6pUqeJ0OSFXuXJl3X///Tpy5IgefPBBp8sBHENQBwAggixZskRffPGFEhMTdc899zhdTpkZNGiQEhIS9OWXX2rRokVOlwM4gqAOAEAEee655yRJV1xxhapWrepwNWUnLS1NV155pSRp+PDhDlcDOIOgDpQzvrOxzJw5U1OnTlWbNm2UlJSk6tWr69JLL9Xhw4f9jvnjjz909913q2nTpkpNTVXFihXVsmVLPfzww9q6dWtY609PT5dlWfbXw4YNs3+eFStWKCkpSZZl6bbbbivw+DVr1tj7X3zxxQXu89dffykuLk6WZek///lPvu3btm3T4MGD1bJlS5100klKSUlR06ZNNXDgQK1atarInyErK0svvfSSzjnnHKWlpSkxMVF16tTRtddeq6lTpxZ4zNChQ+26g/lIT08v8DwZGRn65z//qbPOOkuVK1dWUlKS6tevr379+umXX34JWLP3cR86dKjWr1+vbt26KTU1VZUrV1aHDh20ePHiIn9uSXZ9b775pnJycvR///d/atGihVJSUlSpUiWdf/75+uSTT2SMKfQ8Bw8e1IsvvqhzzjlHVapU8XsMv/3223z7f//99/a1x44dW+A5R40aZe/jDbsn+vrrr+19li1blm/7ggULdPPNN6tBgwZKTk5WpUqV1LZtWw0dOlT79u0r8JwzZ860z7lx40Z99NFHatq0qRITE1WrVi317t270MfC186dOzVx4kRJ0o033ljovnv27NHw4cPVtWtXnXrqqUpMTFTFihXVsGFD9e3bV7NmzQr6ur58f1fXrl0bcL/atWvLsix17dq1RNeRpJtuukmS9L///U9//vlnic8DRCwDoFzZsGGDkWQkmaFDh5rY2Fj7a0mmY8eOfvu/8MILJi4uzm8f34/k5GQzduzYQq/zxBNPhKz+evXqBaxlw4YN5qKLLjKSTHp6eoHHv/nmm/b+qampJicnJ98+n332mb3PunXr/LZ9/PHHJiUlJWANsbGx5v/+7/8C1v/bb78V+jNIMtddd505fPiw33FPP/10ocec+NGwYcN8154+fbqpUqVKocfdf//9Jjc3N+DjPnDgQFOzZs18vwP79+8P+DP78h7z73//23Tt2jVgHddff73Jzs4u8Bw///yzqV27dqE/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",
"text/plain": [
"<Figure size 375x375 with 1 Axes>"
]
},
"metadata": {
"image/png": {
"height": 373,
"width": 373
}
},
"output_type": "display_data"
}
],
"source": [
"ax: plt.Axes\n",
"fig: plt.Figure\n",
"fig, ax = plt.subplots(figsize=(2.5, 2.5))\n",
"\n",
"ax.set_xlabel(\"rel. tweezer power (a.u.)\")\n",
"ax.set_ylabel(\"atom number\")\n",
"#ax.plot(spill_power_factor, atom_number, marker=\"None\")\n",
"ax.plot(powers, atom_number, marker=\"None\")\n",
"#ax.fill_between(spill_power_factor, atom_number, fc=colors_alpha[\"red\"], alpha=0.5)\n",
"ax.fill_between(powers, atom_number, fc=colors_alpha[\"red\"], alpha=0.5)\n",
"# fig.savefig(FIGS_PATH / \"twodtrap\" / \"1D Stufenplot.pdf\")"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<lambdifygenerated-1387>:2: RuntimeWarning: overflow encountered in scalar power\n",
" return -1.55403729264634e-37*z**2/(pi**5*(z**2/pi**2 + 5.65323082141444e-11)**3) + 3.88509323161585e-38/(pi**3*(z**2/pi**2 + 5.65323082141444e-11)**2)\n",
"<lambdifygenerated-1386>:2: RuntimeWarning: overflow encountered in scalar power\n",
" return 3.88509323161585e-38*z/(pi**3*(z**2/pi**2 + 5.65323082141444e-11)**2) - 4.60454600387595e-24\n",
"<lambdifygenerated-1387>:2: RuntimeWarning: invalid value encountered in scalar divide\n",
" return -1.55403729264634e-37*z**2/(pi**5*(z**2/pi**2 + 5.65323082141444e-11)**3) + 3.88509323161585e-38/(pi**3*(z**2/pi**2 + 5.65323082141444e-11)**2)\n"
]
}
],
"source": [
"trap[trap.power_tweezer] = 0.6 * initial_power\n",
"# Solve the hamiltonian numerically in axial direction\n",
"energies, states, potential, coords = trap.nstationary_solution(\n",
" trap.z, (-0.5 * axial_width, 3 * axial_width), n_pot_steps, k=n_levels\n",
")\n",
"\n",
"pot_ax = trap.subs(trap.get_potential())\n",
"pot_diff_ax = sp.diff(pot_ax, trap.z)\n",
"pot_diff2_ax = sp.diff(pot_diff_ax, trap.z)\n",
"pot_diff3_ax = sp.diff(pot_diff2_ax, trap.z)\n",
"pot_diff_ax_numpy = sp.lambdify(trap.z, pot_diff_ax.subs({x: 0, y: 0}))\n",
"pot_diff2_ax_numpy = sp.lambdify(trap.z, pot_diff2_ax.subs({x: 0, y: 0}))\n",
"pot_diff3_ax_numpy = sp.lambdify(trap.z, pot_diff3_ax.subs({x: 0, y: 0}))\n",
"\n",
"barrier = root_scalar(\n",
" pot_diff_ax_numpy,\n",
" x0=1.5 * float(trap.subs(axial_width)),\n",
" fprime=pot_diff2_ax_numpy,\n",
" xtol=1e-18,\n",
" fprime2=pot_diff2_ax_numpy,\n",
").root\n",
"\n",
"# States that are below the potential barrier\n",
"bound_states = energies < potential(barrier)\n",
"\n",
"\n",
"# Density of states is larger on the left than on the right\n",
"# Likely that the state in question is a true bound state\n",
"true_bound_states = np.logical_and(\n",
" bound_states,\n",
" np.sum(states[:, coords[z] < barrier] ** 2, axis=1)\n",
" > np.sum(states[:, coords[z] > barrier] ** 2, axis=1),\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"width_np = float(trap.subs(axial_width))\n",
"\n",
"z_np = np.linspace(-0.5 * width_np, 2 * width_np, num=1000)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-1.3002656975359987e-28\n"
]
},
{
"data": {
"text/plain": [
"Text(0, 0.5, 'E / h (kHz)')"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuoAAALrCAYAAACoO6IDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAC4jAAAuIwF4pT92AACE00lEQVR4nOzdd3gU5cLG4Wd20xMIkJBC6IRQVbBgAQVElKMgCNJBENQDKnZFQQULTVEUC6IiKKCi2I7HCp+AIigiPfROCAQSahLSduf7AzOQQxICJJnd5HdfV67D+87M5tk5IE+Gd2cM0zRNAQAAAPAoDrsDAAAAADgTRR0AAADwQBR1AAAAwANR1AEAAAAPRFEHAAAAPBBFHQAAAPBAFHUAAADAA1HUAQAAAA9EUQcAAAA8EEUdAAAA8EAUdQAAAMADUdQBAAAAD0RRBwAAADwQRR0AAADwQBR1AAAAwANR1AEAAAAPRFEHAAAAPBBFHQAAAPBAFHUAAADAA1HUAQAAAA9EUQcAAAA8EEUdAAAA8EAUdQAAAMADUdQBAAAAD0RRBwAAADwQRR0AAADwQBR1AAAAwAP52B0A3s3tdis5OVmSFBQUJMMwbE4EAABQMNM0lZ6eLkkKDw+Xw+G5160p6rggycnJioyMtDsGAADAOUtKSlJERITdMQrkuT9CAAAAAOUYV9RxQYKCgqxfJyUlKTg42MY0+UtLS7Ou+ntqRm/EeS0ZnNeSwXktGZzXksF5LRmnn9dcp/cYT0RRxwU5fU16cHCwx//HxBsyeiPOa8ngvJYMzmvJ4LyWDM5ryfL0z9ax9AUAAADwQBR1AAAAwANR1AEAAAAPRFEHAAAAPBBFHQAAAPBAhmmapt0h4L3S0tIUEhIiSUpNTeWT6QAAwKN5U3fhijoAAADggSjqAAAAgAeiqAMAAAAeiKIOAAAAeCCKOgAAAOCBKOoAAACAB6KoAwAAAB6Iog4AAAB4IIo6AAAA4IEo6gAAAIAHoqgDAAAAHoiiDgAAAHggijoAAADggSjqAAAAgAeiqAMAAAAeiKIOAAAAeCCKOgAAAOCBKOoAAACAB6KoAwAAAB6Iog4AAAB4IIo6AAAA4IEo6gAAAIAHoqgDAAAAHoiiDgAAAHggijoAAADggSjqAAAAgAeiqAMAAAAeiKIOAAAAeCCKOgAAAOCBKOoAAACAB6KoAwAAAB6Iog4AAAB4IIo6AAAA4IEo6gAAAIAHoqgDAAAAHoiiDgAAAHggijoAAADggSjqAAAAgAeiqMNruE5k2B0BAACg1FDU4fEydido+1PPacUVbZR96LDdcQAAAEoFRR0eLXNvola2uklJH32inMNHtH/6LLsjAQAAlAqKOjyaf0w1hV57tTXe98EsudLSbEwEAABQOijq8Hgx999j/dp15KiSZn1mYxoAAIDSQVGHx6t41RUKuayZNU58d7rcmVn2BQIAACgFFHV4PMMwFHPvXdY4e/8BHfziGxsTAQAAlDyKOrxCpXatFVinljVOfPt9mS6XjYkAAABKFkUdXsFwOBTVt4c1ztixSynf/WxjIgAAgJJFUYfXqNL2OvlFR1njvW++K9M0bUwEAABQcijq8BqGj1NRvbpZ4/T4DTqycLGNiQAAAEoORR1eJfxf7eVTpbI13vvmVBvTAAAAlByKOryKw99Pkd27WOPjfyzX8b9W2BcIAACghFDU4XUiOt8iZ0iwNd775rs2pgEAACgZFHV4HWdwkKp26WiND89fqLQNm2xMBAAAUPwo6vBKkbd3luHnZ40T33rPxjQAAADFj6LuAaZOnSrDMPT+++8XuE9KSooefvhh1a1bV35+foqMjFTXrl31xx9/FPrau3fv1l133aXq1avLz89PMTExuuOOO7Rhw4bifhulyrdyJVW95SZrnPzN98rYtcfGRAAAAMWLom6zv/76S48//nih+yQlJenKK6/Ua6+9pqSkJF188cUyDENfffWVWrVqpQ8++CDf4zZt2qRLL71U06ZNU2pqqi655BJlZGRo5syZuvTSS/XTTz+VxFsqNZG9uspwOk8O3G4lTplmbyAAAIBiRFG30cKFC3XTTTfp+PHjhe7Xs2dPbdu2Te3bt1dCQoKWL1+uxMREjR8/Xi6XS0OGDDnjCnlOTo46duyolJQU9evXT/v27dNff/2lffv26f7771dGRoZ69eqllJSUknyLJco/KlJVbmhjjQ989qWyDhy0LxAAAEAxoqjbICMjQ6NHj9YNN9ygw4cPF7rvwoULtWjRIoWEhOjjjz9W5con7yHucDg0fPhw9e3bV9nZ2RozZkye42bNmqWtW7eqZs2amjZtmgIDAyVJfn5+mjx5slq1aqUjR45o0qRJJfMmS0lUn+7Wr83MLO1770Mb0wAAABQfinop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",
"text/plain": [
"<Figure size 375x375 with 1 Axes>"
]
},
"metadata": {
"image/png": {
"height": 373,
"width": 373
}
},
"output_type": "display_data"
}
],
"source": [
"ax: plt.Axes\n",
"fig, ax = plt.subplots(figsize=(2.5, 2.5))\n",
"# ax.set_title(\"Axial\")\n",
"abs_min = np.min(potential(z_np))\n",
"print(abs_min)\n",
"ax.fill_between(\n",
" z_np / si.um,\n",
" potential(z_np) / const.h / si.kHz,\n",
" abs_min / const.h / si.kHz,\n",
" fc=colors_alpha[\"red\"],\n",
" alpha=0.5,\n",
")\n",
"# ax2 = ax.twinx()\n",
"\n",
"for i, bound in enumerate(true_bound_states):\n",
" if not bound:\n",
" continue\n",
" energy = energies[i]\n",
" state = states[i]\n",
" ax.plot(\n",
" z_np / si.um,\n",
" np.where(\n",
" (energy > potential(z_np)) & (z_np < barrier),\n",
" energy / const.h / si.kHz,\n",
" np.nan,\n",
" ),\n",
" c=\"k\",\n",
" lw=0.5,\n",
" marker=\"None\",\n",
" )\n",
" # ax1.plot(coords[trap.z], state**2, marker=\"None\", c=\"k\")\n",
"\n",
"ax.plot(z_np / si.um, potential(z_np) / const.h / si.kHz, marker=\"None\")\n",
"ax.set_xlabel(r\"z ($\\mathrm{\\mu m}$)\")\n",
"ax.set_ylabel(r\"E / h (kHz)\")\n",
"\n",
"# fig.savefig(FIGS_PATH / \"twodtrap\" / \"1D Spilling Example.pdf\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"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.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}