[yt-users] possible bugs in analytical mass function code and halo profiler code

Brian O'Shea bwoshea at gmail.com
Tue May 24 13:55:23 PDT 2011


Hi all,

To follow up: I concur that it should be h^3, not h^4.  I think this is a
typo in the original code.  Thanks for catching this!

--Brian

On Tue, May 24, 2011 at 4:52 PM, Michael Kuhlen <mqk at astro.berkeley.edu>wrote:

> Hi Stephen
>
> I think it should be h^3, not h^2, because as the comment above says,
> "rho0 has units of h^2, dsigmadm has units of h, and massarray has
> units of h^-1". The h^-1 factors from massarray actually cancel, since
> you multiply by (self.massarray[i+1] - self.massarray[i]) /
> self.massarray[i].
>
> And it should be multiplication, not division, because (for example)
> [rho0] = (Msun/h) / (Mpc/h)**3 = Msun/Mpc**3 * h^2, so you have to
> multiply rho0 by h^2 to go from (Msun/h)/(Mpc/h)**3 to Msun/Mpc**3.
>
> Years ago I wrote my own code to calculate P&S, S&T, Jenkins, etc.
> mass functions, and I did not use units scaled by h. When I change the
> yt code to multiplication by h^3 I find agreement between the yt mass
> functions and my own.
>
> Cheers,
>
> Mike
>
>
> On Tue, May 24, 2011 at 1:20 PM, Stephen Skory <s at skory.us> wrote:
> > Hi Mike,
> >
> >> 1) In yt/analysis_modules/halo_mass_function/halo_mass_function.py
> >>   line 327, shouldn't dn_M_z be multiplied by h^3 instead of h^4?
> >
> > For easy reference here's the function we're talking about:
> >
> https://bitbucket.org/yt_analysis/yt/src/f8d1ca7f701c/yt/analysis_modules/halo_mass_function/halo_mass_function.py#cl-294
> >
> > Thanks for pointing this out, and now that I take a closer look at it
> > I'm slightly confused, too, and I may need a pinch hitter to weigh in
> > on this (AKA passing the buck). The history of that code is I took
> > some C code written by Brian O'Shea and I translated it into Python.
> > The C version required re-compiling for any changes, linked to the GNU
> > scientific library (which is ubiquitous, of course), and involved a
> > multi-step process to get the end product. Converting it to Python
> > eliminated these issues, and including it in yt made it more
> > convenient. This section is basically verbatim from Brian (code and
> > comments), which is clear from the extraneous end-of-expression
> > semicolons I was too lazy to remove.
> >
> > You're probably getting the h^3 power based on the comments a few
> > lines above #327. But as I look at those comments, it looks like to me
> > that a) the power should actually be h^2 (= h^2 * h * h^-1) and that
> > b) line 327 should actually be a divide to remove the powers of h.
> >
> > Brian, if you have a moment, can you dig into your memory vault and
> > take a look at what Mike has pointed out? Or are we just confused by
> > the comments which are misleading? Thanks!
> >
> >
> > --
> > Stephen Skory
> > s at skory.us
> > http://stephenskory.com/
> > 510.621.3687 (google voice)
> > _______________________________________________
> > yt-users mailing list
> > yt-users at lists.spacepope.org
> > http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >
>
>
>
> --
> *********************************************************************
> *                                                                   *
> *  Dr. Michael Kuhlen              Theoretical Astrophysics Center  *
> *  email: mqk at astro.berkeley.edu   UC Berkeley                      *
> *  cell phone: (831) 588-1468      601 Campbell Hall                *
> *  skype username: mikekuhlen      Berkeley, CA 94720               *
> *                                                                   *
> *********************************************************************
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20110524/f2d49a7d/attachment.htm>


More information about the yt-users mailing list