{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Movimiento de una partícula cargada en el campo de un dipolo magnético \n", "## Computa numéricamente las órbitas de un electrón en un campo magnético externo de forma dipolar.\n", "\n", "El Lagrangiano de la partícula libre en presencia de un campo con simetría asimutal es:\n", "\n", "\\begin{equation}\n", "\\mathcal{L} = -mc^2\\sqrt{1-v^2/c^2} + \\frac{e}{c}A(r,\\theta)r\\sin{\\theta} v^{\\phi},\n", "\\end{equation}\n", "\n", "donde $A$ es la componente del co-vector campo de gauge. \n", "Recordemos que en estas coordenadas tenemos $v^2 = \\dot{r}^2 + r^2 \\dot{\\theta}^2 + r^2\\sin^2(\\theta) \\dot{\\phi}^2$.\n", "Es conveniente redefinir $A \\to A/c$ $m=1$, $e \\to e/m$, ya que las cantidades solo dependen de estos parámetros.\n", "\n", "La independencia del lagrangiano con respecto al tiempo implica que la energía es conservada, en este caso (sin potencial electrostático), viene dada por:\n", "\n", "\\begin{equation}\n", "H = \\frac{c^2}{ \\sqrt{1-v^2/c^2}} = \\gamma c^2 ,\n", "\\end{equation}\n", "lo que implica que también el módulo de la velocidad es conservado.\n", "La invariancia asimutal nos dice que el momento angular asociado es también conservado,\n", "\n", "\\begin{equation}\n", "P := \\frac{\\partial \\mathcal{L}}{\\partial \\dot{\\phi}} = \\frac{\\dot{\\phi} r^2 \\sin^2{\\theta} }{\\sqrt{1-v^2/c^2} }+ e A(r,\\theta) r \\sin{\\theta} = \\gamma \\dot{\\phi} r^2 \\sin^2{\\theta} + e A(r,\\theta) r \\sin{\\theta}\n", "\\end{equation}\n", "\n", "En coordenadas esféricas el sistema completo es:\n", "\n", "\\begin{eqnarray*}\n", "\\frac{\\partial \\phi}{dt} &=& \\frac{h}{\\gamma r\\sin{\\theta}} \\;\\;\\;\\;\\;\\;\\; h = [\\frac{P}{r\\sin{\\theta}} - e A] \\\\\n", "\\frac{\\partial \\dot{r}}{dt} &=& e \\frac{1}{ \\gamma}\\frac{\\partial(rA)}{\\partial r} \\sin{\\theta} \\dot{\\phi} + \\frac{v^2 - \\dot{r}^2}{r} \\\\\n", "\\frac{\\partial \\dot{\\theta}}{dt} &=& [\\frac{e}{\\gamma} \\frac{1}{r}\\frac{\\partial(\\sin{\\theta}A)}{\\partial\\theta} + \\sin{\\theta}\\cos{\\theta} \\dot{\\phi}]\\dot{\\phi} - 2\\frac{\\dot{r}}{r}\\dot{\\theta}\n", "\\end{eqnarray*}\n", "\n", "La conservación de $H$ también implica la conservación de $v^2$, usando la expresión para el momento angular, obtenemos, \n", "\n", "\\begin{equation}\n", "v^2 = \\dot{r}^2 + r^2 \\dot{\\theta}^2 + r^2 \\sin^2{\\theta} \\dot{\\phi}^2 \\;\\;\\;\\;\\; \\dot{r}^2 + r^2 \\dot{\\theta}^2 = v^2 - \\frac{h^2}{\\gamma^2} .\n", "\\end{equation}\n", "\n", "Por lo tanto el movimiento es solo posible cuando $h^2 = [\\frac{P}{r\\sin{\\theta}} - e A] < v^2\\gamma^2$\n", "\n", "Para un multipolo genérico con simetría axial tenemos, \n", "\n", "\\begin{equation}\n", "A(r,\\theta) = \\frac{a_n}{r^{n+1}}P^1_n(\\cos{\\theta})\n", "\\end{equation}\n", "\n", "\n", "## Caso dipolar\n", "\n", "En particular tenemos, $P^1_1(\\cos{\\theta}) = -\\sin(\\theta)$.\n", "\n", "Definiendo $e a_1 = a_0$, \n", "\n", "\\begin{eqnarray*}\n", "\\frac{\\partial \\phi}{dt} &=& \\frac{h}{\\gamma r\\sin{\\theta}} \\;\\;\\;\\;\\;\\;\\; h = [\\frac{P}{r\\sin{\\theta}} + \\frac{a_0}{r^2}\\sin{\\theta} ] \\\\\n", "\\frac{\\partial \\dot{r}}{dt} &=& \\frac{1}{\\gamma}\\frac{a_0}{r^2} \\sin^2{\\theta} \\dot{\\phi} + \\frac{v^2 - \\dot{r}^2}{r} \\\\\n", "\\frac{\\partial \\dot{\\theta}}{dt} &=& [- \\frac{2a_0}{\\gamma r^3} + \\dot{\\phi}]\\dot{\\phi}\\sin{\\theta}\\cos{\\theta} - 2\\frac{\\dot{r}}{r}\\dot{\\theta} \n", "\\end{eqnarray*}\n", "\n", "Donde \n", "\\begin{equation}\n", "v^2 = \\frac{\\dot{r}^2 + r^2 \\dot{\\theta}^2 + h^2}{1+h^2},\n", "\\end{equation}\n", "es constante a lo largo del movimiento.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.integrate import ode\n", "#%matplotlib\n", "%matplotlib inline\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "#import matplotlib.animation as animation\n", "from matplotlib import animation, rc\n", "from IPython.display import HTML\n", "import matplotlib.animation as animation\n", "from mpl_toolkits.mplot3d import Axes3D" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "p=-0.1 # momento angular (reescaleado con m)\n", "a = 0.1 # amplitud del campo (reescaleado con e, m y c)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "N=5 # número de variables" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Primero las condiciones iniciales U=(rho,rho_t,theta, theta_t,phi)\n", "x0 = 0. # tiempo inicial\n", "rho0 = 1. \n", "#rho_t0 = -0.02\n", "rho_t0 = -0.0\n", "#pert = 0.000000000000000\n", "pert = 0.01\n", "theta0 = np.pi/2.0\n", "theta_t0 = pert\n", "phi0 = 0\n", "\n", "h0 = (p/rho0/np.sin(theta0) + a*np.sin(theta0)/rho0/rho0)\n", "h20 = h0*h0\n", "v2 = (rho_t0*rho_t0 + rho0*rho0*(theta_t0*theta_t0) + h20) / (1.+h20)\n", "\n", "if (v2 > 0.99):\n", " print('velocidad demasiado alta! v2=%f', v2)\n", " exit()\n", "gamma = np.sqrt(1.-v2) \n", "\n", "u0 = [rho0, rho_t0, theta0, theta_t0, phi0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Definimos la funcion del integrador, o sea el sistema de ecuaciones:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def f(x, u):\n", " sint = np.sin(u[2])\n", " cost = np.cos(u[2])\n", " phi_t = (p/u[0]/sint + a/u[0]/u[0]*sint)/u[0]/sint/gamma\n", " \n", " return [u[1], a/u[0]/u[0]*sint*sint*phi_t/gamma + (v2 - u[1]*u[1])/u[0],u[3],\n", " (-2.*a/u[0]/u[0]/u[0]/gamma + phi_t)*phi_t*sint*cost - 2.*u[1]*u[3]/u[0],phi_t]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Definimos cual integrador usar. Damos distintos tipos, para este problema que en algunos casos es muy sensible, \n", "es recomendable usar la dop853, pero pruebe también la dopri5\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "\n", "#r = ode(f).set_integrator('zvode', method='bdf')\n", "#r = ode(f).set_integrator('dopri5') # Runge Kutta de orden 4/5\n", "r = ode(f).set_integrator('dop853') # Runge Kutta de orden 8\n", "r.rtol = 1.e-6\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Damos los valores iniciales" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ " r.set_initial_value(u0, x0)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El valor final de integracion y dividimos el intervalo en trozos iguales a los fines de graficar puntos intermedios." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "#x1 = 10000 # \n", "x1 = 5000.\n", "# Esto es solo a los fines de graficar, si da un error: out of bounds poner K mas grande\n", "dx = 0.1\n", "K=50001\n", "K_anim = 5000 # puede ser igual a K o KK, pero en el notebook tarda mucho en graficar.\n", "#K=100000\n", "#dx=1.\n", "#K=10000\n", "KK=0 # para tener solo los puntos justos en las gráficas.\n", "U = np.zeros((K,N))\n", "X = np.zeros(K)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Integramos K veces separadas (para graficar)\n", "i = 0\n", "while r.successful() and r.t < x1 and r.y[0] < rho0*12.:\n", " r.integrate(r.t+dx)\n", " U[i,:] = r.y\n", " X[i] = r.t\n", " i=i+1\n", " KK=KK+1" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Finalmente graficamos la solucion \n", "plt.ioff()\n", "ax = plt.subplot(111, projection='3d')\n", "ax.grid(True)\n", "ax.set_title(\"general orbits\", va='bottom')\n", "\n", "# cambiar para ajustar mejor el gráfico\n", "\n", "ax.set_xlim((-1.5, 1.5))\n", "ax.set_ylim((-1.5, 1.5))\n", "ax.set_zlim((-0.5, 0.5))\n", "\n", "ax.plot(U[0:KK,0]*np.sin(U[0:KK,4])*np.sin(U[0:KK,2]),\n", " U[0:KK,0]*np.cos(U[0:KK,4])*np.sin(U[0:KK,2]),\n", " U[0:KK,0]*np.cos(U[0:KK,2]), color='r', linewidth=1)\n", "\n", "\n", "\n", "\n", "\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora hacemos una animación del gráfico anterior. Suele demorar, paciencia!" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "fig = plt.figure()\n", "#ax1 = fig.add_subplot(111, projection='3d')\n", "ax1 = fig.gca(projection='3d')\n", "ax1.grid(True)\n", "line, = ax1.plot([], [], [], color='r' ,lw=1)\n", "time_template = 'time = %.1fs'\n", "time_text1 = ax1.text(0.01, 0.01, 0.95, '', transform=ax1.transAxes)\n", "ax1.set_xlim((-1.5, 1.5))\n", "ax1.set_ylim((-1.5, 1.5))\n", "ax1.set_zlim((-1.5, 1.5))\n", "\n", "def init():\n", " line.set_data([], [])\n", " line.set_3d_properties([])\n", " time_text1.set_text('')\n", " return line, time_text1\n", "\n", "def animate(i):\n", " line.set_data(U[0:i,0]*np.sin(U[0:i,4])*np.sin(U[0:i,2]),\n", " U[0:i,0]*np.cos(U[0:i,4])*np.sin(U[0:i,2]))\n", " line.set_3d_properties(U[0:i,0]*np.cos(U[0:i,2]))\n", " time_text1.set_text(time_template % (i*dx))\n", " return line, time_text1\n", "\n", "ani = animation.FuncAnimation(fig, animate, K_anim,\n", " interval=15, blit=True, init_func=init, repeat=False)\n", "\n", "#rc('animation', html='html5')\n", "HTML(ani.to_html5_video())\n", "#ani.save('3d-dipole.mp4', fps=15)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "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.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }