{ "metadata": { "name": "", "signature": "sha256:ea4fd684090ed8b533496c628f1f10207a45c5964120b1cd122007d3d9aeaa5a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Schrodinger equation in 1D\n", "===\n", "\n", "$$\n", "i\\hbar\\frac{\\partial\\psi}{\\partial t} = \\hat H\\psi\n", "$$\n", "In particular\n", "$$\n", "i\\hbar\\frac{\\partial\\psi}{\\partial t} = \\left[-\\frac{\\hbar^2}{2m}\\Delta + V\\right]\\psi\n", "$$\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "from pylab import *\n", "from numpy import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "#physical constants\n", "hbar = 1.0\n", "m = 1.0" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "#discretization parameters\n", "nx = 100 # number of unknown grid points in spatial direction\n", "SC = 1.0 # stability criterion SC = 2*D*dt/dx^2, for FTCS should be SC <= 1\n", "\n", "def schr_init(maxx, maxt, maxV, nx, SC):\n", " #choose time step according to CFL condition\n", " dx = maxx/(nx+1)\n", " dt = hbar/(2*hbar**2/(m*dx**2)+maxV)*SC\n", " #dt = SC*dx**2*m/hbar # for V = 0\n", " nt = int(maxt/dt)+1\n", " \n", " #define array for storing the solution\n", " Ur = zeros((nt, nx+2))\n", " Ui = zeros((nt, nx+2))\n", " \n", " x = arange(nx+2)*dx\n", " t = arange(nt)*dt\n", " return Ur, Ui, dx, dt, x, t" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "def schr_solve(Ur, Ui, dx, dt, nx, nt):\n", " xint = arange(1, nx+1)\n", " for it in range(0,nt-1):\n", " Ui[it+1,xint] = Ui[it,xint] + hbar*dt/(2*m*dx**2)*(Ur[it,xint+1] - 2*Ur[it, xint] + Ur[it, xint-1])\\\n", " - dt/hbar*V[xint]*Ur[it,xint]\n", " Ur[it+1,xint] = Ur[it,xint] - hbar*dt/(2*m*dx**2)*(Ui[it+1,xint+1] - 2*Ui[it+1, xint] + Ui[it+1, xint-1])\\\n", " + dt/hbar*V[xint]*Ui[it+1,xint]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Assume the initial wave packet will be in the form\n", "$$\n", "\\psi(x, t_0) = \\frac{1}{\\sqrt{\\sigma\\sqrt{\\pi}}}e^{-(x-x_0)^2/2\\sigma}e^{ik_0x}\n", "$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "maxx = 2.\n", "maxt = 0.05\n", "nx = 200\n", "Ur, Ui, dx, dt, x, t = schr_init(maxx, maxt, 0, nx, 1.0)\n", "V = zeros_like(x)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "sigma = 0.1\n", "k0 = 50.\n", "x0 = maxx/3.\n", "U0 = 1./sqrt(sigma*sqrt(pi))*exp(-(x-x0)**2/(2*sigma**2)) * exp(1j*k0*x)\n", "def Ut(t, x, x0=x0, k0=k0):\n", " p0 = hbar*k0\n", " norm = sqrt(sigma/(sqrt(pi)*(sigma**2+1j*hbar*t/m)))\n", " envelope = exp(-0.5*(x-x0-p0*t/m)**2/(sigma**2+1j*hbar*t/m))\n", " #phase = exp(1j/hbar*(p0*x-p0**2*t)/(2*m))\n", " phase = exp(1j*k0*(x-hbar*k0*t/(2*m)))\n", " return norm*envelope*phase\n", "\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "#plot(U0.real)\n", "#plot(U0.imag)\n", "plot(Ut(0, x).imag)\n", "plot(Ut(0, x).real)\n", "plot(abs(Ut(0, x)))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "Ur[0, :] = Ut(0, x).real\n", "Ui[0, :] = Ut(-0.5*dt, x).imag\n", "#Ui[0, :] = U0.imag\n", "schr_solve(Ur, Ui, dx, dt, nx, len(t))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "#pcolormesh(sqrt(Ui**2+Ur**2)[:100,:], rasterized=True)\n", "pcolormesh(Ui[:200,:], rasterized=True)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "# http://nbviewer.ipython.org/github/empet/Math/blob/master/DomainColoring.ipynb\n", "\n", "def Hcomplex(z):# computes the hue corresponding to the complex number z\n", " H=np.angle(z)/(2*np.pi)+1\n", " return np.mod(H,1)\n", "def g(x):\n", " return (1.0-1/(1+x**2))**0.2\n", "\n", "U = Ur[:200,:] + 1j*Ui[:200,:]\n", "\n", "from matplotlib.colors import hsv_to_rgb\n", "H = Hcomplex(U)\n", "V=g(abs(U)*0.5)\n", "S = ones_like(H, float)\n", "\n", "HSV = dstack((H,S,V))# V**0.2>V for V in[0,1];this choice avoids too dark colors\n", "RGB=hsv_to_rgb(HSV)\n", "imshow(RGB)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "from matplotlib import animation\n", "from JSAnimation.IPython_display import display_animation" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "fig = figure()\n", "ax = axes(xlim=(0,maxx),ylim=(-3,3))\n", "line1, = ax.plot([],[],lw=1)\n", "line2, = ax.plot([],[],lw=1)\n", "line3, = ax.plot([],[],lw=2)\n", "line4, = ax.plot([],[],lw=2)\n", "\n", "def animate(data):\n", " line1.set_data(x,data[:len(x)])\n", " line2.set_data(x,data[len(x):])\n", " line3.set_data(x,sqrt(data[:len(x)]**2 + data[len(x):]**2))\n", " return line1," ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nDjDI/wEcgdWgpUoVEgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "Ui_int = 0.5*(Ui[:-1,:]+Ui[1:,:])\n", "anim = animation.FuncAnimation(fig, animate, frames=hstack((Ui_int, Ur[:-1,:]))[:200:2,:], interval=100)\n", "display_animation(anim, default_mode='loop')" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "maxx = 5.\n", "maxt = 0.08\n", "nx = 500\n", "\n", "sigma = 0.15\n", "k0 = 40.\n", "x0 = sigma*4.\n", "E = (hbar**2/2.0/m)*(k0**2+0.5/sigma**2)\n", "\n", "Ur, Ui, dx, dt, x, t = schr_init(maxx, maxt, E*1.5, nx, 0.7)\n", "\n", "V = zeros_like(x)\n", "xb = maxx*0.5\n", "sb = 0.02\n", "V = exp(-(x-xb)**2/(2*sb))*E*2.2\n", "#V[(x>maxx*0.5) & (x\n", " /* Define the Animation class */\n", " function Animation(frames, img_id, slider_id, interval, loop_select_id){\n", " this.img_id = img_id;\n", " this.slider_id = slider_id;\n", " this.loop_select_id = loop_select_id;\n", " this.interval = interval;\n", " this.current_frame = 0;\n", " this.direction = 0;\n", " this.timer = null;\n", " this.frames = new Array(frames.length);\n", "\n", " for (var i=0; i 0){this.play_animation();}\n", " else if(this.direction < 0){this.reverse_animation();}\n", " }\n", "\n", " Animation.prototype.faster = function()\n", " {\n", " this.interval *= 0.7;\n", " if(this.direction > 0){this.play_animation();}\n", " else if(this.direction < 0){this.reverse_animation();}\n", " }\n", "\n", " Animation.prototype.anim_step_forward = function()\n", " {\n", " this.current_frame += 1;\n", " if(this.current_frame < this.frames.length){\n", " this.set_frame(this.current_frame);\n", " }else{\n", " var loop_state = this.get_loop_state();\n", " if(loop_state == \"loop\"){\n", " this.first_frame();\n", " }else if(loop_state == \"reflect\"){\n", " this.last_frame();\n", " this.reverse_animation();\n", " }else{\n", " this.pause_animation();\n", " this.last_frame();\n", " }\n", " }\n", " }\n", "\n", " Animation.prototype.anim_step_reverse = function()\n", " {\n", " this.current_frame -= 1;\n", " if(this.current_frame >= 0){\n", " this.set_frame(this.current_frame);\n", " }else{\n", " var loop_state = this.get_loop_state();\n", " if(loop_state == \"loop\"){\n", " this.last_frame();\n", " }else if(loop_state == \"reflect\"){\n", " this.first_frame();\n", " this.play_animation();\n", " }else{\n", " this.pause_animation();\n", " this.first_frame();\n", " }\n", " }\n", " }\n", "\n", " Animation.prototype.pause_animation = function()\n", " {\n", " this.direction = 0;\n", " if (this.timer){\n", " clearInterval(this.timer);\n", " this.timer = null;\n", " }\n", " }\n", "\n", " Animation.prototype.play_animation = function()\n", " {\n", " this.pause_animation();\n", " this.direction = 1;\n", " var t = this;\n", " if (!this.timer) this.timer = setInterval(function(){t.anim_step_forward();}, this.interval);\n", " }\n", "\n", " Animation.prototype.reverse_animation = function()\n", " {\n", " this.pause_animation();\n", " this.direction = -1;\n", " var t = this;\n", " if (!this.timer) this.timer = setInterval(function(){t.anim_step_reverse();}, this.interval);\n", " }\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": true, "input": [ "anim.save(\"animation.gif\", writer='imagemagick', fps=10)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "IndexError", "evalue": "list index out of range", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0manim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"animation.gif\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwriter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'imagemagick'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/usr/lib/pymodules/python2.7/matplotlib/animation.pyc\u001b[0m in \u001b[0;36msave\u001b[0;34m(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim)\u001b[0m\n\u001b[1;32m 597\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 598\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"MovieWriter %s unavailable\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mwriter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 599\u001b[0;31m \u001b[0mwriter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwriters\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 600\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 601\u001b[0m verbose.report('Animation.save using %s' % type(writer),\n", "\u001b[0;31mIndexError\u001b[0m: list index out of range" ] }, { "output_type": "stream", "stream": "stderr", "text": [ "/usr/lib/pymodules/python2.7/matplotlib/animation.py:598: UserWarning: MovieWriter imagemagick unavailable\n", " warnings.warn(\"MovieWriter %s unavailable\" % writer)\n" ] } ], "prompt_number": 135 }, { "cell_type": "markdown", "metadata": {}, "source": [ "http://jakevdp.github.io/blog/2012/09/05/quantum-python/\n", "http://www.ias.ac.in/pramana/v74/p867/fulltext.pdf\n", "http://isites.harvard.edu/fs/docs/icb.topic1214926.files/Lecture14.pdf\n", "http://www.colorado.edu/physics/phys2170/phys2170_sp07/downloads/Gaussian.pdf\n", "http://www.eng.fsu.edu/~dommelen/quantum/style_a/packets.html\n", "https://answers.yahoo.com/question/index?qid=1006050309105\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }