Skip to content

Instantly share code, notes, and snippets.

@pkaf
Created August 5, 2015 09:41
Show Gist options
  • Save pkaf/e004a87e0fe8da06c247 to your computer and use it in GitHub Desktop.
Save pkaf/e004a87e0fe8da06c247 to your computer and use it in GitHub Desktop.
Formula for the surface density of NFW profile
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##Formula for the projected NFW profile##"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For a NFW (Navarro 1996) density profile given by,\n",
"\n",
"\\begin{equation}\n",
"\\rho(r) = \\frac{\\rho_s}{r/r_s (1 + r/r_s)^2}\n",
"\\end{equation}\n",
"\n",
"a surface density can be computed using,\n",
"\n",
"\\begin{equation}\n",
"\\Sigma(x) = 2 \\int^\\infty_0 \\rho(r/r_s) dz,\\ \\text{where}\\ r^2 = R^2 +z^2 \\text{and}\\ x = R/r_s.\n",
"\\end{equation}\n",
"\n",
"I have found 3 different mathematical forms in Bartelmann et al. 1996, Yang et al. 2007 and Coe et al. 2010. \n",
"This excercise is just to convince myself that they are all same. It should be a trivial trigonometric excercise to prove their equality as well. "
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#Coe et al. 2010\n",
"def coe(x):\n",
" #incase x is scalar/list convert to array\n",
" #incase x is already an array don't copy it\n",
" x = np.array( x, copy=False, ndmin=1 )\n",
" fx = np.zeros(x.shape[0])\n",
"\n",
" #x<1 case \n",
" xlt1_cut = (x<1)\n",
" xlt1 = x[xlt1_cut]\n",
" fx[xlt1_cut] = ( 1- np.arccosh(1./xlt1)/np.sqrt(1-xlt1**2))/(xlt1**2-1)\n",
" \n",
" #x>1 case\n",
" xgt1_cut = (x>1)\n",
" xgt1 = x[xgt1_cut]\n",
" fx[xgt1_cut] = ( 1- np.arccos(1./xgt1)/np.sqrt(xgt1**2-1))/(xgt1**2-1)\n",
" \n",
" #x==1 case\n",
" fx[x==1] = 1/3.\n",
" return fx\n",
"\n",
"#Bartelmann et al. 1996\n",
"def bartelmann(x):\n",
" x = np.array( x, copy=False, ndmin=1 )\n",
" fx = np.zeros(x.shape[0])\n",
"\n",
" #x<1 case \n",
" xlt1_cut = (x<1)\n",
" xlt1 = x[xlt1_cut]\n",
" fx[xlt1_cut] = ( 1- 2*np.arctanh(np.sqrt((1-xlt1)/(1+xlt1)))/np.sqrt(1-xlt1**2))/(xlt1**2-1)\n",
" \n",
" #x>1 case\n",
" xgt1_cut = (x>1)\n",
" xgt1 = x[xgt1_cut]\n",
" fx[xgt1_cut] = ( 1- 2*np.arctan( np.sqrt((xgt1-1)/(xgt1+1)) )/np.sqrt(xgt1**2-1))/(xgt1**2-1)\n",
" \n",
" #x==1 case\n",
" fx[x==1] = 0.\n",
" return fx"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, let's plot the profiles. Equation 9 in Yang et al. returns the same profile as the above 2. Hence, not repeating here agian. "
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f51f6cbeed0>"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n",
"RK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7f51f6ce13d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = np.logspace(-5,5,2000)\n",
"plt.loglog( x, coe(x), '--', label=\"Coe'10\" )\n",
"plt.loglog( x, bartelmann(x), 'r-.', label=\"Bartelmann'96\" )\n",
"plt.legend( fontsize = 15)\n",
"plt.ylabel(r'$\\Sigma(x)/(2 \\rho_s r_s)$')\n",
"plt.xlabel(r'$x(=R/r_s)$')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment