{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import path as Path\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "from astropy.cosmology import FlatwCDM\n", "from astropy.cosmology import FlatLambdaCDM\n", "from astropy.cosmology import LambdaCDM\n", "from astropy.cosmology import wCDM\n", "from astropy.cosmology import Flatw0waCDM\n", "import scipy\n", "from escape_functions import *\n", "from multiprocessing import Process\n", "from multiprocessing import Queue\n", "from multiprocessing import Pool\n", "import emcee\n", "import corner" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "cosmo = FlatwCDM(H0=70, Om0=0.2,w0=-1)\n", "cosmo = wCDM(H0=70, Om0=0.2,Ode0 = 0.8,w0=-1)\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.2)\n", "cosmo = LambdaCDM(H0=70, Om0=0.2, Ode0 = 0)\n", "cosmo = Flatw0waCDM(H0=70, Om0=0.2, w0=-0.9, wa=0.2)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.94194203988 Mpc\n", "4.30091727007e-09 km2 Mpc / (s2 solMass)\n" ] } ], "source": [ "z=0.2\n", "M200 = 1e15*u.solMass\n", "rho_crit = cosmo.critical_density(z)\n", "rho_crit = rho_crit.to(u.solMass / u.Mpc**3)\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.2,name='FlatLambdaCDM')\n", "R200crit = (3*M200/(4*np.pi*200.* rho_crit))**(1./3.)\n", "radius_array = np.linspace(0.3,2.0,100).round(3) #specify radius array for profiles. used in v_esc(r) funcs below.\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "R200crit = (3*M200/(4*np.pi*200.* rho_crit))**(1./3.)\n", "print R200crit\n", "print astroc.G.to( u.Mpc * u.km**2 / u.s**2 / u.solMass)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.51323424909618e+17 0.00015851545071770797 3.9924039489419973\n" ] } ], "source": [ "M200 = 1e15*u.solMass\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.2,name = 'FlatLambdaCDM')\n", "radius_array = np.linspace(0.3,2.0,100).round(3) #specify radius array for profiles. used in v_esc(r) funcs below.\n", "z = 0.2\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "M200,R200,conc,rho_0,h,n, simga_rho_0, sigma_h, sigma_n = einasto_nfwM200_errors(M200, 1/20.0, z,cosmo)\n", "print rho_0, h,n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "15.480040435062712\n", "15.480040435062712\n" ] } ], "source": [ "r,phi0 = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "Mtot = M_total(rho_0, h, n)\n", "req = r_eq(z,Mtot,cosmo)\n", "print req\n", "Mtot = M_total(rho_0, h, n)\n", "H_z = cosmo.H(z)\n", "G_newton = astroc.G.to( u.Mpc * u.km**2 / u.s**2 / u.solMass).value #Mpc km2/s^2 Msol\n", "r_eq_cubed = -((G_newton*Mtot) / (q_z_function(z, cosmo) * H_z.value**2.))\n", "req = (r_eq_cubed)**(1.0/3.0)# Mpc\n", "print req\n", "#print np.sqrt(2.*phi_einasto(req,rho_2,r_2,alpha))\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEACAYAAAC+gnFaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VNXWh99NFwgYQOlNikAA6emN3hJ6s1AVLwhyLVzA\nBur1giCIWPikKL0jhBRCSSeEIkW6dKSIUkJHIGR9f5xJSMgkJCGTmST7fZ7zOLPPPmevE4f5zd5r\nr7WUiKDRaDSavEs+axug0Wg0GuuihUCj0WjyOFoINBqNJo+jhUCj0WjyOFoINBqNJo+jhUCj0Wjy\nOE8UAqVUYaXUdqXUHqXUfqXUeFP7ZKXUYaXUXqXUaqVUiSTXjFNKHTOdb5ukvYlSap9S6qhSarpl\nHkmj0Wg0GeGJQiAi9wBvEWkMNAI6KKVaABsBBxFpBBwDxgEopeoBvYG6QAfgB6WUMt1uJjBERGoD\ntZVS7bL6gTQajUaTMdK1NCQid0wvCwMFjCbZLCLxpvZtQCXTa19gmYjEichpDJFooZQqB9iJyE5T\nvwVA1yx4Bo1Go9E8BekSAqVUPqXUHuAisCnJl3kCg4Eg0+uKwNkk586b2ioC55K0nzO1aTQajcaK\npHdGEG9aGqoEOJqWfwBQSn0IPBCRpRayUaPRaDQWpEBGOovIDaVUGNAeOKSUGgh0BFom6XYeqJzk\nfSVTW2rtKVBK6QRIGo1GkwlERD25V3LSs2uojFKqpOn1M0Ab4IhSqj0wGvA1OZQTWAf0VUoVUkpV\nB2oCO0TkInBdKdXC5DzuD/il8TA2dYwfP97qNmibcpdd2iZtU1YfmSU9M4LywHylVD4M4VguIkFK\nqWNAIWCTaVPQNhEZLiKHlFIrgEPAA2C4PLLwLWAeUAQIEpHgTFuu0Wg0mizhiUIgIvuBJmbaa6Vx\nzURgopn2XUCDDNqo0Wg0GguiI4vTiZeXl7VNSIG2Kf3Yol3apvShbbI86mnWlSyFUkps0S6NRqOx\nZZRSSCacxRnaNaTRaNJPtWrVOHPmjLXN0ORCqlatyunTp7PsfnpGoNFYCNOvM2ubocmFpPbZyuyM\nQPsINBqNJo+jhUCj0WjyOFoINBqNJo+jhUCj0WjyOFoINBqNWerXr09kZKS1zXhqnvQc1atXJzQ0\nNBstsj20EGg0eZhq1apRtGhRSpQogZ2dHSVKlODtt98G4MCBA3h4eFh0/Oz4En78ObJqzD179vDR\nRx899X1sAS0EGk0eRilFYGAgN27c4ObNm9y4cYMZM2ZY26wcwdq1a1m7dq21zcgStBBoNHmc1GId\nkv5yrl69OlOnTuWll17C3t6efv36cf/+/cS+X375JTVr1qREiRLUr18/2Rfkl19+SaVKlShRogR1\n69YlLCwMgP79+/PHH3/g4+NDiRIl+Oqrrzhy5Aje3t7Y29vToEED/P39zdo2b948fH19E9/XqlWL\nPn36JL6vUqUK+/btS/EcCWN27tyZEiVKMGXKFJRS7NmzJ9VnS42CBQty4sQJTp48+cS+No+106am\nkkpVNJqcTk74HFerVk1CQkKeeK5atWri6OgoFy9elNjYWKlbt678+OOPiX1XrVolFy9eFBGRFStW\nSLFixeTixYvy+++/S+XKlRPPnTlzRk6ePJlsjNDQUBERefDggdSsWVMmTZokDx48kNDQULGzs5Oj\nR4+msO3kyZNib28vIiIXLlyQqlWrSuXKlUVE5MSJE1KqVKlUnzHpmOl5NnOcPn1a/Pz8pH379vL1\n11+n2dcSpPbZMrVn+DtXzwg0GmuiVNYcT0HXrl0pVaoU9vb2lCpVirlz55rtN2rUKMqWLcuzzz6L\nj48Pe/fuTTzXo0cPypYtC0CvXr2oVasWO3bsIH/+/Ny/f58DBw4QFxdHlSpVqF69erL7imlGEhMT\nw+3btxkzZgwFChTA29ubzp07s3RpyuKH1atXx87Ojr179xIZGUm7du2oUKECR48eJTIyEnd39zSf\nOWHM9DybOTZt2kTbtm3x8fFh3bp1afbNCeRaIXj8f7RGY5OIZM3xFPj5+XH16lViY2O5evUqQ4YM\nMdsv4YseoGjRoty6dSvx/YIFC2jcuDH29vbY29tz8OBBLl++TI0aNZg+fToTJkygbNmyvPzyy/z5\n559m7//nn39SuXLlZG1Vq1bl/HmzhQzx9PQkLCyMyMhIvLy88PLyIjw8nIiICDw9PTP0N0jr2cxx\n+/ZtihQpgq+vL9HR0Vy/fj1D49kauVYIRo4cydtvv83du3etbYpGY9M87Y+mP/74g6FDh/LDDz8Q\nGxtLbGwsDg4Oifft27cvUVFRiQn4xo4dm3itSjKbqVChAmfPnk1x74oVK5od18PDg/DwcLZs2YKn\npyceHh5EREQQGRmZphCop5xBXb9+HXt7ewAqVapE/fr1CQwMfKp7WptcKQRBQUF8//33fPvttzRt\n2pTdu3db2ySNJtdy+/Zt8uXLR5kyZYiPj+fnn3/mwIEDABw9epSwsDDu379PoUKFeOaZZ8iX79HX\nTrly5RKdrY6OjhQtWpTJkycTFxdHeHg4AQEB9O3b1+y4CTOCu3fvUqFCBdzd3QkODubKlSs0btw4\nVXuTjpkZAgICaN++feJ7Hx8f/PxSrbqbI8h1QnDp0iUGDx6c+P7w4cM4OjoyceJEHj58aEXLNBrb\nJGHXTsLRo0cPIPkv57R+RdetW5f33nsPJycnypUrx8GDB3FzcwPg3r17jB07lueee44KFSpw6dIl\nJk58VLxw7NixfP7555QqVYpvv/0Wf39/goKCKFOmDCNGjGDhwoXUrl3b7Li1atXCzs4uMUbAzs6O\nGjVq4ObmlqbtScecOnVqhmYIq1evZsyYMXz11VcAHD9+nL179xIQEMDnn3+e7vvYGrkuDfX+/fvp\n2rWrWcV3dXVl/vz51KhR42lN1GieiE5DrbEU2Z6GWilVWCm1XSm1Rym1Xyk13tRur5TaqJT6XSm1\nQSlVMsk145RSx5RSh5VSbZO0N1FK7VNKHVVKTc+osemhQYMG7N27N9msIIHo6GheeuklZs2apf+B\najQajYknCoGI3AO8RaQx0AjooJRqAYwFNovIi0AoMA5AKVUP6A3UBToAP6hHc6+ZwBARqQ3UVkq1\ny+oHAmOKOHfuXH755RdKly6d7Nzt27d588036dSpU6q7ETQajSYvkS4fgYjcMb0sjFHeUoAuwHxT\n+3ygq+m1L7BMROJE5DRwDGihlCoH2InITlO/BUmusQjdunXjwIEDdOjQIcW59evX4+DgwPz58/Xs\nQKPR5GnSJQRKqXxKqT3ARWCT6cu8rIj8BSAiF4HnTd0rAkn3gJ03tVUEziVpP2dqsyjlypUjMDCQ\nH3/8kWLFiiU7d/36dQYOHIivry8XLlywtCkajUZjk6R3RhBvWhqqhPHr3gFjVpCsW1Ybl1UopRg6\ndCi//fZb4m6GpAQEBODg4MC8efP07ECj0eQ5CmSks4jcUEqFA+2Bv5RSZUXkL9Oyz9+mbueBpOGB\nlUxtqbWbZcKECYmvE6IGn5YaNWoQHh7OjBkz+OCDD/jnn38Sz127do1BgwaxbNkyZs2aRZUqVZ56\nPI1Go7Ek4eHhhIeHP/V9nrh9VClVBnggIteVUs8AG4BJgCdwVUS+VEqNAexFZKzJWbwYcMRY+tkE\n1BIRUUptA94GdgKBwAwRCTYzZqa3j6aX33//nUGDBhETE5PiXPHixZk4cSLDhw9PFvyi0WQEvX1U\nYymyevtoeoSgAYYzOJ/pWC4iXyilSgErMH7lnwF6i8g10zXjgCHAA2CUiGw0tTcF5gFFgCARGZXK\nmBYXAoCHDx8yY8YMPvzwQ7OpKJydnZkzZw716tWzuC2a3IcWAo2lyHYhsAbZJQQJHD9+nCFDhpgt\nZ1ewYEHGjh3LBx98QJEiRbLNJk3ORwuBxlJke0BZXqBmzZqEhYUxc+ZM7Ozskp178OABn3/+OS+9\n9FKWrMVpNDkFXbM476CFwES+fPn417/+xaFDh/Dx8Ulx/ujRo3h7ezNgwAAuXbpkBQs1mqxH1yy2\nLOkdy9r1j7UQPEalSpXw8/NjxYoVlCtXLsX5BQsW8OKLLzJ79mzi4+OtYKFGk3XomsW2gbXrH2sh\nMINSil69enH48GHefPPNFOdjY2MZOnQorq6u7NmzxwoWajRZR2p+DF2z2CAtm/Lly5csweWgQYP4\n5JNPUn2+1LB6/ePM1Le09IGN1XqNjo6WBg0aCEbQXLIjX758MmLECImNjbW2mRobw9Y+x+bQNYvT\nfrYn2ZQvXz45ceJE4r0GDhwoH3/8capjmSMz9Y9T+2yhaxZbDhcXF3bt2sXkyZMpWrRosnPx8fF8\n99131K5dm59//lkvF2kyhFIqS46nQdcsTv3ZnmTT4/dJz1iPYwv1j7UQpJOCBQsyevRoDh06RNeu\nKXPlJRTEcXFx4ddff7WChZqcSGZ+vZk7ngZdszj1Z8uoTZnBFuofayHIIFWrVmXNmjUEBgbywgsv\npDi/fft2WrRowZAhQ/jrr7+sYKFGkzGeVkhyc83iJ9lUtGhR7ty5k3ju4sWLGRrLVuofayHIJB07\nduTgwYN89tlnKQLNRISffvqJ2rVr89VXXyVzPGk0uY3cXLM4NZv69esHQOPGjVmyZAnx8fEEBwcT\nERGRobFspf6xFoKnoEiRInz88cccPnyYbt26pTh/48YNRo8ejYODA+vWrdNRphqbRNcsTv3ZChYs\naNamWrVqATB9+nTWrVuHvb09S5cuTfE9kHSsadOmJTtnS/WPdYqJLGTTpk2MGjWKw4cPmz3fqlWr\nxC14mtyPTjGhsRQ6xYQN06ZNG3777Te+/vprSpYsmeJ8SEgIjRs35vXXX0/VYabRaDTZjZ4RWIhL\nly7xySefMGvWLLNbSosVK8bo0aN5//33U1RO0+QO9IxAYyl09tEcxv79+3nnnXcICQkxe75cuXJ8\n9tlnDBo0iAIFMlQnSGPjaCHQWAotBDkQESEoKIj333+fI0eOmO1Tr149Jk6ciI+Pz1MHCGlsAy0E\nGkuhfQQ5EKUUnTp1Yt++fXz33XeUKVMmRZ9Dhw7RpUsXPDw82Lp1qxWs1Gg0eRU9I7AC169f58sv\nv+Trr79OVjc5Kb6+vnzxxRfUr18/m63TZBV6RqCxFHppKBdx9uxZPvnkE+bPn5/q/9RXX32VCRMm\nmI1i1tg2Wgg0lkILQS5k//79jB07lqCgILPnCxQowBtvvMFHH31EhQoVstk6TWbRQqCxFNnuI1BK\nVVJKhSqlDiql9iul3ja1v6SUilFK7VFK7VBKNUtyzTil1DGl1GGlVNsk7U2UUvuUUkeVUtMzamxu\npUGDBgQGBhIeHo6zs3OK83FxccycOZMaNWrw3nvv8ffff1vBSo1Gk2tJR1bDckAj0+viwBGgLrAB\naGtq7wCEmV7XA/YABYBqwHEezTy2A81Nr4OAdqmMaTbXdl4gPj5e/Pz8xMHBwWz9A0CKFSsm48aN\nkytXrljbXE0a5OXPcVbi4OAgERERqZ5Pq6ZCbiW1zxaWqkcgIhdFZK/p9S2TEFQA4oGE8NlngYS8\nrL7AMhGJE5HTwDGghVKqHGAnIjtN/RYAKfM553GUUvj6+vLbb7+xcOHCFLnbwUjyNXHiRKpVq8Yn\nn3xCbGysFSzV5AaqVatG2bJluXv3bmLb3LlzadmyZeL5x2saX7x4kUmTJtGxY8dk96pVqxadOnVK\n1la7dm1WrFjxVDYmrTmcVfWGrV0j2NbI0PZRpVQ1oBHGL/t3gK+UUn8Ak4Fxpm4VgaR5W8+b2ioC\n55K0nzO1acyQP39+Xn31VY4cOcLMmTPN+gZu3rzJ559/TrVq1Rg/frwWBE2GUUoRHx/P9OnmV2rN\n1TQuV64cHh4exMTEJK5TX7x4kbi4OPbs2ZOs7cSJE8kKx9sK1q4RbGukWwiUUsWBVcAo08xgmOl1\nFQxR+CkrDZswYULiER4enpW3zlEUKlSIf/3rXxw/fpyvv/6a559/PkWfGzdu8NlnnyXOEK5evWoF\nSzUZQqmsPzLJ6NGjmTp1Kjdu3DB7PuGLPSnNmzfn/v37iZW8oqKi8Pb25sUXX0zWVqNGDcqVK5fi\n+szUHE6rBnBaNYfNYfUawVlEeHh4su/KTJOe9SOM9f5gjC/+hLZrj/W5ZvrvWGBMkvZgwBHD13A4\nSXtfYGYq4z3dAlou5tatWzJ58mQpXbp0qj4EOzs7GTt2rPz999/WNjdPk+bnGLL+yAQJ6+s9evSQ\njz76SERE5syZI97e3snOm8Pb21umT58uIiIjRoyQn3/+WT766KNkbUOGDDF7bWZrDpurAfykesqP\nk5kawbZGap8tLFyz+CfgkIh8k6TtvFLKE0Ap1QrDFwCwDuirlCqklKoO1AR2iMhF4LpSqoUycij0\nB7K/AkMOJyFZ3alTp/jf//5HqVKlUvS5efMmkyZNolq1arz77rtcuHDBCpZqchKffvop3333HVeu\nXElxLqGmcalSpejevXtiu6enJ5GRkYDx69/d3R03N7dkbalVCnuamsNiZoaSVj3lx7GFGsG2Rnq2\nj7oCrwAtTVtFdyul2gNvAFOVUnuA/wJDAUTkELACOISxM2i4PPo/9xYwFzgKHBOR4Kx+oAREJEXZ\nuNyEnZ0d48aN4/Tp0/zvf/+jdOnSKfrcuXOHr7/+murVqzNs2DBOnz6d/YZqcgQODg507tw5WdGY\nBBJqGl+9epVffvklsd3Dw4MtW7YQGxubWJ/YxcWFrVu3Ehsbm8zJa47sqDlsDluoEWxrpGfXULSI\n5BeRRiLSWESaiEiwiGwVkWamNmcR2ZPkmokiUlNE6orIxiTtu0SkgYjUEpFRlnooMHL3NGjQgB9/\n/DFXB/UkCMKpU6eYNGkSzz33XIo+9+/f5//+7/+oWbMm/fv359ChQ1awVJMMSywOPSUTJkxg9uzZ\nKQqzp/bvx9nZmWvXrjF79mxcXV0B4/NYoUIFZs+eTcWKFalatWqq42Wm5vDTJmS0lRrBtkauTTrn\n4OBAeHg4c+fOpU2bNomFs3MrdnZ2jBkzhlOnTjFt2jSzDrqHDx+ycOFCHBwc6Nq1K9u2bbOCpRpb\npUaNGvTp04cZM2akq3+RIkVo1qwZ06ZNS7aU4+rqyrRp0564WygzNYfLli37VA5eW6kRbGvkWiEA\nQwy2bt1K69atadq0KT/88IPZIjG5iWLFivHOO+9w6tQpfvjhB6pUqWK2n5+fH87Oznh6ehIUFJSr\nZ02a1Hn8F/Ynn3zCnTt3Etuf9Avc09OTS5cuJdYoBnB3d+fSpUtPXN7JTM3hcePGpagBnN5Zgi3V\nCLY18kyuocOHDzN48GAKFSrE3LlzqVmzZpbe31Z58OABixcvZtKkSfz++++p9qtfvz6jR4+mb9++\nFCpUKBstzL3oXEMaS6HrEWSSunXrsmXLFrp164aTkxNTpkwhLi7O2mZZnIIFCzJw4EAOHjzIqlWr\naNq0qdl+Bw4cYMCAAdSoUYOvvvpKO9A0mjxEnpkRJOXkyZO8+eabXLlyhTlz5tCkSROLjWVriAgh\nISF8+eWXbN68OdV+dnZ2vPHGG4waNSrV5SVN2ugZgcZS6DTUWYSIMH/+fMaMGUP//v2ZMGFCnisi\n/+uvvzJlyhRWrVqVqu8kf/789OrVi3fffZfmzZtns4U5Gy0EGkuhl4ayCKUUAwcOZN++fVy4cIH6\n9esTHGyxsAabpFmzZixfvpxjx47x1ltv8cwzz6To8/DhQ5YtW0aLFi1wc3Nj9erVeWJJTaPJS+TZ\nGcHjbNiwgeHDh9O8eXO+/vprypcvn63j2wKXL19m5syZfPfdd2nWPKhatSojR45kyJAhPPvss9lo\nYc5Czwg0lkLPCCxEu3bt2L9/PzVq1KBhw4Z8//33PHz40NpmZStlypTh448/5syZM8yePZt69eqZ\n7XfmzBnef/99KlasyPDhwzl8+HA2W6rRaLISPSMww6FDhxg2bBi3b99m5syZeXZtXETYsGED06ZN\nY9OmTWn2bdOmDSNHjqRjx47kz58/myy0bfSMQGMptLM4mxARFi5cyJgxY+jatStffPGF2QRveYUD\nBw4wY8YMFi5cyD///JNqv+rVqzN8+HAGDx6cp/9eoIVAYzn00lA2oZSif//+HD58mPz581OvXj3m\nzp2b6yOTU6N+/frMmjWLs2fP8sUXX1CxovmaQqdOnWL06NFUrFiRIUOGsGvXrmy2VKPRZJjM5K62\n9IEN1iPYtWuXODs7S4sWLWTHjh3WNsfq3L9/X5YtWyYuLi6p1kVIOBwdHWX+/Ply9+5da5udrdji\n5zgnomsWpyS1zxaZrEdg9S99s0bZ6D+ghw8fyrx586RcuXIyZMgQ+euvv6xtkk2wa9cuGThwoBQu\nXDhNQShVqpS89957cvToUWubnC3Y6uc4KVWrVpXnn39e7ty5k9iWtDBN1apV5ZlnnhE7OzspXry4\n2NnZyZ9//ikTJ06UDh06JLtXzZo1pWPHjsnaatWqJcuXL88ye8196VtKCDJy3927d8uHH36Y5Tak\nRlYLgV4aygD58uVjwIABHDlyhJIlS+Lg4MD06dN58OCBtU2zKk2aNOHnn3/m3LlzTJo0KdVI5KtX\nrzJ16lRq165N69atWbly5RNLCmosS16tWZzV5PQayFoIMkHJkiWZOnUqUVFRBAcH07BhQ9avX29t\ns6xOmTJlGDNmDCdPnsTPz4927dql2jckJITevXtTuXJlxo0bx4kTJ7LRUuujlMryI7Pk9prFR44c\nwdvbG3t7exo0aIC/v3/iuXz58iVLaz1o0CA+/vjjNMcyR06vgayF4CmoU6cO69evZ8qUKYwaNYqO\nHTvqPfUYaSl8fX0JDg7m6NGjvPvuu4nFQB7n77//ZtKkSdSsWZM2bdqwYsUK7t27l80W522aNWuG\nl5cXU6ZMSfc1BQsWxNHRMbEsZWRkJB4eHslKVSa0mcPT05MtW7YA8Oeff/LgwQNiYmIAIxfY7du3\nadiwYbJrFixYQJUqVQgICODGjRu8//77iedWrlzJxo0bOXXqFL/99hvz5s0DIC4uDh8fH9q3b8+l\nS5eYMWMGr7zyCseOGZV1zQmoUirNsR7nzJkzNGzYEC8vrxxb+lILwVOilKJz584cOHCA1q1b4+Hh\nwciRI7l8+bK1TbMJatWqxdSpUzl//jwLFizA2dk51b6bN2+mT58+VKpUiffee09XUstGcmvN4piY\nGG7fvs2YMWMoUKAA3t7edO7cmaVLl6Z6ryeN9Ti5oQayFoIsolChQrz77ruJM4K6desybdo0/evW\nxDPPPMNrr73G1q1b+e233xg+fDglSpQw2/fy5ctMmzYNBwcHXFxcmDt3bpo1aDVPT26tWfznn39S\nuXLlZH2rVq2aohzn05AbaiCnp3h9JaVUqFLqoFJqv1Lq7STnRiqlDpvaJyVpH6eUOmY61zZJexOl\n1D6l1FGllHnvVA6nTJkyfPvtt0RGRhIaGkq9evVYuXKlDixKQkIKjwsXLjB37lycnJxS7RsTE8Pr\nr79OuXLlGDJkCNHR0bnib5mZnR1POp6W3FizuEKFCpw9ezZZ2x9//JEYB1O0aFHu3LmTeO7ixYsZ\nGiu31EBOz4wgDnhXRBwAZ+AtpVQdpZQX4AM0EJEGwFcASqm6QG+gLtAB+EE9+ovOBIaISG2gtlIq\ndW9iDqdu3boEBAQwe/ZsJk6ciIuLS+KaqMagWLFiDB48mJiYGPbt28fIkSNTTWJ3+/ZtfvrpJ9zc\n3KhTpw4TJ07M0l91mtxZs9jR0ZGiRYsyefJk4uLiCA8PJyAggH79+gHQuHFjlixZQnx8PMHBwURE\nRGRorNxSA/mJQiAiF0Vkr+n1LeAwUBEYBkwSkTjTuYRF8S7AMhGJE5HTwDGghVKqHGAnIjtN/RYA\nXbPyYWyRli1b8uuvvzJ8+HBeeeUVunbtypEjR6xtls3RoEEDZsyYwYULF1i8eDFeXl6p9j169Cgf\nfPABVapUoX379ixbtoy7d+9mn7G5iNxes7hgwYL4+/sTFBREmTJlGDFiBAsXLqRWrVoATJ8+nXXr\n1mFvb8/SpUvp1q1bmmMlJVfVQM7g1LMacBooDuwBJgDbgDCgqanPt8DLSa6ZA3QHmgIbk7S7AetS\nGScdIRVP4MABkTNnnv4+Wcjdu3dlypQpUqZMGXnjjTfk3Llz1jbJpjl27Jh88MEHUqFChSdGL5cs\nWVLeeOMNiYqKkvj4eGubLiI5I6BMkzNJ7bNFJgPK0p10TilVHAgHPhcRP6XUfiBUREYppZoDy0Xk\nBaXUt0CMiCwxXTcHCALOABNFpK2p3Q34j4j4mhlLxo8fn/g+wZGUbm7dgqZN4e+/YfZs6Nkz/ddm\nA7GxsUyaNIk5c+YwdOhQxowZo/P6p0FcXBybNm3ip59+ws/P74kBfDVq1OC1117j1VdfpUaNGtlk\nZUp00jmNpUj4bIWHhxMeHp7Y/umnnyKZSDqX3plAASAYGJWkLQjwTPL+GFAaGAuMTdIeDDgC5YDD\nSdr7AjNTGe/p5HLIEBF4dLz+usitW093Twtw9uxZGTJkiJQpU0YmTpwot2/ftrZJNs/ly5dlxowZ\n0rhx4yfOEgBxcXGRmTNnypUrV7Ld1qf+HGs0qZDaZwtL5hrCWM+f9ljbUOBT0+vawBnT63oYy0aF\ngOrAcR6lu94GtACUSUjapzJe5v9CoaHJRSDhqF1bZNeuzN/Xghw+fFh69uwp5cuXl++//17u3btn\nbZNyBHv37pV33nlHnn/++ScKQqFChaRr166ycuXKbEt+p4VAYymyXQgAV+AhsNf0Bb8baA8UBBYC\n+4FfH5sdjDMJwGGgbZL2pqb+x4Bv0hgz83+hhw9Fpk4VKVgwpRgULCjy5ZcicXGZv78F2blzp7Rr\n106qV68u8+bNkzgbtdPWuH//vvj7+0vPnj2lUKFC6fInDB48WDZv3mzRv7EWAo2lyGohyL2FaXbv\nhj594PjxlOe8vGD+fEglOZq1iYqK4sMPP+TSpUtMmDCBXr16kS+fjv1LD7GxsaxcuZKFCxema7tu\n+fLl6dM4SAY/AAAgAElEQVSnD/369aN58+ZPlbPncbSPQGMpdIWy9HLwIHh7w0svwebNKc+XLAnf\nfw8vvwxZ+I8/qxARNm3axMcff8ydO3f49NNP6dq1qxaEDHDy5EkWL17MwoULE3PLpEWNGjXo168f\nffv2xcHB4anH10KgsRRZLQQZnkJkx0FWTam3bRN54QWR1q1FSpUy7zvo1Uvk8uWsGc8CxMfHi7+/\nvzRu3FgaNWoka9eutZntkTmF+Ph42bFjh7z99tvp8icA0qBBA/nvf/8rx44dy/S4VatWTddY+tBH\nRo+qVaua/cyBXhoyz40b8NZbEBMDZcrA9u0p+5QvD3PnQocOWTOmBRAR/Pz8mDBhAvnz52f8+PH4\n+Phk6VJGXiAuLo6QkBAWL17MmjVr0pXDqGnTpvTp04fevXunmTJBo7E2emnoSSxeDKNGgYsLbNoE\n5gqwv/EGTJ0KdnZZO3YWEh8fj5+fH5999hlgRIJ26dJFLxllgjt37hAQEMDSpUsJCgpKV5EcR0dH\nevfuTa9evVIkM9NorI0WgvRw+jS89hrcuwd378KBAyn7VK0KP/9s+BdsGBFh3bp1fPrppzx8+JCP\nPvqIHj16aEHIJNeuXWPNmjUsW7aMkJAQHj58+MRrHB0d6dWrFz179tQzBY1NoIUgvTx8CJMnw7Rp\n4OoK/v4QH5+y3/Dh8OWXULy4ZezIIkSEwMBAPv/8c27evMkHH3xA3759KVCggLVNy7H8/fffrF69\nmuXLlxMZGZkuh2/z5s3p2bMnPXv25IUXXsgGKzWalGghyCh79sCrr0K5cvDHH+a3mVavbvgObHx2\nACTuMvriiy84d+4cY8eOpX///hQuXNjapuVoLly4wMqVK1m5ciXR0dHpuqZRo0b06NGDHj16ULdu\nXQtbqNE8QgtBZrh7Fz74AJYvhxYtYN06MDfuv/5lzA5SKaRia0RFRfHFF19w8OBB3n33XYYOHUqx\nYsWsbVaO5+zZs6xatYqVK1cmllV8EnXq1KF79+50796dJk2aaOe+xqJoIXgawsNh0CBwcIBDh+DU\nqZR9KleGWbMgSe5xW2fXrl1MmjSJiIgIRowYwYgRIyhVqpS1zcoVnD17ltWrV7Nq1ap0zxSqVKlC\n165d6d69O25ubuTPn9/CVmryGloInpabN+Hdd2HDBmjWDNauNT87eO01w79Qpkz22vcUHDlyhMmT\nJ7N27VoGDhzIO++8o3e8ZCHnz5/nl19+YdWqVURFRaXLp1CmTBl8fHzo1q0brVu35plnnskGSzW5\nHS0EWUVwMAwdCk2aGNHJ5nwHzz0H33wDffvaZFRyapw7d46vv/6an3/+GV9fX0aPHp0lEbSaR/z1\n11/4+fmxevVqQkNDiYuLe+I1RYsWpV27dnTp0oXOnTtTunTpbLBUkxvRQpCVXLtmzA5CQsDJCVat\nMr+zqEMH+OEHqFYt2018GmJjY5k5cyYzZsygWbNmjB49Gg8PD71+ncXExsYSEBDA6tWr2bBhA/+Y\ni115jHz58uHm5oavry9dunShZs2a2WCpJreghcASrF8Pb75pFLk5dsyYITxO0aLw+efw9tuQw7Zs\n/vPPP8yfP59p06ZRsmRJ3n//fbp37663nlqA27dvs2HDBtasWUNAQADXrl1L13V16tTB19cXHx8f\nnJ2dtV9BkyZaCCzF9evwn/9AUJCxjXT5cjAXgdq4Mfz4IzRvnv02PiXx8fH4+/szZcoUzp8/z6hR\noxgyZAh2NhxhnZN58OABkZGRrFmzBj8/P86dO5eu60qXLk3Hjh3x8fGhbdu2lCxZ0sKWanIaWggs\nTWiokYKibl24cgW2bUvZRykjr9F//2tkN82BbN++nWnTprF582YGDx7MyJEjqWKj6bpzAyLC7t27\n8fPzY+3atezfvz9d1xUoUAAPDw86d+5M586dE4uxa/I2Wgiygzt34JNPYOFC6NwZfvnF8Cc8Tvny\nxs6iPn1ylDM5KadPn2bGjBnMnz+f1q1b88477+Dk5GRts3I9p06dwt/fHz8/PyIjI9PlbAaoVasW\nnTp1olOnTri7u+tAwjyKFoLsZOdOY3bw7LNGkJm/v/l+rVsbNQ9q185e+7KQGzdu8NNPP/HNN99Q\ntmxZ/v3vf9OjRw8KFixobdNyPdeuXWPDhg2sW7eO9evXExsbm67rihUrRuvWrenYsSMdOnTQW4Xz\nEFoIspsHD4xMpV99BV27QlgYnDyZsl+hQjB6tBHBXLRo9tuZRTx8+BB/f3+mT5/OiRMnGDZsGEOH\nDqVMDoqnyMnExcWxdetW/P39CQgI4MiRI+m+tn79+nTo0IEOHTrg6upKoUKFLGipxppoIbAWx48b\nCeouXjR2Fy1ebIjE41StCtOnQ5cuOXa5KIG9e/fy7bff8ssvv9C9e3dGjhxJo0aNrG1WnuL48eME\nBAQQGBhIREQED8x95sxgZ2dHq1ataN++Pe3bt9dZU3MZFqtQBlQCQoGDGIXn337s/HtAPFAqSds4\njAL1jxevbwLsA44C09MY01zxHdslPl5k8WKRcuVEXn5ZxMPDfDU0EGnfXuT3361tcZZw6dIl+d//\n/ieVK1cWV1dXWbZsmdy/f9/aZuU5bty4IatXr5bBgwdL+fLlM1Tpqk6dOjJq1ChZv3693Llzx9qP\nonlKyGSFsvQIQTmgkel1ceB3oI48Eolg4FSCEAB1gT1AAaAacJxHM4/tQHPT6yCgXSpjWv4vZgmu\nXBF5802R8uVFRoww/mtODAoWFBkzRuTGDWtbnCU8ePBAVq1aJZ6enlK+fHkZP368nD9/3tpm5Uni\n4+Nlz5498t///ldcXV0lX7586RaFwoULS5s2beSrr76Sffv26ZKoORCLCUGKC2At0Mr0eiXQ4DEh\nGAuMSdJ/PeBoEpRDSdr7AjNTGcOifyyLs3WrSMOGIl5eIgMGiOTPb14QypcXmT9f5OFDa1ucZezf\nv1+GDRsmzz77rPTq1UvCwsL0F4oVuXLliixdulQGDBggZcuWzdBsoXz58jJgwABZtGiRXLx40dqP\nokkHmRWCDPkIlFLVgHCgPtAS8BKRd5VSp4CmInJVKfUtECMiS0zXzDH9+j8DTBSRtqZ2N+A/IuJr\nZhzJiF02SVwcfPstfPEFdOsGR49CZKT5vk5ORu6iFi2y10YLcv36dRYtWsQPP/yAiDBs2DD69++v\ng6CsSHx8PHv37iU4OJjg4GC2bt2arkpsCbz00ku0adOGNm3a4O7urhPl2SAWdxYrpYpjiMDnwEYg\nDGgjIjctIQTjx49PfO/l5YWXl1dGn802uHAB3nsPtm6Fnj2NyOTz58337d8fJk6EChWy10YLIiJE\nRkbyww8/sHHjRnr27MmwYcNo0qSJtU3L81y/fp2QkBA2bNjAhg0bOHPmTLqvLVy4MK6urrRp04bW\nrVvTuHFjnf7CCoSHhxMeHp74/tNPP7WcECilCgABwHoR+UYpVR/YDNwBFIav4DzQAhgMICKTTNcG\nA+MxhCBMROqa2vsCniIyzMx4OX9G8DihoTBihPElX6uWURf53r2U/YoVg7FjDfHIZb+4Ll68yE8/\n/cSsWbN47rnnePPNN+nbty/FbbwcaF5ARDh69CgbN25k48aNhIWFcfv27XRfb29vT8uWLWnVqhWt\nWrWiVq1aOomhFbDYriHTF/ICYFoa508B9qbX9TCcxYWA6iR3Fm/DEAuFMUton8r9nnqtzCa5f19k\n6lSR0qUNp3LnzuZ9ByBSubKxEykXrq/HxcVJUFCQdOnSRezt7WXYsGGyZ88ea5ulScK9e/ckPDxc\nPvjgA2nWrJkopTLkX6hcubIMGDBAFixYIOfOnbP24+QZsJSPQCnlCkRibB1N+B/9gYgEJ+lzEmgm\nIldN78cBQ4AHwCgR2WhqbwrMA4oAQSIyKpUx5Ul25Wj+/NP41b95s7EcFBAABw6Y79uihRG45uaW\nvTZmE+fOnePnn39mzpw5PP/887zxxhv069dPJ7yzMa5cuUJoaCgbN25k06ZNGVpGAqhduzYtW7ak\nZcuWeHl58dxzz1nI0ryNDijLicTEwMiRULAgeHrCnDlGQjtzdO8OkyYZy0q5kIcPH7JhwwbmzJlD\nWFgYPXr04PXXX8fR0VEvMdgYIsKJEyfYvHkzmzZtIiwsLN3pLxJo0KAB3t7eeHt74+npib29vYWs\nzVtoIcipxMfDvHnw4YfQsqWRu2juXPPRyQUKwLBh8PHHRpW0XMrFixeZN28ec+fOpXDhwgwZMoTX\nXntNp7OwUR4+fMjevXvZvHkzISEhbNmyhbt376b7eqUUjRo1StwU4u7uroUhk2ghyOncuGGkr/7p\nJxg40Ehd4ednvm+JEjBmDPz73zk6f9GTENOOo7lz57Ju3TratGnD4MGDadu2rd6hYsPcu3ePmJgY\nQkNDCQkJYfv27RnapppUGDw9PXF3d6dUqVIWtDj3oIUgt3DihFEIZ/duQxACA41sp+aoUAE+/dTo\nl8uril27do3ly5fz008/cf78efr378/AgQOpnYMzu+YVbt68yZYtWwgNDSU0NJQ9e/aQkX/fSika\nNmyIh4cHnp6eeHh4aB9DKmghyG2Ehxt1k4sUgfbtje2mp0+b71u3rhG41rVrjk9olx4OHDjAvHnz\nWLRoETVr1mTQoEH06tWLEiVKWNs0TTqIjY0lMjKSsLAwwsLC2LdvX4bvUbduXTw8PBKPSpUqWcDS\nnIcWgtzIw4dGEZyPPgIXF8NRPHMmpOaYc3Q0HMo5Nfgugzx48ID169czb948QkND8fHxYcCAAXh7\ne+uloxzE5cuXE4UhIiIi3VXaklK9enXc3d1xd3fHw8Mjz8YxaCHIzdy+bdQ9mDED+vWD/PmN+sjm\nAtIA2raF//3PSIudR7h8+TJLlixhwYIF/PXXX7z66qv079+funXrWts0TQZJEIaIiAgiIiLYt29f\nhpaSAJ5//nnc3d1xc3PD3d2dl156iQK5fPkUtBDkDf78EyZMgDVr4M034Y8/YNEiY+eROXr0gM8/\nN5aO8hAHDhxgwYIFLFq0iIoVK9K/f3/69u2r15VzKFevXiUqKipRHPbs2UN8ap/5VChevDhOTk64\nubnh5uaGo6Njroxo10KQlzh4EMaNg337jO2kMTGp7zDKlw9efRXGj4cXXsheO63Mw4cPCQkJYeHC\nhfj7++Pu7s6rr76Kr6+vTpiWg7lx4wbR0dFEREQQFRXFzp07012YJ4H8+fPTqFEjXF1dE4+KFSta\nyOLsQwtBXiQy0iiDef++EaHs5wcREeb7FigAgwcb/oY8WMP21q1brFmzhkWLFrFz5066du3KK6+8\ngpeXl/Yn5HDu3r3L9u3biYqKIioqiq1bt2YoT1ICVatWxdXVFRcXF1xdXalfv36OW07SQpBXETGW\nisaNM7aTdusGCxbArl3m+xcqBEOHPuqfB7lw4QLLli1j8eLFXLx4kb59+/LKK6/QuHHjPOlgzG3E\nxcWxd+9etmzZkigOly5dyvB9ihcvTosWLXBxccHZ2RknJyebj2fQQpDXiYszgtE++8zIT+TpCbNm\nwaFD5vsXKQL/+pcRmFauXPbaakMcPnyYJUuWsGTJEgoWLMjLL79Mv379qJVLU3nkRUSE48ePs2XL\nFrZs2UJ0dDS///57pu5Vp04dnJ2dE4969eqRL1++LLY482gh0BjcvQvffQeTJ0OnTtC4sVEg58QJ\n8/2LFDH8DP/5T54WBBFh27ZtLF26lBUrVlC5cmX69etHnz59csXasSY5ly5dIjo6OvHYtWsX9+/f\nz/B9SpQogaOjI05OTjg7O+Po6GjVWYMWAk1yrl0ztpzOnAl9+0KNGsb209SyRmpBSCQuLo6wsDCW\nLl3K2rVradiwIX379qVHjx5651Eu5Z9//uHXX38lJiaGrVu3Eh0dnanlJDAyrTo5OeHk5ISjoyMN\nGjSgYMGCWWyxebQQaMzz999G1bP58w1ncdmyhiCcO2e+f5Eihg/hP/8B/UuYe/fuERwczLJly1i/\nfj0tWrSgb9++dOvWTSdGy8WICCdPnkwUhZiYGA4cOJDhbasAzzzzDE2aNMHR0THxqFKlikX8UVoI\nNGlz9qyRhmLlSsM38OyzMH26UUrTHIUKwZAhhg+hatXstdVGuXPnDoGBgSxfvpxNmzbh5uZGnz59\n6NKli67FnAe4efMm27dvJyYmhpiYGLZt25bh9NsJlC1blhYtWtCiRQscHR1p1qxZlvyw0EKgSR8n\nTxoO5cBAGD7cyGT69dep11EuUMDYmjp2bK6thZAZbt68SUBAAMuXLycsLAwPDw969eqFr68vzz77\nrLXN02QD8fHxHDt2jG3btrFt2zZiYmLYv39/pmYNYCwptWjRgubNm9OiRQsaNWpEkSJFMnQPLQSa\njHH0qCEIGzcatZSLFzcEIbUlo3z5oE8fY9tpgwbZa6uNc+PGDfz9/VmxYkUyUejSpYsWhTzGrVu3\n2LVrF9u2bWP79u1s27aNP//8M1P3KlCgAA0aNKB58+aJh4ODQ5qxDVoINJnj8GFDEEJC4O23jRnC\ntGmpO5UBfH3hgw+MJHeaZCSIwsqVKwkLC8PV1ZWePXvSpUsXSpcubW3zNNmMiHD27Fm2b9+eeOza\ntStDhXuS8swzz9C4cWOaN29Os2bNaNasGbVr107cwqqFQPN0HDpkCEJoqCEIpUsbgnD8eOrXeHsb\nS0Zt2uSJ9NcZ5ebNmwQFBbFq1So2btxI8+bN6dGjB926daNcHt+ZlZeJi4vj4MGDbN++nR07drBj\nxw4OHjyY6SUlOzs7mjRpQrNmzZg6daplhEApVQlYAJQF4oFZIvKtUmoy4APcA04Ag0TkhumaccBg\nII7kxeubkLx4/b9TGVMLgbU4dMiolLZpk1FPuWJFw6l84EDq1zRpYjiVe/QwMqNqUnDnzh02bNjA\n6tWrCQwMxMHBge7du9OtWzeqV69ubfM0VubWrVvs3r2bnTt3JorD6dTqjzwBSwlBOaCciOxVShUH\ndgFdgEpAqIjEK6UmGePLOKVUPWAx0NzUZzNQS0REKbUdGCEiO5VSQcA3IrLBzJhaCKzNkSNGKuug\nICO+4MUXjW2nqVVLAyNW4f33YcAA0EndUuXevXuEhobyyy+/4OfnR8WKFRNFwcHBQae50ABG0Nuv\nv/7Kzp07E4+//vrriddly9KQUmot8K2IhCRp6wr0EJHXlFJjDVvkS9O59cAE4AyGcNQztfcFPEVk\nmJkxtBDYCsePG3EIa9fC669Ds2bwf/9nLCGlxvPPG8tLw4aBjedmsTZxcXFER0ezZs0a1qxZQ6FC\nhejatSvdunXDycnJptIXaKyLiHDu3Dl27dqVKAy7du3i6tWrj/ezrBAopaoB4UB9EbmVpH0dsFRE\nliqlvgViRGSJ6dwcIAhDCCaKSFtTuxvwHxHxNTOOFgJb48wZmDIFliyB116DVq2M8plr16Z+TbFi\nhnj8+99QrVq2mZpTERH27t2bKAqXLl3Cx8eHLl260Lp16wxvJdTkfkSE06dP8+uvv/Lrr78yefLk\nTAlBun9umJaFVmGs+ScVgQ+BByKyNKODp8WECRMSj/Dw8Ky8tSYzVK1q5DA6eBAKFoSBA41f+0FB\nMGiQ0fY4t2/DN98YS0Z9+6a9rKRBKUXjxo357LPP2L9/P1u3bqVevXpMmTKFsmXL0qNHD+bPn8+V\nK1esbarGRoiIiGD+/PkcPHjwqWpspGtGoJQqAAQA60XkmyTtA4E3gJYics/U9vjSUDAwHmNGECYi\ndU3temkoJ3PlipHM7vvvjd1DgwYZW1BnzYKbN1O/zt0d3nsPfHyM2ARNurh06RJBQUH4+fkREhJC\no0aN8PX1xdfXV2dK1SRi0e2jSqkFwGUReTdJW3tgKuAhIleStCc4ix2BisAmHjmLtwFvAzuBQGCG\niASbGU8LQU7h5k2YPdvYaurgYASnHTxoOJbTCqSpVctYMhowwFhC0qSbu3fvEhYWhp+fH/7+/pQo\nUQIfHx98fHxwcXHJccVUNFmHxYRAKeUKRAL7ATEdHwIzgEJAgghsE5HhpmvGAUOAByTfPtqU5NtH\nR6UyphaCnMa9e7BwoeFHKFkS3n3XWBqaNi31mggA9vZGkrsRI6BSpeyzN5cQHx/P7t278ff3x9/f\nnzNnztC+fXt8fHxo166dToyXx9ABZRrb4OFDo2Tml19CbKyxDFSunLGMFBKS+nX580OvXsYsQUcs\nZ5pz584RGBiIv78/kZGRNGnShM6dO9OpUyfq1Kmjt6bmcrQQaGwLEaOm8uTJRtnMkSPBzQ3mzoVl\nyyCtYuMtWhiC0LOneSe0Jl3cuXOHsLAwAgICCAwMpECBAnTq1IlOnTrh6en5VM5FjW2ihUBjuxw8\naBTJ8fODV1+Ffv0gIMCIR3hsD3QyKlQwYhGGDjViEzSZRkQ4cOAAgYGBBAYG8ttvv+Hh4UHHjh3p\n2LEj1fT23lyBFgKN7XPhgrFENGsWtGwJb70Fv/9upLA4ciT16woVMjKfjhwJzZtnn725mNjYWDZu\n3EhgYCDBwcGUKVOGDh060KFDB9zd3SlcuLC1TdRkAi0EmpzDzZtGMNr06VC+vLEMVKyYIRLBKTaR\nJcfR0XAs9+oF+ssqS0hwOAcFBbF+/XoOHTqEp6cnHTp0oH379joXUg5CC4Em5/HwIaxZY9RBuHDB\nSEvh4WGIxLx5xq6j1Hj+eSNq+c03oUqVbDM5L3D58mU2btzIhg0bCA4O5tlnn6V9+/a0b98eT09P\nihYtam0TNamghUCTs9m+3dhqummTEVswcCCEhRnRzCdOpH5dvnxGcNpbbxlpL3SQWpYSHx/P3r17\nE0Vh9+7dODs7065dO9q1a6eT5NkYWgg0uYM//jCilefONaKQR46EO3eMtictG9WqZdRjTkh/ocly\nbty4QVhYGBs2bGDDhg38888/tG3blrZt29KmTRvKlCljbRPzNFoINLmLW7eMALUZMwxn8dtvG47i\nuXONZaMbN1K/tkgRw7n8r38ZPgX9i9ViHD9+PHEZKTw8nJo1a9KmTRvatGmDq6urTpSXzWgh0ORO\n4uON5aJvvjGS1r3+urF0FBFhzBL270/7+pdeMgThlVfAzi57bM6jPHjwgG3btrFp0yY2btzIwYMH\ncXFxSRSGBg0a6LTaFkYLgSb3c+yY8eW/YMGj7acFC8LMmbByZdpBasWLw8svGzEJTZtmn815mNjY\nWMLCwti0aRObN2/mxo0btGrVitatW9O6dWuqaCd/lqOFQJN3uHnTWDb67jsjNcVbb0G7dkbE8o8/\nGrUT0qJpU3jjDSOwrUSJ7LFZw+nTp9m8eTObNm0iNDQUe3t7WrduTatWrfD29qaU9us8NVoINHkP\nEaNS2vffQ3i4EbX85puGEMycadRKSKsgeLFihi/hjTe0LyGbiY+PZ9++fWzevJmQkBCio6OpVasW\nrVq1omXLlri7u1NMZ6XNMFoINHmbP/4wZgNz50L9+jB8ODRqZDiW58xJOyU2GNe8/rpRfU3/Ms12\n7t+/z/bt2wkNDSU0NJRdu3bRuHFjWrZsScuWLXFyctLRzulAC4FGA0Y67F9+MWYJp04Zv/YHDYK9\ne43UFuvXGzOJ1ChUCLp1M0ShZUsdl2Albt++TXR0NKGhoYSEhHDkyBEcHR1p2bIl3t7eNGvWjII6\nIWEKtBBoNI+zb5+R2G7ZMvDyMnYP1aplzBLmzoXz59O+vlo1IyZh4ECjVKfGaly7do2oqChCQ0MJ\nCwvj5MmTuLq64u3tjZeXF02aNNEFedBCoNGkzs2bsHixIQo3bxo7h157DXbvNpaNAgKMdBepoZQR\ntTx4MHTtCjp9s9W5cuUKERERhIWFERERwZkzZ3Bzc8PT0zNPC4MWAo3mSYjAjh2GIKxZY+w0evNN\nqFPH2JI6Z07a6SzAqL7Wr5+x3NS8uXYw2wiXL18mIiKCiIgIwsPDOXPmDC4uLnh6euLp6ZlnlpK0\nEGg0GeHaNVi0yHAw//OP4Uvo399Ihz13LqxaZbSnRd26xrLRq68atRM0NsPly5eJjIxMFIeTJ0/i\n6OiIp6cnHh4etGjRIldGPWsh0Ggyg4iR8G7WLMPJ3Lq1IQrNm8OKFfDTT0ZEc1rkywdt2xqi0KWL\nkeJCY1PExsayZcuWRGE4fPgwTZs2xd3dHQ8PD5ydnbHLBZHnlixeXwlYAJQF4oHZIjJDKWUPLAeq\nAqeB3iJy3XTNOGAwEEfy4vVNSF68/t+pjKmFQJP9XLsGS5fC7NlG5bTBg40loGvXDAfzwoVw6VLa\n9yhZEnr3NmYXrq566chGuXnzJjExMURERBAVFcXu3bupW7duojC4ubnlyAR6lhSCckA5EdmrlCoO\n7AK6AIOAKyIyWSk1BrAXkbFKqXrAYqA5UAnYDNQSEVFKbQdGiMhOpVQQ8I2IbDAzphYCjXXZtetR\nfWUnJxgyxPApbN5siEJgIMTFpX2PF14wlo1eew1q1swWszWZ459//mHHjh1ERUURFRVFTEwMFStW\nxM3NDXd3d9zc3KhWrZrNp9zOtqUhpdRa4DvT4Skif5nEIlxE6iilxgIiIl+a+q8HJgBngFARqWdq\n72u6fpiZMbQQaGyDO3dg9WrDkXz4sPHFPmQIPPecsRNp/nz47bcn38fZ2RCE3r2hdGnL2615KuLi\n4ti/f3+iMGzZsoX8+fPj5uaGm5sbrq6uNGzYkPz581vb1GRkixAopaoB4UB94KyI2Cc5d1VESiml\nvgViRGSJqX0OEIQhBBNFpK2p3Q34j4j4mhlHC4HG9jh2zKieNn8+VKpkLB317QunTxttixfD33+n\nfY+CBaFjRyMbaufOeitqDkFEOHnyJFu2bCEqKoro6GguXLiAo6NjojA4OjpSvHhxq9ppcSEwLQuF\nA5+LiF/CF3+S81dEpHRWCcH48eMT33t5eeHl5ZXRZ9NoLENcHGzcaIjCpk3QqZPhS3B3N5aOFiwA\nP41fzbgAABJlSURBVD8jyjktSpSAHj2MWYanp5FAT5NjuHz5Mlu3biU6Opro6Gj27t3Liy++iKur\nK66urri4uFC5cmWL2hAeHk54eHji+08//dRyQqCUKgAEAOtF5BtT22HAK8nSUJiI1DWzNBQMjMcQ\ngjARqWtq10tDmpzP5cuwZInhN7hyxXASDxgAZcoYqbEXLoSoqCffp0IFY3bx8svQpIl2MudA7t27\nx65duxKFYevWrRQuXBgXF5fEo1GjRhaNZ7DojEAptQC4LCLvJmn7ErgqIl+m4ix2BCoCm3jkLN4G\nvA3sBAKBGSKSov6gFgJNjuS33x4tEdWqZQhC797GDqQlSwxR+P33J9+ndm1DEPr1M15rciQiwokT\nJ4iOjiYmJoatW7dy8uRJmjRpgrOzMy4uLjg7O/P8889n2ZiW3DXkCkQC+wExHR8AO4AVQGWMX/u9\nReSa6ZpxwBDgAcm3jzYl+fbRUamMqYVAk3N58MBIbjd/PoSEQIcOhii0amUkv1u82Nim+iR/Ahiz\ng379jHTZFl5m0Fie69evs337dmJiYoiJiWHbtm2ULl0aZ2dnnJ2dcXJyomHDhpmeNeiAMo3GFrly\nxdiCOn8+nD1rOIn794d69QyRWLzYSHdx69aT7+XmZohCz56Qhb8iNdYjPj6eI0eOJBOGM2fO0KRJ\nE5ycnBKP8uXLp+t+Wgg0GlvnyBFjeWjRInj2WWM76csvG6/9/Q1RCA5Ou+QmGJHMLVsas4Tu3XX9\nhFzGtWvX2LFjB9u3b2fbtm1s27aN4sWL4+joiJOTE46OjjRp0oRnzOw400Kg0eQU4uMNB/LChUZa\ni2bNjJ1D3boZIrB6tbF0FB6edu0EgAIFoE0bQxS6dDFERZOrEBGOHz/Otm3bEsXh8OHD1KlTB0dH\nx8Sjdu3a5M+fXwuBRpPjuHvXSIO9aBFERBj+hFdeMaKYL10y8h0tXWpkTX0ShQoZ1/XuDb6+uh5z\nLubu3bvs2bOH7du3J84ebt68yeXLl7UQaDQ5msuXjS2nixbB0aPQq5exdOTiYgStLV9uiML+/U++\nV+HChij06qVFIY8QGxtLqVKltBBoNLmGkycNJ/PixXD7tuEkfvllaNDASHWxfLlxHDny5HslzBR6\n9jREQS8f5Vq0j0CjyY2IGCU3lywxZgMJhXH69oXq1Y3ZwYoVhigcP/7k+xUsaPgUevQwfAo671Gu\nQguBRpPbiY+HrVsNUVi1yhCCfv0Mn0D58kaMwsqVhjA8qdIaGCktvL0NUejaFcqVs/wzaCyKFgKN\nJi8RF2fEISxdCuvWwUsvGbOEHj2MX/l79hiisHJl+kRBKaN+Qo8exu6lqlUt/wyaLEcLgUaTV/nn\nHyP+YNkyI6LZycnYTtqtm+EP+O03YwaxcqXhhE4PTZsa13fvbpTk1OQItBBoNBrDsRwQYPgMQkKM\njKi9exv+gBIl4MABI05h9WrjdXp48UVDFLp1M2Ie8uWz7DNoMo0WAo1Gk5wbNx6JQlgYeHkljzH4\n/XdDEH75xajIlh4qVjREpVs3I3W2BTNpajKOFgKNRpM6168baSxWrDAilr28HsUYlCxpxCn88ouR\n9yg6+skRzWBc16mT4Whu3x5yQfH3nI4WAo1Gkz4SRGHlSmOm4OHxKMagVCm4eNEorLNmjbG89KTa\nzGDEKrRsacwWfH2N+gqabEcLgUajyTgJy0crVxpf+i4uj7aTPvccXLsGgYGGKKxfb9RwTg/Nmj0S\nhQYNdKGdbEILgUajeTpu3YKgIGOH0YYNxs6hhO2kFSoYeZE2/3975x9bZXnF8c8ZP0UURAg6kDJE\nfmhAhJWCELkUKP2BiGRZnJvL1CVG5q+/HCxZmMkSXbItky1zMUMXF42ZQ34WKMVSFEOlBATlhwIC\nApMSqqCASkvP/jjv5d6LtH1buPe9peeTPGnf9z73fc7be/p+7/M85zzPWustLFtmayGFIScH7r7b\nRGHSJOs9OGnBhcBxnMvHmTO2L/OiRdYjGD7cQknvvRcGDYJz5yy5belSK2GymsHmEaZPN2EoKrJe\nh3PZcCFwHCc9nD1rcwlvvglLllgW8+zZVm67zers2pXoKVRVhbuuCIwfb6IwY4Zdy4eQLgkXAsdx\n0s+5cxZVtHixCUPnzokcg7w8yzE4etQmo5cvh/JyS3gLQ06OCUJJiS190bVreu/lCsSFwHGczKJq\nS1ksXmylttYmiGfNsgd5ly42xFRebqKwYgXU1IS7drdutsdzSQkUF/t+zSFJ5+b1C4EZQI2qjgzO\n3Q78A9uEvg6Yo6qbg9fmAQ8B9aRuXD+a1I3rn2qiTRcCx2lr7Nljw0NLlljW8vTpJgrFxZZz0NAA\n1dUmCMuX29IXYRk50q5TXGzDSR07pu8+2jDpFIKJwCnglSQhKAP+pKprRKQIeFpVJ4vIrcCrQC7Q\nH1gL3KKqKiLvAY+parWIrASeV9WyRtp0IXCctkxNjT3sly61ndfy8hLhpAMGWJ1PP7WJ6BUroKIi\n/BBSz55QUGCiUFgIffum7z7aGGkdGhKRHGB5khCsAl5S1TdE5CdAiar+TETmAqqqf0iq9zvgIFCh\nqrcG5+8DJqnqo42050LgOFcKp07Z8NDSpfbgv+kmE4SZM+GOO2yC+MwZy2MoLbVy+HD4648ZYxFI\nRUUmOB06pO9espxMC8EwoAyQoNypqodE5K/ARlV9Laj3T2AlJgTPqmpBcH4i1ouY2Uh7LgSOcyVS\nX29hp/Hewtdf2wTxzJmJCeL4ZjwrV5oobNxow0phuO466y0UFlppZ3ssZFoIngfWqeoSEfkR8Iiq\nTrucQjB//vzzx7FYjFgs1tJ7cxwn29m920Rh2TJ7+OfnWzhpSUliyKe21nIaVq607Oba2vDXHzUq\nIQrjx19xyWyVlZVUVlaeP37mmWcyKgQnVLVn0usnVLXnRYaGVgPzMSFYp6rDg/M+NOQ4TirHj9uD\nPh52OnSo9RZmzLCNd0QsfLW62uqVloZfNRWge3eLRJo+3cqgQem7l4hId49gICYEI4LjHVik0HoR\nmQI8p6q5SZPFeUA/oJzEZHEV8ARQDZQCC1R1dSPtuRA4Tnvm7Fl4551EhNG331ovoaTEHubdulm9\nmhpbDmPVKvv5xRfh2xg8OCEKkyebULRx0hk19BoQA64HarBv+B8BC4AOwDeYKGwN6s8DHsbCSpPD\nR8eQGj76ZBNtuhA4jmOo2s5qK1ZY2bzZNtyJC8PAgVYv3ltYvdqEobo63HLaYPsq3HmniUJBgU1i\nt8ENeDyhzHGc9sGJEzZnUFpqD/w+fRKJZxMmJDbLOX7chphWrbL6YZPZwPZ9njrVRGHatDaT0OZC\n4DhO+6OhwXoI8bDTvXvtAV5cbOGkN96YqLd9u/UWyspsmYy6uvDtDB1qgjBtmm3qc+21abmdS8WF\nwHEcp6bGHvalpbZkdk6OCUJxMYwbl8hIPnXKFtJbs8bKxx+Hb6NDB8tXmDbNRCcvL2u27HQhcBzH\nSaa+3lZCjYedHjhgD+6iIgsnTd5Fbf9+G0Zas8YE5OTJ8O107269hClT7PoRrqLqQuA4jtMUn32W\nmEheu9bG/eM5BhMmJHIM6uttuCkuDFVV4bbrjNO3r+VDTJ1q4pCTk577uQguBI7jOGGpr0/kI5SV\nWWJbLGZRQ4WFqTkGX30FlZUmDOXlVrcl3HyzCUJ+vpU0bsbjQuA4jtNajh+3b/9lZfaze/dEjkEs\nZjurxTl82HoU5eW2PlJLopHA9nCOC8Ndd9nKrJcJFwLHcZzLQXyto7IyK5s22cJ2BQVWRo9O5Bio\nwo4dCVFYv94mosPyve/ZteO9hQkT4OqrW226C4HjOE46OH0a3n470Vs4diyRY1BQAP37J+rW1Zlw\nrF1rwlBV1bIw1U6dYOxYy3SePNnWR7rqqtBvdyFwHMfJBIcOpUYY9eljoaQFBTBpUuow0unTsGGD\niUJFBWzZEj7bGWyXt3HjTBRiMfu9S5dGq7sQOI7jZJqGBtuuMz6RvGmTrXgazzHIzU3NMfj8cxs+\nqqgwcdi1q2Xtde1qvYRYzEpeXoowuBA4juNEzZkztlhefM5g/36bEI4Lw7BhqTkGR49aYtu6dSYO\n+/a1rL2uXa2XEAiDxGIuBI7jOFnFsWMmCG+9ZcNIdXWJxLMpU6Bfv9T6hw4lhGHdOjh4sEXNCbgQ\nOI7jZC2q8MkniYnkigro3dsEYcoU+1bfq1fqew4cMEGorLSfhw412YQLgeM4TluioQG2bUv0GN59\nF265JZFjMHFi6h4JqjbUtH59o8LgQuA4jtOWOXvWJpvjwrBli0085+cnQkm7dk3UV7UeQ1wYKiuR\ngwddCBzHca4YzpyxXkJFhX37//BDixKK5xjk5n5nD2aPGnIcx7mSOXnSIpLiE8l799quarGYCcOY\nMUinTi4EjuM47YZ4TsL69SYMR44gtbVp27N4ITADqFHVkUnnHwfmAPVAqarODc7PAx4KzifvWTya\n1D2Ln2qiTRcCx3GclvDll0iPHq0SgjC7M78MTE8+ISIx4G5ghKqOAP4YnB8O/BgYDhQBfxc5nz3x\nAvCwqg4BhohIyjWzncrKyqhN+A5uU3iy0S63KRxuU0guYfvMZoVAVTcAX1xw+lHgOVWtD+ocD87f\nA7yuqvWqegDYA4wVkRuAa1S1Oqj3CjCr1VZHQDZ+8G5TeLLRLrcpHG5T+gnTI7gYQ4C7RKRKRNaJ\nyJjgfD8gObD1SHCuH3A46fzh4JzjOI4TMR0v4X3Xqeo4EckF3gAGNfMex3EcJxtR1WYLkANsTzpe\nCUxKOt4DXA/MBeYmnV8N5AE3ALuSzt8HvNBEe+rFixcvXlpewjzTLyxhewQSlDhLgHxgvYgMATqr\naq2ILANeFZE/Y0M/g4FNqqoiclJExgLVwM+BBY011ppZb8dxHKd1NCsEIvIaEAOuF5FPgfnAS8DL\nIvIB8C32YEdVd4rIf4CdQB0wJykO9Fekho+uvry34jiO47SGrEwocxzHcTJHa6OGLhkRKRSR3SLy\nsYj8+iKv3y8i24KyQURGZINdSfVyRaRORGZng00iEhORrSLyoYisi9omEblWRJaJyPsi8oGI/CID\nNi0UkRoR2d5EnQUisiewa1TUNkXh52H+TkG9TPp4mM8u0z7e3GcXhY/3F5EKEdkRtPlEI/Va5uet\nmVi41IIJ0F5sEroT8D4w7II644Aewe+FQFU22JVU7y1gBTA7apuAHsAOoF9w3DsLbJoHPBu3B6gF\nOqbZronAKJICGy54vQjLggcLYsiETzVnUxR+3qRNSZ9xRnw85N8poz4e0qYofPwGYFTwe3fgo4v8\n77XYz6PqEYwF9qjqQVWtA17HktHOo6pVqnoyOKwiM3kHzdoV8DjwX+BYlth0P7BIVY8AaCLBL0qb\nFIjv4n0NUKtBAmK60IsnPyZzD5bMiKq+B/QQkb5R2hSFn4f4O0FmfTyMTZn28TA2ReHjR1X1/eD3\nU8AuvuszLfbzqITgwsSz5hLMfgmsSqtFRrN2icj3gVmq+gKpkVSR2YQl+PUKkvuqReSBLLDpb8Ct\nIvI/YBvwZJptCkNjCY/ZQqb8vEki8PEwZNrHwxCpj4vIQKzH8t4FL7XYz1ubUJYxRGQy8CDWTcsG\n/gIkj4lnwz9KR2A0FtJ7NbBRRDaq6t4IbZoObFXVfBG5GSgXkZHBtxjnArLMz93HwxGZj4tId6zH\n9uTlaC8qITgCDEg67h+cS0FERgIvAoWq2lxXNlN2/RB4PVhMrzdQJCJ1qrosQpsOA8dV9RvgGxF5\nG7gdG8ePyqYHgWcBVHWfiOwHhgGb02RTGI4ANyUdX9TvMk0Eft4cmfbxMGTax8MQiY+LSEdMBP6t\nqksvUqXFfh7V0FA1MFhEckSkM5ZpnOJkIjIAWAQ8oKr7ssUuVR0UlB9gH8acNP+DNGsTsBSYKCId\nRKQbNkG0K2KbDgJTAYLxySHAJ2m0Kc6FyY/JLCPIeRGRccAJVa2J0qaI/LxJmyLw8WZtIvM+Hsam\nqHz8JWCnqj7fyOst9vNIegSqek5EHgPWYGK0UFV3icgj9rK+CPwW6EViKes6VR2bBXalvCWd9oS1\nSVV3i0gZsB04B7yoqjujtAn4PfCvpNC7p1X183TZBI0mP3Ym8XdaKSLFIrIXOI19o0srzdlEBH4e\nwqZkMpJoFOKzy6iPh7GJaHx8AvBT4AMR2Yp9Pr/BIvha7eeeUOY4jtPOiSyhzHEcx8kOXAgcx3Ha\nOS4EjuM47RwXAsdxnHaOC4HjOE47x4XAcRynneNC4DiO085xIXAcx2nn/B9V+HXFTzCyPwAAAABJ\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z=0.2\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.2,name = 'FlatLambdaCDM')\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "r,phi0 = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "cosmo = LambdaCDM(H0=70,Om0=0.2,Ode0 = 0,name = 'LambdaCDM')\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "r,phi1 = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "plt.plot(r,phi0,'r-', label ='Einasto with $\\Lambda$')\n", "plt.plot(r,phi1,'k-', label = 'Einasto without $\\Lambda$')\n", "\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.2,name = 'FlatLambdaCDM')\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "r,phi0 = v_esc_NFW_M200(theta_array,z,M200,100,cosmo)\n", "cosmo = LambdaCDM(H0=70,Om0=0.2,Ode0 = 0,name = 'LambdaCDM')\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "r,phi1 = v_esc_NFW_M200(theta_array,z,M200,100,cosmo)\n", "plt.plot(r,phi0,'r', lw=4,label ='NFW with $\\Lambda$')\n", "plt.plot(r,phi1,'k', lw=4,label = 'NFW without $\\Lambda$')\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean fit (1e15) = 0.9982395187299129\n", "M200 = 1e+15 solMass\n", "R200 (sphere) = 1.97141172229 Mpc\n", "Conc (Sereno) = 3.2041969809\n", "n = 3.9924039489419973\n", "sigma n = 0.035425934782328916\n", "rho_0 = 3.51323424909618e+17\n", "sigma_rho_0 = 5009503975473920.0\n", "h = 0.00015851545071770797\n", "sigma_h = 3.1703090143541596e-05\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "M200_fid = 1e15*u.solMass\n", "cosmo = wCDM(H0=70, Om0=0.2,Ode0 = 0.8,w0=-1,name = 'wCDM')\n", "radius_array = np.linspace(0.3,2.0,100).round(3) #specify radius array for profiles. used in v_esc(r) funcs below.\n", "z = 0.2\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "real_error = []\n", "real_mean = []\n", "corr_coef = 0.2\n", "for i in range(16):\n", " M200,R200,conc,rho_0, h, n, sigma_rho_0, sigma_h,sigma_n = einasto_nfwM200_errors(M200_fid, np.float(i)/20.0, z,cosmo)\n", " M200_einasto = 4*np.pi*integrate.quad(rho_einasto_int,0,R200.value,args=(rho_0,h,n))[0]\n", " M200_einasto_p = 4*np.pi*integrate.quad(rho_einasto_int,0,R200.value,args=(rho_0+sigma_rho_0, h+corr_coef*sigma_h, n+sigma_n))[0]\n", " M200_einasto_m = 4*np.pi*integrate.quad(rho_einasto_int,0,R200.value,args=(rho_0-sigma_rho_0, h-corr_coef*sigma_h, n-sigma_n))[0]\n", " real_error = np.append(real_error,((1-M200_einasto_m) + (M200_einasto_p-1))/(2*M200_einasto))\n", " real_mean = np.append(real_mean,M200_einasto)\n", "plt.plot(np.arange(0,0.8,0.05),real_error,'o')\n", "plt.plot([0,1],[0,1])\n", "plt.xlabel('Input M$_{200}$ Error')\n", "plt.ylabel('Einasto Fitted M$_{200}$ Error')\n", "#Note the 0.7, which is given in Alejo's paper's appendix. We need it!\n", "print 'Mean fit (1e15) = ', np.sum(real_mean)/16/1e15\n", "\n", "M200,R200,conc,rho_0, h,n, sigma_rho_0, sigma_h,sigma_n = einasto_nfwM200_errors(M200_fid, 0.2, z,cosmo)\n", "print 'M200 = ', M200\n", "print 'R200 (sphere) = ', R200\n", "print 'Conc (Sereno) = ', conc\n", "print 'n = ',n\n", "print 'sigma n = ', sigma_n\n", "print 'rho_0 = ',rho_0\n", "print 'sigma_rho_0 = ', sigma_rho_0\n", "print 'h = ', h\n", "print 'sigma_h = ', corr_coef*h" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean fit (1e15) = 1.0000000000000004\n", "M200 = 1e+15 solMass\n", "R200 (sphere) = 1.97141172229 Mpc\n", "Conc (Sereno) = 3.2041969809\n", "rho_s = 506983663890014.3\n", "sigma rho_s = 21823703315230.688\n", "r_s = 0.6152592159732078\n", "sigma r_s = 0.043473693512688094\n" ] }, { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cosmo = wCDM(H0=70, Om0=0.2,Ode0 = 0.8,w0=-1,name = 'wCDM')\n", "radius_array = np.linspace(0.3,2.0,100).round(3) #specify radius array for profiles. used in v_esc(r) funcs below.\n", "z = 0.2\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "real_error = []\n", "real_mean = []\n", "corr_coef = 0.85\n", "for i in range(16):\n", " M200,R200,conc,rho_s, sigma_rho_s,r_s, sigma_r_s = nfws_errors(M200, np.float(i)/20.0, z,cosmo)\n", " M200_nfws = 4*np.pi*integrate.quad(rhos_nfw_int,0,R200.value,args=(rho_s, r_s))[0]\n", " M200_nfws_p = 4*np.pi*integrate.quad(rhos_nfw_int,0,R200.value,args=(rho_s+sigma_rho_s,r_s+corr_coef*sigma_r_s))[0]\n", " M200_nfws_m = 4*np.pi*integrate.quad(rhos_nfw_int,0,R200.value,args=(rho_s-sigma_rho_s,r_s-corr_coef*sigma_r_s))[0]\n", " real_error = np.append(real_error,((1-M200_nfws_m) + (M200_nfws_p-1))/(2*M200_nfws))\n", " real_mean = np.append(real_mean,M200_nfws)\n", "plt.plot(np.arange(0,0.8,0.05),real_error,'o')\n", "plt.plot([0,1],[0,1])\n", "plt.xlabel('Input M$_{200}$ Error')\n", "plt.ylabel('NFW Fitted M$_{200}$ Error')\n", "#Note the 0.7, which is given in Alejo's paper's appendix. We need it!\n", "print 'Mean fit (1e15) = ', np.sum(real_mean)/16/1e15\n", "\n", "M200,R200,conc,rho_s, sigma_rho_s,r_s, sigma_r_s = nfws_errors(M200, 0.2, z,cosmo)\n", "\n", "print 'M200 = ', M200\n", "print 'R200 (sphere) = ', R200\n", "print 'Conc (Sereno) = ', conc\n", "print 'rho_s = ' , rho_s\n", "print 'sigma rho_s = ' , sigma_rho_s\n", "print 'r_s = ',r_s\n", "print 'sigma r_s = ', corr_coef*sigma_r_s" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nKNoCuzxe78ZJfMYYEzYHDhzwSUC5ubncdNNNNG/e3Kd8jx492LNnD3l5ecTFxVUkoQ8++ID4+Hif\n8ldeeSUJCQk+ra1mzXzThogwY8aMOtnO4xXuJNcoZWRkVDxPS0sjLS0tbLEYYyLD66+/zvfff1+R\nrPLy8sjLy2PGjBkkJSX5lO/bty+lpaVeSahVq1aMHz/eb5L797//TWJiIsnJyX7nVzZu3Lha2a6a\nyMzMJDMzs1bqEtXab0yJyBTgkKouEJELgHhVzfJTriEck+sNZKjqIPf1NEArDz5x592Ps90BB56I\niNbFe26MqT+qytGjR8nNzaVNmzZ+WzfTp09n586dXgkrNzeXNWvW0LZtW5/ykydPprS0tCJZlSeu\n0aNH07Jly/rYrIglIqhqjQ5v1bglJyJJqnqwinrXAajqxyIyoqbriQDrgNNFpAOwF7gGuLaK8g3h\nOKMxjV5xcbFX8in/O3jwYJKTk33K/+xnP+Pzzz+vWEZESElJYe3atXTq1Mmn/CmnnMLJJ59McnKy\nV2vrpJNO8hvPP/7xj1rfRhOkJSci/Qj8pX2Tqk4MsNwNqvq8x+tfqepTfspFfEsOKk4heIIfTyF4\nyG2tqqrOEZGTgI+AROAYUAB0V9UCP3VZS86YOrB27dqKY06eySs9PZ127dr5lL/gggvYtWtXRRIq\nbz09+uijfst/9tlnNG/enFatWpGcnExcXFx9bJbh+FpywZLcR0AWTqI7C/gaZ7BIc6C9ql4RYLl7\ngXbAJuBc4EtV/bOfcg0iydUmS3LGOEpKSsjPzycxMZHY2Fif+bNmzWLTpk1eSSsvL48FCxbQo0cP\nn/K33nore/furUhY5clrzJgxtG7duj42ydSRukxy56nqJ+7zwaq6wmPelar6VhXLXgf0Ab4AZqlq\nmZ8yluSMaaCKi4vJz8/3SUKXXnqp3y65X/3qV2RlZVWUKyoqolWrVixfvpxevXr5lH/hhRfIz8/3\nOj7VqlUrOnfuTIsWLepjE02EqLMkV2kl41R1gcfriar6XICyzwJzgNuAbCBXVR/zU86SnDERYt26\ndXz11VdeCSs/P59f/epX/OQnP/EpP2TIENatW+fVamrVqhX33Xcf55xzjk/5TZs2cezYsYpy8fHx\nfs/PMqay+hp40kVEZuK0zE4FAg06AViAc7L06ap6jYiMqklwxpjAjhw5Ql5eHklJSX7Pc3r22Wf5\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "At z = 0.2\n" ] } ], "source": [ "M200 = 1e15\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.2,name = 'FlatLambdaCDM')\n", "radius_array = np.linspace(0.3,2.0,100).round(3) #specify radius array for profiles. used in v_esc(r) funcs below.\n", "z = 0.2\n", "theta_array = radius_array /cosmo.angular_diameter_distance(z)\n", "r,phi0 = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "plt.plot(radius_array,(phi0-phi0)/phi0*1.0,'k',label=r'$\\Omega_m$=0.2')\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.3,name = 'FlatLambdaCDM')\n", "r,phi = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "plt.plot(radius_array,(phi-phi0)/phi0*1.0,'r', label=r'$\\Omega_m$=0.3')\n", "cosmo = FlatwCDM(H0=70,Om0=0.2,w0=-1.5,name = 'FlatwCDM')\n", "r,phi = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "plt.plot(radius_array,(phi-phi0)/phi0*1.0,'k-.',label=r'$\\Omega_m$=0.2, w = -1.5')\n", "cosmo = FlatwCDM(H0=70,Om0=0.2,w0=-0.5,name = 'FlatwCDM')\n", "r,phi = v_esc_einasto(theta_array,z,rho_0,h,n,100,cosmo)\n", "plt.plot(radius_array,(phi-phi0)/phi0*1.0,'k--',label=r'$\\Omega_m$=0.2, w = -0.5')\n", "plt.legend(loc=0)\n", "plt.xlim(0.3,2)\n", "plt.ylim(-0.35,0.35)\n", "plt.ylabel(r'$\\frac{\\rm{v}_{esc}-\\rm{v}_{esc}^{fid}}{\\rm{v}_{esc}^{fid}}$',fontsize=24)\n", "plt.xlabel('r (Mpc)', fontsize=20)\n", "plt.title(r'Galaxy cluster $v_{escape}$ profile',fontsize=20)\n", "plt.show()\n", "print 'At z = ', z" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n1uv8bVZrEa4qLgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "At r = 0.901\n" ] } ], "source": [ "cosmo = FlatLambdaCDM(H0=70,Om0=0.2,name = 'FlatLambdaCDM')\n", "z = 0.2\n", "z= np.arange(0.01, 0.8, 0.01)\n", "rrr = 1.5\n", "vesc_z0 = []\n", "radius_use = 35\n", "for i in range(len(z)):\n", " theta_array = radius_array /cosmo.angular_diameter_distance(z[i])\n", " r,vesc = v_esc_einasto(theta_array,z[i],rho_0,h,n,100,cosmo)\n", " vesc_z0 = np.append(vesc_z0,vesc[radius_use])\n", "plt.plot(z,(vesc_z0-vesc_z0)/vesc_z0*1.0,'k',label=r'$\\Omega_m$=0.2')\n", "cosmo = FlatLambdaCDM(H0=70,Om0=0.3,name = 'FlatLambdaCDM')\n", "vesc_z = []\n", "for i in range(len(z)):\n", " theta_array = radius_array /cosmo.angular_diameter_distance(z[i])\n", " r,vesc = v_esc_einasto(theta_array,z[i],rho_0,h,n,100,cosmo)\n", " vesc_z = np.append(vesc_z,vesc[radius_use])\n", "plt.plot(z,(vesc_z-vesc_z0)/vesc_z0*1.0,'r', label=r'$\\Omega_m$=0.3')\n", "vesc_z = []\n", "cosmo = FlatwCDM(H0=70,Om0=0.2,w0=-1.5,name = 'FlatwCDM')\n", "for i in range(len(z)):\n", " theta_array = radius_array /cosmo.angular_diameter_distance(z[i])\n", " r,vesc = v_esc_einasto(theta_array,z[i],rho_0,h,n,100,cosmo)\n", " vesc_z = np.append(vesc_z,vesc[radius_use])\n", "plt.plot(z,(vesc_z-vesc_z0)/vesc_z0*1.0,'k-.',label=r'$\\Omega_m$=0.2, w = -1.5')\n", "vesc_z = []\n", "cosmo = FlatwCDM(H0=70,Om0=0.2,w0=-0.5,name = 'FlatwCDM')\n", "for i in range(len(z)):\n", " theta_array = radius_array /cosmo.angular_diameter_distance(z[i])\n", " r,vesc = v_esc_einasto(theta_array,z[i],rho_0,h,n,100,cosmo)\n", " vesc_z = np.append(vesc_z,vesc[radius_use])\n", "plt.plot(z,(vesc_z-vesc_z0)/vesc_z0*1.0,'k--',label=r'$\\Omega_m$=0.2, w = -0.5')\n", "plt.legend(loc=0)\n", "plt.xlim(0,0.8)\n", "plt.ylim(-0.35,0.35)\n", "plt.ylabel(r'$\\frac{\\rm{v}_{esc}-\\rm{v}_{esc}^{fid}}{\\rm{v}_{esc}^{fid}}$',fontsize=24)\n", "plt.xlabel('redshift z', fontsize=20)\n", "plt.title(r'Galaxy cluster $v_{escape}$ evolution',fontsize=20)\n", "plt.show()\n", "print 'At r = ',r[radius_use]\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.00043418 0.00070771 0.00098124 0.00125477 0.0015283 0.00180038\n", " 0.00207391 0.00234744 0.00262097 0.0028945 ]\n", "[2548.06739722 2479.04540181 2056.09456622 2219.57721483 1830.66445057\n", " 2005.88893841 1697.93343949 1759.84701907 1530.05244244 1501.2325715 ]\n", "[100. 100. 100. 100. 100. 100. 100. 100. 100. 100.]\n" ] }, { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "radial_bins = 10\n", "error_kms = 100\n", "cosmo = wCDM(H0=70, Om0=0.2,Ode0 = 0.8,w0=-1,name = 'wCDM')\n", "radius_array = np.linspace(0.3,2.0,radial_bins).round(3) #specify radius array for profiles. used in v_esc(r) funcs below.\n", "z = 0.2\n", "theta_data_array = radius_array /cosmo.angular_diameter_distance(z)\n", "xdata = theta_data_array.value\n", "#d_alpha = np.random.normal(alpha,sigma_alpha)\n", "#d_r_2 = np.random.normal(r_2,sigma_r_2)\n", "#d_rho_2 = np.random.normal(rho_2*1e14,sigma_rho_2)/1e14\n", "r,ydata = v_esc_einasto(theta_data_array,z,rho_0,h,n,100,cosmo) + np.random.normal(0,error_kms,size=radial_bins) \n", "ydata_err = np.zeros(len(ydata)) + error_kms\n", "print xdata\n", "print ydata\n", "print ydata_err\n", "r,truth = v_esc_einasto(theta_data_array,z,rho_0,h,n,100,cosmo)\n", "plt.plot(r,ydata, 'o', linestyle='None',label = 'data')\n", "plt.plot(r, truth, '-', label = 'truth')\n", "plt.legend()\n", "plt.errorbar(r,ydata,yerr=ydata_err, linestyle='None')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.4" } }, "nbformat": 4, "nbformat_minor": 1 }