For question 1, you would use that only if you believe the *correct* OD for virialization is 200 only with respect to either mean matter density or critical density. The number 200 is somewhat arbitrary. But for your purposes, your conversion is correct. As to which number you should use for virial overdensity, I would recommend looking through linear collapse theory in an expanding universe if you are concerned at this level which is correct (e.g. Peebles or the Press- Schechter papers, or any of the new ones) On Dec 2, 2009, at 3:40 PM, Agarwal, Shankar wrote:
Britton and Eric,
So I guess if the convention in halo_profiler is (Baryon + Dark Matter Density) / (Mean density) , then I should use
virial_overdensity = 200/Omega_matter = 200/0.258 = 775
instead of 200.
A separate stupid question :
I have run a Box=200Mpc/h with 512^3 dark matter particle simulation. http://drop.io/slice The most dense point in the box is only 1.3e-27 gm/cm^3, which is about 520*matter_mean_density (for omega_matter=0.26).
Then I ran halo_profiler.py on it. Here are the first few lines...
ActualOverdensity CellVolume Density RadiusMpc Temperature TotalMassMsun myweight 1.411083e+03 1.884580e+73 5.022445e-28 1.086579e+00 3.470612e+07 3.350352e+13 4.667973e+12 1.349560e+03 2.826870e+73 2.846061e-28 1.108807e+00 2.697442e+07 4.806416e+13 1.054647e+12 1.199229e+03 3.298015e+73 3.425752e-28 1.131491e+00 2.577368e+07 4.982850e+13 8.115086e+11 1.029234e+03 5.653740e+73 2.792583e-28 1.154639e+00 3.303925e+07 7.331169e+13 2.847611e+12 1.135776e+03 7.538320e+73 3.070320e-28 1.178260e+00 3.784802e+07 1.078674e+14 2.675091e+12 1.135776e+03 7.538320e+73 nan 1.202365e+00 nan 1.078674e+14 0.000000e+00 1.135776e+03 7.538320e+73 nan 1.226962e+00 nan 1.078674e+14 0.000000e+00 1.018853e+03 8.951755e+73 3.040255e-28 1.252063e+00 3.025227e+07 1.149060e+14 1.974464e+12 9.159449e+02 1.083633e+74 1.950294e-28 1.277677e+00 3.573580e+07 1.250475e+14 1.774217e+12 9.158806e+02 1.177862e+74 1.275998e-28 1.303816e+00 3.568055e+07 1.359117e+14 5.672694e+11 8.432311e+02 1.413435e+74 1.915018e-28 1.330489e+00 2.360579e+07 1.501570e+14 1.880053e+12 7.995894e+02 1.649007e+74 2.735319e-28 1.357708e+00 2.651133e+07 1.661165e+14 2.674878e+12
Looking at ActualOverdensity column, Is it possible to have a halo with overdensities in 1000's when the peak overdensity is 520.
And do the "nan" correspond to some kind of profile maxima ?
regards shankar
-----Original Message----- From: yt-users-bounces@lists.spacepope.org on behalf of Eric Hallman Sent: Wed 12/2/2009 12:56 PM To: Discussion of the yt analysis package Subject: Re: [yt-users] HaloProfiler ActualOverdensity
Shankar and Britton, I have gone through this argument extensively, and discovered that both definitions are used, with roughly equal frequency in the literature. Lately, it has been trending toward OD = density/mean density (matter). I think the main reason for the density with respect to critical in the past has been due to an historical preference for omega_m=1 universes (SCDM).
cheers,
On Dec 2, 2009, at 11:50 AM, Britton Smith wrote:
Shankar,
As I stated in my previous email, you will find both definitions used in the literature. I'm not going to spend time in a citation battle. The good news is that both definitions differ only by a factor of Omega_matter, so you can change the value of virial_overdensity accordingly.
Britton
On Wed, Dec 2, 2009 at 11:27 AM, Agarwal, Shankar <sagarwal@ku.edu> wrote: Hi Britton,
I just wanted a clarification on the definition of ActualOverdensity. In your mail, you said...
"ActualOverdensity has the same physical meaning as the regular Overdensity field. It is (Baryon Density + Dark Matter Density) / (Mean density of the universe). If you search the literature, you will find alternate definitions that use critical density instead of mean density. The one used here is a little more common."
Are you sure you did not mean (Baryon Density + Dark Matter Density) / (critical density) ?
Because, in halo_profiler.py, there is a virial filter...
hp.add_halo_filter(HP.VirialFilter,must_be_virialized=True, overdensity_field='ActualOverdensity', virial_overdensity=200, virial_filters=[['TotalMassMsun','>=','1e14']], virial_quantities=['TotalMassMsun','RadiusMpc'])
Isn't 200 w.r.t rho_ciritcal (not rho_mean_matter)? Look http://arxiv.org/abs/astro-ph/0011495
shankar
-----Original Message----- From: yt-users-bounces@lists.spacepope.org on behalf of Britton Smith Sent: Wed 11/25/2009 1:30 PM To: Discussion of the yt analysis package Subject: Re: [yt-users] Hop vs HaloProfiler
Hi Shankar,
I will answer the HaloProfiler related questions and leave the Hop questions for Stephen. However, could you post the failure output for what you tried to do with Hop. That will probably be helpful for answering your question.
Is Halo_0000_profile.dat related to the first Halo listed in HopAnalysis.out
file ?
Yes, the HaloProfiler will always use the same indices for halos as all of the halo finders in yt. So, the file Halo_N_profile.dat will always refer to halo N on the halo list.
What is # ?
This is just a comment character so that plotting programs don't try to read in what's on that line. The tab between it and the first field name is there to accommodate the routines that read those files back in to the HaloProfiler.
What is the meaning of ActualOverdensity ? And units ?
ActualOverdensity has the same physical meaning as the regular Overdensity field. It is (Baryon Density + Dark Matter Density) / (Mean density of the universe). If you search the literature, you will find alternate definitions that use critical density instead of mean density. The one used here is a little more common (I think, but I'm not sure). As per these definitions, overdensity is a unitless quantity.
In yt, there is an Overdensity field that is calculated on a cell-by- cell basis. For calculation of virial quantities for halos, the overdensity you calculate should be explicitly the total mass (baryon + dm) / total volume / mean density, where total refers to all cells enclosed within the sphere of the radial profile, not just the shell from r_(i-1) to r_i. Technically, you could get this by doing a profile of the Overdensity field, weighted by CellVolume, with accumulation set to True. However, if for some reason, the user wanted to do profiles of the overdensity field in a different way, say weighted by CellMass, or just counting the material shell-by-shell (accumulation=False), this number would not be correct for the calculation of virial quantities. For that reason, the HaloProfiler automatically generates this ActualOverdensity field which is assured to be calculated in the correct way. That way the user doesn't accidentally override a proper calculation of the overdensity used for the virial quantities.
Other than the ActualOverdensity field (which is automatically generated by the HaloProfiler, and thus does not exist outside that context) you can always get the units of any field with: lagos.fieldInfo[some_field].units For more information, see here: http://yt.enzotools.org/doc/faq.html#how-do-i-know-what-the-units-returned-a...
What is the meaning of CellVolume? And units ?
What is Density referring to ? And units ?
CellVolume and Density are the volume of a cell and the baryon density. In this context, they are the values of those fields in the radial profile. If you did it as per the recipe, the CellVolume is the total accumulated volume for all cells within the sphere radius. Density SHOULD be the mass-weighted, mean baryon density for cells within spherical shells. However, after looking at the recipe on the website, I see that, in error, I set the weight_field of the Density profile to None, instead of CellMassMsun. Therefore, the Density profile may be meaningless as is. I will change the recipe on the website ASAP.
What is mywieght ?
The myweight field is a temporary field for keeping track of the weight field for a weight radial profile. It should be ignored and we might just want to not write it out in the future.
I also got the projection/ directory. But I got errors...
It looks like the HaloProfiler tried to do a projection of Metallicity, but your simulation data did not have the MetalDensity field. You need to set CosmologyUseMetallicityField (or something like that) to 1 in your enzo parameter file in order to get this field. You can also just remove the line in the HaloProfiler recipe that adds the metallicity field to the list of projections.
Cheers,
Britton
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
Dr. Eric J. Hallman NSF Astronomy and Astrophysics Postdoctoral Fellow Center for Astrophysics and Space Astronomy University of Colorado at Boulder hallman (at) casa.colorado.edu Phone: (312) 725-4626 http://solo.colorado.edu/~hallman/
<winmail.dat>_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
Dr. Eric J. Hallman NSF Astronomy and Astrophysics Postdoctoral Fellow Center for Astrophysics and Space Astronomy University of Colorado at Boulder hallman (at) casa.colorado.edu Phone: (312) 725-4626 http://solo.colorado.edu/~hallman/