<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div>I've attached a simple script that illustrates the differences between the various particle_density fields in yt-3. It calculates the total particle mass in the simulation for each field used. It should work for any Enzo simulation, including the test outputs packaged with yt (I've currently set it up to be run from the DD0010 test directory). The particle_density field in yt-2.x gives results equivalent to the "all_cic" field (at least to within a part in 1000) so I haven't included a second legacy script. <br></div><div>When I run this script on the DD0010 test simulation, the nearest grid cell deposition field "all_density" matches the directly summed particle masses. The Enzo supplied "dark_matter_density" field produces the largest discrepancy, while the yt "all_cic" field is intermediate between the two. For the unigrid (no AMR) simulation I was originally using, the "all_cic" and "all_density" fields both match the summed particle masses, with the "dark_matter_density" giving a smaller mass by ~1.2%.<br></div><div>I think this indicates that YT's CIC deposited particles have issues at the boundaries of refined regions (the issue that Nathan found), while Enzo's CIC field is losing mass at all grid boundaries. For my purposes, the YT CIC field is accurate, but this does make it less clear what the appropriate fix is. Replacing the "dark_matter_mass" field with YT's CIC calculation is an improvement, but leaves residual inaccuracies in AMR simulations. Switching the calculations to use nearest grid cell deposition fixes mass conservation, but changes the smoothness of the density field in a way that probably shouldn't be done behind the scenes.<br></div><div>The best solution might be to overwrite the "dark_matter_density" field with "all_cic" (or "io_cic", I don't understand the difference) for Enzo simulations only. This would improve the accuracy of the field for Enzo without negatively impacting other frontends that may do their density calculations in a way that is superior to yt's CIC version.<br></div><div>     - Josh<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 13, 2016 at 6:28 AM, Greg Bryan <span dir="ltr"><<a href="mailto:gbryan@astro.columbia.edu" target="_blank">gbryan@astro.columbia.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Thanks Josh — I think you are correct that the Enzo Dark_Matter_Density field does not include the boundary contribution to the CIC deposition (this is properly accounted for in the simulation itself, but not in the output field).</div><div><br></div><div>Cheers,</div><div>Greg</div><br><div><blockquote type="cite"><div><div class="h5"><div>On Jan 12, 2016, at 6:41 PM, Josh Moloney <<a href="mailto:Joshua.Moloney@Colorado.EDU" target="_blank">Joshua.Moloney@Colorado.EDU</a>> wrote:</div><br></div></div><div><div><div class="h5"><div dir="ltr">For the past couple of days I've been trying to figure out halo profiles and virial radius calculations in yt, which so far has mostly consisted of trying to understand the differences in the "Overdensity" field between yt versions.<div><br></div><div>The biggest difference is due to yt-2.x using an incorrect redshift scaling for the overdensity calculation. The field is defined as</div><div><br></div><div>Matter_Density / (rho_crit_now * data.pf.hubble_constant**2 * (1 + data.pf.current_redshift)**3)</div><div><br></div><div>which scales the critical density by (1+z)^3 instead of only the matter component.</div><div><br></div><div>This error is fixed in yt 3, but I'm not sure if it's corrected for or known by people still using legacy versions of yt.</div><div><br></div><div>After accounting for this, there is still a ~1.5% difference in the mean overdensity in my simulation between yt 2.x and 3 (the yt 3 value is lower). This difference comes from the particle_density component of the matter_density. The yt 2.x version uses the particle masses from Enzo and yt's CICDeposit_3. The yt 3 version uses the Dark_Matter_Density field from Enzo, which uses Enzo's build in cic method. As far as I understand, differences in cic methods could lead to different values over subdomains of a simulation, but shouldn't lead to different total masses over the entire simulation box.</div><div><br></div><div>I went through each grid of my simulation individually, and in every one of them the sum of the Dark_Matter_Density values is less than the sum of the particle_mass values. Differences range from 0.4% to 3.5% across individual grids. My guess is that this means the Dark_Matter_Density field is losing mass that is deposited in the ghost zones outside of the grid boundaries.</div><div><br></div><div>I'm not familiar enough with the internal workings of Enzo to know if this has any impact on the actual simulations, or if it is only an issue with the data outputs. Either way, it might be a good idea to have yt return to calculating the particle_density field from particle masses and do the cic deposition in yt, at least for Enzo data.</div><div>    - Josh</div></div></div></div><span class="">
_______________________________________________<br>yt-dev mailing list<br><a href="mailto:yt-dev@lists.spacepope.org" target="_blank">yt-dev@lists.spacepope.org</a><br><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.spacepope.org_listinfo.cgi_yt-2Ddev-2Dspacepope.org&d=BQMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=hgcBC3x6dKFoTrmFmMYYbKNfiHZlGLKliIidd1LwmHI&m=_UAc1zkbXeewJTWagaTYShzp9rKfoHptlrU36KvTpgw&s=fZl7nJUjIOznbF5Sv6G-AeQJSBq1irKwH7bjgdbOMBM&e=" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br></span></div></blockquote></div><div><span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px"><div style="word-wrap:break-word"><div><br></div></div><br></span><br><br>
</div>
<br></div><br>_______________________________________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org">yt-dev@lists.spacepope.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.spacepope.org_listinfo.cgi_yt-2Ddev-2Dspacepope.org&d=BQMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=hgcBC3x6dKFoTrmFmMYYbKNfiHZlGLKliIidd1LwmHI&m=_UAc1zkbXeewJTWagaTYShzp9rKfoHptlrU36KvTpgw&s=fZl7nJUjIOznbF5Sv6G-AeQJSBq1irKwH7bjgdbOMBM&e=" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
<br></blockquote></div><br></div>