The GNFW model projection code takes some time to compute and dominates the step time in the MCMC. I've updated the GNFW code to reduce its computation time. Below I detail the new code, and compare it to the previous code and analytic models.
The GNFW update
A 1D GNFW is integrated along the line of sight at 50 projected radii values, logarithmically spaced between 0 to 50*r_p, or 0 - maximum Map range (whichever is larger). This 1D profile is then interpolated to populate the 2D map.
Timing
The code takes ~ 0.12 seconds to run (on my laptop) for all parameter values The old code would take anywhere from 0.12 - 2.5 seconds depending on the size of the cluster.
Testing
To test the new code I created GNFW profiles with the parameters [ dT, rp, a, b, c] = [ -500 uK, rp, 2, 3.*0.86, 0]. With these parameters, the GNFW profile is equivalent to a beta model with the following parameters [dT, rp, beta] = [ -500 uK, rp, 0.86]
I've compared the GNFW model numerical projection with the beta model analytical projection for a range of rp values. The figures below show the difference between the numerically integrated model, and the analytical beta model.
Figure 1. Rp = 500" Left: Updated code. Right: Old code 
Figure 1. Rp = 120" Left: Updated code. Right: Old code 
Figure 3. Rp = 60" Left: Updated code. Right: Old code 
Figure 4. Rp = 10" Left: Updated code. Right: Old code 
Figure 5. Rp = 1" Left: Updated code. Right: Old code 
I've also compared to a number of Arnaud profile models of various sizes, and I find agreement between the old and new code to roughly the same level of agreement we see here.
Conclusion
The updated GNFW code works well. It always has sub uK CMB error and is more accurate at small cluster sizes. The speed of the code has also been improved.
--
JamesKennedy - 2013-02-19
This topic: APEX_SZ
> WebHome > GNFWIntegralUpdate
Topic revision: r2 - 2013-02-19 - JamesKennedy