Buckets:
| { | |
| "metadata": { | |
| "name": "FFT charged sphere" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Let's use SymPy to derive the relation between potential V and charge density R" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "%pylab inline\n", | |
| "from sympy.interactive import init_printing\n", | |
| "init_printing()\n", | |
| "from sympy import pi, var, S, Piecewise, piecewise_fold\n", | |
| "var(\"r R\")\n", | |
| "Vh = Piecewise((-S(2)/3 * pi * (3*R**2 - r**2), r <= R), (-S(4)/3 * pi * R**3 / r, True))\n", | |
| "def laplace(f):\n", | |
| " return (r*f).diff(r, 2)/r\n", | |
| "print \"Vh =\"\n", | |
| "Vh" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "\n", | |
| "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", | |
| "For more information, type 'help(pylab)'.\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Vh =\n" | |
| ] | |
| }, | |
| { | |
| "latex": [ | |
| "$$\\begin{cases} - \\frac{2}{3} \\pi \\left(3 R^{2} - r^{2}\\right) & \\text{for}\\: r \\leq R \\\\- \\frac{4}{3} \\frac{\\pi R^{3}}{r} & \\text{otherwise} \\end{cases}$$" | |
| ], | |
| "output_type": "pyout", | |
| "prompt_number": 1, | |
| "text": [ | |
| "\u23a7 \u239b 2 2\u239e \n", | |
| "\u23aa-2\u22c5\u03c0\u22c5\u239d3\u22c5R - r \u23a0 \n", | |
| "\u23aa\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 for r \u2264 R\n", | |
| "\u23aa 3 \n", | |
| "\u23a8 \n", | |
| "\u23aa 3 \n", | |
| "\u23aa -4\u22c5\u03c0\u22c5R \n", | |
| "\u23aa \u2500\u2500\u2500\u2500\u2500\u2500\u2500 otherwise\n", | |
| "\u23a9 3\u22c5r " | |
| ] | |
| } | |
| ], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Charge density is then:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "piecewise_fold(-laplace(Vh)/(4*pi))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "latex": [ | |
| "$$\\begin{cases} -1 & \\text{for}\\: r \\leq R \\\\0 & \\text{otherwise} \\end{cases}$$" | |
| ], | |
| "output_type": "pyout", | |
| "prompt_number": 2, | |
| "text": [ | |
| "\u23a7-1 for r \u2264 R\n", | |
| "\u23a8 \n", | |
| "\u23a90 otherwise" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 2 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "from numpy import (empty, pi, meshgrid, linspace, sum, sin, exp, shape, sqrt,\n", | |
| " conjugate)\n", | |
| "from numpy.fft import fftn, fftfreq, ifftn\n", | |
| "\n", | |
| "N = 100\n", | |
| "print \"N =\", N\n", | |
| "L = 2.4*4\n", | |
| "R = 1.\n", | |
| "x1d = linspace(-L/2, L/2, N+1)[:-1]\n", | |
| "x, y, z = meshgrid(x1d, x1d, x1d, indexing=\"ij\")\n", | |
| "\n", | |
| "r = sqrt(x**2+y**2+z**2)\n", | |
| "nr = empty(shape(x), dtype=\"double\")\n", | |
| "nr[:] = 0\n", | |
| "nr[r <= R] = -1\n", | |
| "\n", | |
| "Vanalytic = empty(shape(x), dtype=\"double\")\n", | |
| "Vanalytic[r <= R] = -2./3 * pi * (3*R**2 - r[r <= R]**2)\n", | |
| "Vanalytic[r > R] = -4./3 * pi * R**3 / r[r > R]\n", | |
| "\n", | |
| "ng = fftn(nr) / N**3\n", | |
| "\n", | |
| "G1d = N * fftfreq(N) * 2*pi/L\n", | |
| "kx, ky, kz = meshgrid(G1d, G1d, G1d)\n", | |
| "G2 = kx**2+ky**2+kz**2\n", | |
| "G2[0, 0, 0] = 1 # omit the G=0 term\n", | |
| "\n", | |
| "tmp = 2*pi*abs(ng)**2 / G2\n", | |
| "tmp[0, 0, 0] = 0 # omit the G=0 term\n", | |
| "E = sum(tmp) * L**3\n", | |
| "print \"Hartree Energy (calculated): %.15f\" % E\n", | |
| "\n", | |
| "\n", | |
| "Vg = 4*pi*ng / G2\n", | |
| "Vg[0, 0, 0] = 0 # omit the G=0 term\n", | |
| "V = ifftn(Vg).real * N**3\n", | |
| "V += Vanalytic[N/2, N/2, N/2] - V[N/2, N/2, N/2]\n", | |
| "l2_norm = sum((Vanalytic - V)**2) \n", | |
| "print \"l2_norm = \", l2_norm\n", | |
| "plot(x[:, N/2, N/2], Vanalytic[:, N/2, N/2], label=\"analytic\")\n", | |
| "plot(x[:, N/2, N/2], V[:, N/2, N/2], label=\"FFT\")\n", | |
| "legend(loc=\"best\");" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "N = 100\n", | |
| "Hartree Energy (calculated): 7.945878466121926" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "\n", | |
| "l2_norm = " | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " 48304.2303309\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "display_data", | |
| "png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD9CAYAAAClQCyNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdYk+f+BvA7YckWZB2EMh2gorgYjgYVESru3aoVqz21\nw9Gq1WMrWvc4VrF1VItVqxW1FnddxI2ouLeCggooU0FmeH5/5FdOLaiY9eRNvp/r4iqEJO/90uT2\nyfMuEWOMgRBCiOCIeQcghBCiGCpwQggRKCpwQggRKCpwQggRKCpwQggRKCpwQggRKKULfP/+/Wjc\nuDEaNGiA+fPnqyITIYSQWhApsx+4TCZDo0aNcOjQIdSvXx9t2rTB5s2b4ePjo8qMhBBCaqDUCDwp\nKQne3t5wd3eHkZERBg0ahPj4eFVlI4QQ8hpKFfijR4/g6upa9bOLiwsePXqkdChCCCFvZqjMg0Ui\nkUruQwghpLo3zXArNQKvX78+0tPTq35OT0+Hi4tLjSF09Wv69OncM9D60frp27rpw/rVhlIF3rp1\na9y5cwf3799HWVkZtmzZgh49eijzlIQQQmpJqSkUQ0NDLF++HGFhYZDJZBg5ciTtgUIIIRqiVIED\nQHh4OMLDw1WRRZAkEgnvCGpF6ydcurxugO6vX20otR94rRYgEtV6PocQQohcbbqTDqUnhBCBogIn\nhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCB\nogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCBogInhBCB0osC\nz80F6LrKhBBdoxdXpZdIgGvXgLZtgYAAIDBQ/l9ra66xCCGclZYCyclAYiLQuTPg58c70f+o/ar0\nW7duRZMmTWBgYIDk5GRlnkqtpFLg4kXgo4+AFy+A2bOB+vWBpk2Bjz8G1q8HUlNplE6Irnv6FPjj\nD2DiRCA4GLC1BT79FLhzh3cyxSg1Ar958ybEYjE+/vhjLF68GC1btqy+AC0YgdekvBy4dAk4dQo4\neRI4dgwwMAA6dpSP2CUSoEEDQCTinZQQoqjMTODoUfkg7uhR4NEjeXG3ayf/atsWMDfnnbJmtelO\nlUyhhISECK7A/4kx4N49+f/ko0eBhASgslL+sapLF/mXszPvlISQ13n2TP7ePXwYOHQIyMiQD8re\n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\ngfo/kyiI7s5XC9QAAAAASUVORK5CYII=\n" | |
| } | |
| ], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 3 | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Xet Storage Details
- Size:
- 21.7 kB
- Xet hash:
- fc13f6086eb63321b53a79fdf2edb6bfa1ee1dde51de2f2f75f7dba98fc20074
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.