{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simple Flavor Mixing (Obsolete)\n", "\n", "Illustrate very basic neutrino flavor mixing in supernova neutrinos using the `SimpleMixing` class in ASTERIA." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "\n", "import astropy.units as u\n", "\n", "from asteria import config, source\n", "from asteria.neutrino import Flavor\n", "from asteria.oscillation import SimpleMixing\n", "\n", "mpl.rc('font', size=16)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load CCSN Neutrino Model\n", "\n", "Load a neutrino luminosity model (see YAML documentation)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "conf = config.load_config('../../data/config/test.yaml')\n", "ccsn = source.initialize(conf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic Mixing\n", "\n", "Set up the mixing class, which only depends on $\\theta_{12}$.\n", "\n", "See [nu-fit.org](http://www.nu-fit.org/) for current values of the PMNS mixing angles." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Use theta_12 in degrees.\n", "# To do: explicitly use astropy units for input.\n", "mix = SimpleMixing(33.8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mix the Flavors\n", "\n", "Apply the mixing and plot the resulting flux curves for the unmixed case and assuming the normal and inverted neutrino mass hierarchies." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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BRUVFZSXl3P99dfzjW98g5tuuokf/ehHhMPhYY1NRMY3xS8RyVUTKX4pUR2i9EZKqX1UNfVXJPNqampYtmwZy5cv59FHH6WiooIZM2Zw4403cuedd+omT0TGLMUvEclV2YhfSlSHKJWoehVVJaoio6W2tpb777+fJ554goqKCtrb29m6dSuhUIji4uJsD09E5KgUv0QkV2UjfmmN6hAdqqgGCAW9RFVdf0Uy79Zbb2XTpk3U1dWRSCT43Oc+xy233MKiRYt48sknsz08EZGjUvwSkVyVjfiliuoQRRNJwEtUTRVVkawIhULcddddAHzxi1/M8mhERAZO8UtEctVoxS9VVIcomjb1N2ipimo2RyQiIiIiIjI+KFEdot6uv8EA/u40mvorIiIiIiIyApSoDlE0rmZKIiIiIiIimaBEdYjS91FNbU+jiqqIiIiIiMjwKVEdovR9VFVRFRERERERGTlKVIco1fU3EgoQUEVVRERERERkxChRHaJYWtffUCBVUc3miERERERERMYH7aM6RL2JavBQrt+jTFVERERERGTYlKgOUaqZUl44QNxPWpNaoyqSUeavB++P098/ERnDFL9EJFdlK34pUR2i3mZKwUBvJVVrVEUySzdzIpKrFL9EJFdlK35pjeoQRdPWqAYC6vorMhpaWlqorq7ufbx48WJaW1uzOCIRkYFR/BKRXJWt+KVEdYjSmykFTV1/RUZDWVkZHR0dxONxABYuXMiaNWuyPCoRkeNT/BKRXJWt+KVEdYiiafuoBrU9jUxAOz91Azs/dcNhx5puu42dn7qBrrTg1f700+z81A0c+Pkveo8lW1rY+akbaPjyVwb9vlVVVTQ2NgKwYcMGqqqqhvgTiMhEpfglIrlqIsUvrVEdovSKamp9sab+imReTU0NDQ0NrFixgoqKCubPn5/tIYmIDIjil4jkqmzELyWqQxRLJoG+U3+zOSKR0VX3wx8ccazy058+4ljx0qUUL1162LFgWVm/rx+Impoali1bxvLly3n00UdpamriS1/6Et/4xje46aab+NGPfkQ4HB7StUVkYlD8EpFcNZHilxLVIUokveppOGCEgmqmJDJaamtruf/++3niiSeoqKgAYMaMGdx4443ceeeduskTkTFL8UtEclU24pfWqA5Rwl+PGgwYAb+i2qM1qiIZd+utt7Jp0ybq6uoAaG9v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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 3, figsize=(13,3.5), sharex=True, sharey=True)\n", "\n", "ax1, ax2, ax3 = axes\n", "t = np.linspace(-0.1, 1, 201) * u.s\n", "\n", "# UNMIXED\n", "for ls, flavor in zip([\"-\", \"--\", \"-.\", \":\"], Flavor):\n", " flux = ccsn.get_flux(t, flavor)\n", " \n", " ax1.plot(t, flux, ls, lw=2, label=flavor.to_tex(), alpha=0.7)\n", " ax1.set_title(\"Unmixed\")\n", "# plt.yscale('log')\n", "# plt.ylim(3e51, 5e53)\n", "ax1.set(xlabel='time - $t_{bounce}$ [s]',\n", " ylabel='flux')\n", "ax1.legend()\n", "\n", "# NORMAL MIXING\n", "nu_list1 = []\n", "i = 0\n", "for flavor in Flavor:\n", " flux = ccsn.get_flux(t, flavor)\n", " nu_list1.append(flux)\n", " \n", "nu_new1 = mix.normal_mixing(nu_list1)\n", "\n", "for ls, i, flavor in zip([\"-\", \"--\", \"-.\", \":\"], range(len(nu_new1)), Flavor):\n", " new_flux1 = nu_new1[i]\n", " ax2.plot(t, new_flux1, ls, lw=2, alpha=0.7, label=flavor.to_tex())\n", " ax2.set_title(label=\"Normal Mixing\")\n", "\n", "ax2.set(xlabel='time - $t_{bounce}$ [s]',\n", " ylabel='flux')\n", "\n", "ax2.legend()\n", "\n", "# INVERTED MIXING\n", "nu_list2 = []\n", "i = 0\n", "for flavor in Flavor:\n", " flux = ccsn.get_flux(t, flavor)\n", " nu_list2.append(flux)\n", " \n", "nu_new2 = mix.inverted_mixing(nu_list1)\n", "\n", "for ls, i, flavor in zip([\"-\", \"--\", \"-.\", \":\"], range(len(nu_new2)), Flavor):\n", " new_flux2 = nu_new2[i]\n", " ax3.plot(t, new_flux2, ls, lw=2, alpha=0.7, label=flavor.to_tex())\n", " ax3.set_title(label=\"Inverted Mixing\")\n", "\n", "ax3.set(xlabel='time - $t_{bounce}$ [s]',\n", " ylabel='flux')\n", "ax3.legend()\n", "\n", "\n", "fig.tight_layout();" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }