Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/docs/SolenoidField.ipynb is written in an unsupported language. File is not indexed.

0001 {
0002  "cells": [
0003   {
0004    "cell_type": "markdown",
0005    "metadata": {},
0006    "source": [
0007     "# ACTS documentation for Solenoid Field implementation\n",
0008     "\n",
0009     "Simple coil magnetic field\n",
0010     "\n",
0011     "$E_1(k^2) =$ complete elliptic integral of the 1st kind\n",
0012     "$E_2(k^2) =$ complete elliptic integral of the 2nd kind\n",
0013     "\n",
0014     "$E_1(k^2)$ and $E_2(k^2)$ are usually indicated as $K(k^2)$ and $E(k^2)$ in literature, respectively\n",
0015     "\n",
0016     "$$\n",
0017     "E_1(k^2) = \\int_0^{\\pi/2} \\left( 1 - k^2 \\sin^2{\\theta} \\right)^{-1/2} \\mathop{}\\!\\mathrm{d}\\theta\n",
0018     "$$\n",
0019     "\n",
0020     "$$\n",
0021     "E_2(k^2) = \\int_0^{\\pi/2}\\sqrt{1 - k^2 \\sin^2{\\theta}} \\mathop{}\\!\\mathrm{d}\\theta\n",
0022     "$$\n",
0023     "\n",
0024     "$k^2 = $ is a function of the point $(r, z)$ and of the radius of the coil $R$\n",
0025     "\n",
0026     "$$\n",
0027     "k^2 = \\frac{4Rr}{(R+r)^2 + z^2}\n",
0028     "$$\n",
0029     "\n",
0030     "Using these, you can evaluate the two components $B_r$ and $B_z$ of the magnetic field:\n",
0031     "\n",
0032     "$$\n",
0033     "B_r(r, z) = \\frac{\\mu_0 I}{4\\pi} \\frac{kz}{\\sqrt{Rr^3}} \\left[ \\left(\\frac{2-k^2}{2-2k^2}\\right)E_2(k^2) - E_1(k^2) \\right]\n",
0034     "$$\n",
0035     "\n",
0036     "$$\n",
0037     "B_z(r,z) = \\frac{\\mu_0 I}{4\\pi} \\frac{k}{\\sqrt{Rr}} \\left[ \\left( \\frac{(R+r)k^2-2r}{2r(1-k^2)} \\right) E_2(k^2) + E_1(k^2) \\right]\n",
0038     "$$\n",
0039     "\n",
0040     "In the implementation proposed the factor of $(\\mu_0\\cdot I)$ is defined to be a scaling factor. It is evaluated and defined the magnetic field in the center of the coil"
0041    ]
0042   },
0043   {
0044    "cell_type": "code",
0045    "execution_count": null,
0046    "metadata": {},
0047    "outputs": [],
0048    "source": [
0049     "from subprocess import check_output\n",
0050     "\n",
0051     "\n",
0052     "def asciitex(eq, lc=\"/// \"):\n",
0053     "    out = check_output([\"asciitex\", eq]).decode(\"utf-8\").rstrip()\n",
0054     "    out = \"\\n\".join([lc + l for l in out.split(\"\\n\")])\n",
0055     "    print(out, \"\\n\")"
0056    ]
0057   },
0058   {
0059    "cell_type": "code",
0060    "execution_count": null,
0061    "metadata": {},
0062    "outputs": [],
0063    "source": [
0064     "asciitex(\n",
0065     "    r\"E_1(k^2) = \\int_0^{\\pi/2} \\left( 1 - k^2 \\sin^2{\\theta} \\right)^{-1/2} d\\theta\"\n",
0066     ")\n",
0067     "asciitex(r\"E_2(k^2) = \\int_0^{\\pi/2}\\sqrt{1 - k^2 \\sin^2{\\theta}} d\\theta\")\n",
0068     "\n",
0069     "asciitex(r\"k^2 = \\frac{4Rr}{(R+r)^2 + z^2}\")\n",
0070     "\n",
0071     "asciitex(\n",
0072     "    r\"B_r(r, z) = \\frac{\\mu_0 I}{4\\pi} \\frac{kz}{\\sqrt{Rr^3}} \"\n",
0073     "    r\"\\left[ \\left(\\frac{2-k^2}{2-2k^2}\\right)E_2(k^2) - E_1(k^2) \\right]\"\n",
0074     ")\n",
0075     "\n",
0076     "asciitex(\n",
0077     "    r\"B_z(r,z) = \\frac{\\mu_0 I}{4\\pi} \\frac{k}{\\sqrt{Rr}} \"\n",
0078     "    r\"\\left[ \\left( \\frac{(R+r)k^2-2r}{2r(1-k^2)} \\right) E_2(k^2) + E_1(k^2) \\right]\"\n",
0079     ")"
0080    ]
0081   },
0082   {
0083    "cell_type": "code",
0084    "execution_count": null,
0085    "metadata": {},
0086    "outputs": [],
0087    "source": []
0088   },
0089   {
0090    "cell_type": "code",
0091    "execution_count": null,
0092    "metadata": {},
0093    "outputs": [],
0094    "source": []
0095   }
0096  ],
0097  "metadata": {
0098   "kernelspec": {
0099    "display_name": "Python 3",
0100    "language": "python",
0101    "name": "python3"
0102   },
0103   "language_info": {
0104    "codemirror_mode": {
0105     "name": "ipython",
0106     "version": 3
0107    },
0108    "file_extension": ".py",
0109    "mimetype": "text/x-python",
0110    "name": "python",
0111    "nbconvert_exporter": "python",
0112    "pygments_lexer": "ipython3",
0113    "version": "3.7.0"
0114   }
0115  },
0116  "nbformat": 4,
0117  "nbformat_minor": 2
0118 }