Skip to content

Instantly share code, notes, and snippets.

@aluchies
Created May 9, 2014 19:23
Show Gist options
  • Save aluchies/745573dedf4f4ffe608f to your computer and use it in GitHub Desktop.
Save aluchies/745573dedf4f4ffe608f to your computer and use it in GitHub Desktop.
{
"metadata": {
"name": "",
"signature": "sha256:4e1b7cfaf69e2f50b29efd61de2103d09262b941a104e3b4e1a7db6ab720191b"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import particle_packing as pp\n",
"from utils import zfft"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from scipy.special import jvp, yvp, sph_jn, sph_yn, lpn\n",
"import numpy as np\n",
"\n",
"\n",
"def besselj(n, x, p=0):\n",
" \"\"\"Bessel function of the first kind with vector input. Renames jvp from\n",
" scipy.special.\n",
"\n",
" Keyword arguments:\n",
" n -- order\n",
" x -- array of input values\n",
" p -- derivative order\n",
"\n",
" Return values:\n",
" z -- output value for the pth derivative of Jn(x)\n",
"\n",
" \"\"\"\n",
"\n",
" return jvp(n, x, p)\n",
"\n",
"\n",
"def bessely(n, x, p=0):\n",
" \"\"\"Bessel function of the second kind (also called the neumann function) \n",
" with vector input. Renames yvp from scipy.special.\n",
"\n",
" Keyword arguments:\n",
" n -- order\n",
" x -- array of input values\n",
" p -- derivative order\n",
"\n",
" Return values:\n",
" z -- output value for the pth derivative of Yn(x)\n",
"\n",
" \"\"\"\n",
"\n",
" return yvp(n, x, p)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def rayleigh_amplitude_cylinder(c, rho, c1, rho1, phi):\n",
" \"\"\"\n",
" \"\"\"\n",
"\n",
" g = rho1 / rho\n",
" h = c1 / c\n",
"\n",
" s1 = (1. - g * h ** 2) / (2 * g * h ** 2)\n",
" s2 = np.cos(phi) * (1 - g) / (1 + g)\n",
"\n",
" return abs(s1 - s2)\n",
"\n",
"def fm_cylinder_single_value(k, phi, c, rho, c1, rho1, m):\n",
" \"\"\"\n",
" \"\"\"\n",
" \n",
" if k == 0:\n",
" return 0\n",
" \n",
" g = rho1 / rho\n",
" h = c1 / c\n",
"\n",
" k1 = k * c / c1\n",
" \n",
" Jm_k = besselj(m, k, 0)\n",
" Jmp_k = besselj(m, k, 1)\n",
" Jm_k1 = besselj(m, k1, 0)\n",
" Jmp_k1 = besselj(m, k1, 1)\n",
" Ym_k = bessely(m, k, 0)\n",
" Ymp_k = bessely(m, k, 1)\n",
" Ym_k1 = bessely(m, k1, 0)\n",
" Ymp_k1 = bessely(m, k1, 1)\n",
" \n",
" C = (Jmp_k1 * Ym_k / (Jm_k1 * Jmp_k) - g * h * Ymp_k / Jmp_k) / (Jmp_k1 * Jm_k / (Jm_k1 * Jmp_k) - g * h)\n",
" \n",
" if m == 0:\n",
" eps = 1.\n",
" else:\n",
" eps = 2.\n",
" B = -eps * (1j) ** float(m) / (1. + 1j * C)\n",
" \n",
" q = (-1j) ** float(m) * B * np.cos(m * phi)\n",
"\n",
" return q\n",
"\n",
"fm_cylinder = np.vectorize(fm_cylinder_single_value, otypes=[np.complex128], excluded=['c', 'rho', 'c1', 'rho1'], )"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c = 1500.\n",
"rho = 1000.\n",
"c1 = 1505.\n",
"c2 = 10.\n",
"rho1 = 1000.\n",
"M = 20\n",
"\n",
"N_k = 2 ** 9\n",
"kvec = np.linspace(0.01, 10., N_k)\n",
"\n",
"phi = np.pi\n",
"D_cylinder = rayleigh_amplitude_cylinder(c, rho, c1, rho1, phi)\n",
"cylinder = np.zeros((M, len(kvec)), np.complex128)\n",
"for m in xrange(M):\n",
" cylinder[m] = fm_cylinder(kvec, phi, c, rho, c1, rho1, m)\n",
" \n",
"\n",
"def cylinder_power_spectrum(k, a=1):\n",
" return (2 * besselj(1, k * a) / (k * a)) ** 2\n",
"\n",
"theory_cylinder = cylinder_power_spectrum(2 * kvec, a=1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c = pp.circle.Circle(center=[0, 0], radius=1)\n",
"\n",
"N = 2 ** 10\n",
"x_ax = np.linspace(-2, 2, N)\n",
"y_ax = np.linspace(-2, 2, N)\n",
"\n",
"vol = c.generate_volume(x_ax, y_ax)\n",
"P = vol.sum(axis=-1)\n",
"\n",
"\n",
"dx = x_ax[1] - x_ax[0]\n",
"k0 = kvec.min()\n",
"k1 = kvec.max()\n",
"ks = np.pi / dx\n",
"\n",
"Z = np.abs(zfft(P, k0, k1, ks, len(kvec))) ** 2\n",
"Z = Z / Z.max()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig = plt.figure(figsize=(6,4))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"y = (np.abs(cylinder[:M].sum(axis=0)) / kvec ** 2 / D_cylinder * 2. / np.pi) ** 2\n",
"ax.semilogy(kvec, y, label='stanton')\n",
"ax.semilogy(kvec, theory_cylinder, label='(2 J1(k)/k)^2')\n",
"ax.semilogy(kvec, Z, label='projection')\n",
"ax.set_ylim(10**-6, 1.5)\n",
"ax.set_xlim(0, kvec.max())\n",
"ax.set_xlabel('ka')\n",
"ax.legend()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 22,
"text": [
"<matplotlib.legend.Legend at 0x10ae6af10>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nnNYJknW2AAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x10aab4e10>"
]
}
],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment