{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "In the wake of the first week of the course about plasma physics, we will use some simple integrations to plot different trajectories of charged particles in magnetic and electric fields." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Charged particles in constant magnetic fields" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The equation of motion for a charged particle in a magnetic field is as follows:\n", "\n", "$$\n", "\\frac{d \\vec{v}}{ dt } = \\frac{q}{m} (\\vec{v} \\times \\vec{B})\n", "$$\n", "\n", "We choose to put the particle in a field that is written \n", "\n", "$$\n", "\\vec{B} = B \\vec{e_x}\n", "$$\n", "\n", "We thus expect the particle to rotate in the $(y, z)$ plane while moving along the $x$ axis. \n", "\n", "Let's see how we can implement this using the integrators found in the scientific python stack." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# imports\n", "import numpy as np\n", "from scipy.integrate import ode" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To use `ode`, we need to define the derivatives of velocity, which is computed using the Lorentz force and of position, which is just velocity:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def newton(t, Y, q, m, B):\n", " \"\"\"Computes the derivative of the state vector y according to the equation of motion:\n", " Y is the state vector (x, y, z, u, v, w) === (position, velocity).\n", " returns dY/dt.\n", " \"\"\"\n", " x, y, z = Y[0], Y[1], Y[2]\n", " u, v, w = Y[3], Y[4], Y[5]\n", " \n", " alpha = q / m * B\n", " return np.array([u, v, w, 0, alpha * w, -alpha * v])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have defined these functions, we can intialize the integrators and their methods." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "r = ode(newton).set_integrator('dopri5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we need to define initial conditions:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "t0 = 0\n", "x0 = np.array([0, 0, 0])\n", "v0 = np.array([1, 1, 0])\n", "initial_conditions = np.concatenate((x0, v0))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now set the conditions on our integrators and solve the problem using time stepping. We assume the charged particle has unit mass and unit charge." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "r.set_initial_value(initial_conditions, t0).set_f_params(1.0, 1.0, 1.0)\n", "\n", "positions = []\n", "t1 = 50\n", "dt = 0.05\n", "while r.successful() and r.t < t1:\n", " r.integrate(r.t+dt)\n", " positions.append(r.y[:3]) # keeping only position, not velocity\n", "\n", "positions = np.array(positions)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check the integration results. We expect a circle in the $(y, z)$ plane:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\ntIMQAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(positions[:, 1], positions[:, 2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This looks as expected! Now, let's do some 3D:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib as mpl" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from mpl_toolkits.mplot3d import Axes3D\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "ax.plot3D(positions[:, 0], positions[:, 1], positions[:, 2])\n", "\n", "B1 = np.array([x0[0], x0[1], -1])\n", "B2 = np.array([60, 0, 0])\n", "B_axis = np.vstack((B1, B1 + B2))\n", "ax.plot3D(B_axis[:, 0], \n", " B_axis[:, 1],\n", " B_axis[:, 2])\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "ax.set_zlabel('z')\n", "ax.text3D((B1 + B2)[0], (B1 + B2)[1], (B1 + B2)[2], \"B field\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we get the classical result: in a magnetic field, particles loop around the magnetic field axis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can do an animation of this type of movement using the code below:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from tempfile import NamedTemporaryFile\n", "import base64 \n", "from matplotlib import animation\n", "VIDEO_TAG = \"\"\"\"\"\"\n", "\n", "def anim_to_html(anim):\n", " if not hasattr(anim, '_encoded_video'):\n", " f = NamedTemporaryFile(suffix='.mp4', delete=False)\n", " anim.save(f.name, fps=20, extra_args=['-vcodec', 'libx264', '-pix_fmt', 'yuv420p'])\n", " f.flush()\n", " video = open(f.name, \"rb\").read()\n", " f.close()\n", " anim._encoded_video = base64.b64encode(video).decode('utf-8')\n", " \n", " return VIDEO_TAG.format(anim._encoded_video)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from IPython.display import HTML\n", "\n", "def display_animation(anim):\n", " plt.close(anim._fig)\n", " return HTML(anim_to_html(anim))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "FRAMES = 50\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "\n", "def init():\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", " \n", "# animation function. This is called sequentially\n", "def animate(i):\n", " current_index = int(positions.shape[0] / FRAMES * i)\n", " ax.cla()\n", " ax.plot3D(positions[:current_index, 0], \n", " positions[:current_index, 1], \n", " positions[:current_index, 2])\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", "# call the animator.\n", "anim = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=FRAMES, interval=100)\n", "\n", "# call our new function to display the animation\n", "display_animation(anim)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What happens when the charge is negative? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another interesting animation to do is when the charge is negative." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "r.set_initial_value(initial_conditions, t0).set_f_params(-1.0, 1.0, 1.0)\n", "\n", "positions = []\n", "t1 = 50\n", "dt = 0.05\n", "while r.successful() and r.t < t1:\n", " r.integrate(r.t+dt)\n", " positions.append(r.y[:3]) # keeping only position, not velocity\n", "\n", "positions = np.array(positions)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "FRAMES = 50\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "\n", "def init():\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", " \n", "# animation function. This is called sequentially\n", "def animate(i):\n", " current_index = int(positions.shape[0] / FRAMES * i)\n", " ax.cla()\n", " ax.plot3D(positions[:current_index, 0], \n", " positions[:current_index, 1], \n", " positions[:current_index, 2])\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", "# call the animator.\n", "anim = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=FRAMES, interval=100)\n", "\n", "# call our new function to display the animation\n", "display_animation(anim)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that the particle turns in the other direction, compared to the previous case!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What happens when the field is stronger?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another visualization can be done with the same exact initial conditions but with a stronger field. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "r.set_initial_value(initial_conditions, t0).set_f_params(1.0, 1.0, 10.0)\n", "\n", "positions2 = []\n", "t1 = 50\n", "dt = 0.05\n", "while r.successful() and r.t < t1:\n", " r.integrate(r.t+dt)\n", " positions2.append(r.y[:3]) # keeping only position, not velocity\n", "\n", "positions2 = np.array(positions2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now visualize the previous trajectory, as well as the new one together:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "FRAMES = 50\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "\n", "def init():\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", " \n", "# animation function. This is called sequentially\n", "def animate(i):\n", " current_index = int(positions.shape[0] / FRAMES * i)\n", " ax.cla()\n", " ax.plot3D(positions[:current_index, 0], \n", " positions[:current_index, 1], \n", " positions[:current_index, 2])\n", " ax.plot3D(positions2[:current_index, 0], \n", " positions2[:current_index, 1], \n", " positions2[:current_index, 2])\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", "# call the animator.\n", "anim = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=FRAMES, interval=100)\n", "\n", "# call our new function to display the animation\n", "display_animation(anim)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When the field is stronger, the radius of the oscillation, called the Larmor radius, decreases. Also, the frequency of oscillation increases.\n", "\n", "The formulas for these quantities are:\n", "\n", "$$\n", "\\rho = \\frac{m v_\\perp}{|q| B}\n", "$$\n", "\n", "$$\n", "\\omega_L = \\frac{|q| B}{m}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Charged particles in constant electric and magnetic fields " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another phenomenon of interest is when charged particles are subject to a constant electric field and a constant magnetic field. The expected behaviour is that the electric field will introduce a drift, while the magnetic field will just make the particles loop around the field lines.\n", "\n", "Here, we will consider that we have:\n", "\n", "$$\n", "\\vec{B} = B \\vec{e_x}\n", "$$\n", "\n", "$$\n", "\\vec{E} = E \\vec{e_y}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to redefine our integrators from the previous sections:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def newton(t, Y, q, m, B, E):\n", " \"\"\"Computes the derivative of the state vector y according to the equation of motion:\n", " Y is the state vector (x, y, z, u, v, w) === (position, velocity).\n", " returns dY/dt.\n", " \"\"\"\n", " x, y, z = Y[0], Y[1], Y[2]\n", " u, v, w = Y[3], Y[4], Y[5]\n", " \n", " alpha = q / m \n", " return np.array([u, v, w, 0, alpha * B* w + E, -alpha * B * v])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All other parameters stay the same." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "r = ode(newton).set_integrator('dopri5')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "r.set_initial_value(initial_conditions, t0).set_f_params(1.0, 1.0, 1.0, 10.)\n", "positions = []\n", "t1 = 50\n", "dt = 0.05\n", "while r.successful() and r.t < t1:\n", " r.integrate(r.t+dt)\n", " positions.append(r.y[:3])\n", "\n", "positions = np.array(positions)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "FRAMES = 50\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "\n", "def init():\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", " \n", "# animation function. This is called sequentially\n", "def animate(i):\n", " current_index = int(positions.shape[0] / FRAMES * i)\n", " ax.cla()\n", " ax.plot3D(positions[:current_index, 0], \n", " positions[:current_index, 1], \n", " positions[:current_index, 2])\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", "# call the animator.\n", "anim = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=FRAMES, interval=100)\n", "\n", "# call our new function to display the animation\n", "display_animation(anim)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The expected drift is given by the cross product of $\\vec{E}$ and $\\vec{B}$. In our case this is $\\vec{e_y} \\times \\vec{e_x}$ so as observed above, the drift goes in the negative z direction. It should be noted that the drift does not depend on the charge. This is due to the fact that when averaging the $v_\\perp$ value over one gyration of the particle, one gets the following equation:\n", "\n", "$$\n", "< m \\frac{d \\vec{v_\\perp}}{dt}> = \\vec{0} = q \\left( \\vec{E_\\perp} + <\\vec{v_\\perp}> \\times \\vec{B}\\right)\n", "$$\n", "\n", "In the above equation, $q$ gets simplified, so it has no influence on the average drift of the charged particle.\n", "\n", "If instead of E there is an external force, such as gravity, the drift is again in the direction of the force cross the magnetic field. Another important case of drift is when the field lines of B are curved with nonconstant radius: in this case, the particles looping around the field lines of B will feel centrifugal force and will thus escape from the field line. \n", "\n", "It should be noted that except for the $E \\times B$ drift, all other drifts depend on the charge of the particle." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Final simulation: non-constant B and E field with many particles " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To finish off this notebook, we will proceed to simulate many particles at the same time in a constant B field, but with a non-constant periodic E field.\n", "\n", "First, we write a function to integrate the trajector of a single particle:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def e_of_x(x):\n", " return 10 * np.sign(np.sin(2 * np.pi * x / 25))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def compute_trajectory(m, q):\n", " r = ode(newton).set_integrator('dopri5')\n", " r.set_initial_value(initial_conditions, t0).set_f_params(m, q, 1.0, 10.)\n", " positions = []\n", " t1 = 200\n", " dt = 0.05\n", " while r.successful() and r.t < t1:\n", " r.set_f_params(m, q, 1.0, e_of_x(r.y[0]))\n", " r.integrate(r.t+dt)\n", " positions.append(r.y[:3])\n", "\n", " return np.array(positions)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "positions = []\n", "for m, q in zip([1, 0.1, 1, 0.1], [1, 1, -1, -1]):\n", " positions.append(compute_trajectory(m, q))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from mpl_toolkits.mplot3d import Axes3D\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "for position in positions:\n", " ax.plot3D(position[:, 0], position[:, 1], position[:, 2])\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "ax.set_zlabel('z')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's do an animation with these particles:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "FRAMES = 100\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "\n", "def init():\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", " \n", "# animation function. This is called sequentially\n", "def animate(i):\n", " current_index = int(positions[0].shape[0] / FRAMES * i)\n", " ax.cla()\n", " for position in positions:\n", " ax.plot3D(position[:current_index, 0], \n", " position[:current_index, 1], \n", " position[:current_index, 2])\n", " ax.set_xlabel('x')\n", " ax.set_ylabel('y')\n", " ax.set_zlabel('z')\n", "# call the animator.\n", "anim = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=FRAMES, interval=100)\n", "\n", "# call our new function to display the animation\n", "display_animation(anim)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The movement is quite difficult to understand. Given the previous sections, can you guess why the 4 particles behave the way they do?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conclusions " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This exploration in magnetic and electric fields has enabled us to visualize some of the important properties that charged particles exhibit when in a magnetic and electric field. Hopefully, this has increased your physical intuition about these phenomena." ] } ], "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }