<html><body>
<p>1 new commit in yt:</p>
<p><a href="https://bitbucket.org/yt_analysis/yt/commits/c956b4087291/">https://bitbucket.org/yt_analysis/yt/commits/c956b4087291/</a> Changeset: c956b4087291 Branch: yt User: xarthisius Date: 2016-03-28 11:59:23+00:00 Summary: Merged in brittonsmith/yt (pull request #2084)</p>
<p>Adding docs for cosmology calculator. (closes Issue #760) Affected #: 4 files</p>
<p>diff -r fbf09b0618e08deb4f675c82b61e816d8f17156a -r c956b4087291b6717fd870f09c9fd5176057d1f6 doc/source/analyzing/analysis_modules/cosmology_calculator.rst --- /dev/null +++ b/doc/source/analyzing/analysis_modules/cosmology_calculator.rst @@ -0,0 +1,75 @@ +.. _cosmology-calculator: + +Cosmology Calculator +==================== + +The cosmology calculator can be used to calculate cosmological distances and +times given a set of cosmological parameters. A cosmological dataset, `ds`, +will automatically have a cosmology calculator configured with the correct +parameters associated with it as `ds.cosmology`. A standalone +:class:`~yt.utilities.cosmology.Cosmology` calculator object can be created +in the following way: + +.. code-block:: python + + from yt.utilities.cosmology import Cosmology + + co = Cosmology(hubble_constant=0.7, omega_matter=0.3, + omega_lambda=0.7, omega_curvature=0.0) + +Once created, various distance calculations as well as conversions between +redshift and time are available: + +.. notebook-cell:: + + from yt.utilities.cosmology import Cosmology + + co = Cosmology(hubble_constant=0.7, omega_matter=0.3, + omega_lambda=0.7, omega_curvature=0.0) + + # Hubble distance (c / h) + print("hubble distance", co.hubble_distance()) + + # distance from z = 0 to 0.5 + print("comoving radial distance", co.comoving_radial_distance(0, 0.5).in_units("Mpc/h")) + + # transverse distance + print("transverse distance", co.comoving_transverse_distance(0, 0.5).in_units("Mpc/h")) + + # comoving volume + print("comoving volume", co.comoving_volume(0, 0.5).in_units("Gpc**3")) + + # angulare diameter distance + print("angular diameter distance", co.angular_diameter_distance(0, 0.5).in_units("Mpc/h")) + + # angular scale + print("angular scale", co.angular_scale(0, 0.5).in_units("Mpc/degree")) + + # luminosity distance + print("luminosity distance", co.luminosity_distance(0, 0.5).in_units("Mpc/h")) + + # time between two redshifts + print("lookback time", co.lookback_time(0, 0.5).in_units("Gyr")) + + # age of the Universe at a given redshift + print("hubble time", co.hubble_time(0).in_units("Gyr")) + + # critical density + print("critical density", co.critical_density(0)) + + # Hubble parameter at a given redshift + print("hubble parameter", co.hubble_parameter(0).in_units("km/s/Mpc")) + + # convert time after Big Bang to redshift + my_t = co.quan(8, “Gyr”) + print("z from t", co.z_from_t(my_t)) + + # convert redshift to time after Big Bang (same as Hubble time) + print("t from z", co.t_from_z(0.5).in_units("Gyr")) + +Note, that all distances returned are comoving distances. All of the above +functions accept scalar values and arrays. The helper functions, `co.quan` +and `co.arr` exist to create unitful `YTQuantities` and `YTArray` with the +unit registry of the cosmology calculator. For more information on the usage +and meaning of each calculation, consult the reference documentation at +:ref:`cosmology-calculator-ref`.</p>
<p>diff -r fbf09b0618e08deb4f675c82b61e816d8f17156a -r c956b4087291b6717fd870f09c9fd5176057d1f6 doc/source/analyzing/analysis_modules/index.rst --- a/doc/source/analyzing/analysis_modules/index.rst +++ b/doc/source/analyzing/analysis_modules/index.rst @@ -12,6 +12,7 @@</p>
<pre>.. toctree::
:maxdepth: 2
</pre>
<p>+ cosmology_calculator</p>
<pre>halo_analysis
synthetic_observation
exporting</pre>
<p>diff -r fbf09b0618e08deb4f675c82b61e816d8f17156a -r c956b4087291b6717fd870f09c9fd5176057d1f6 doc/source/reference/api/api.rst --- a/doc/source/reference/api/api.rst +++ b/doc/source/reference/api/api.rst @@ -862,6 +862,29 @@</p>
<pre> ~yt.utilities.parallel_tools.parallel_analysis_interface.ParallelAnalysisInterface
~yt.utilities.parallel_tools.parallel_analysis_interface.ParallelObjectIterator
</pre>
<p>+.. _cosmology-calculator-ref: + +Cosmology Calculator +-------------------- + +.. autosummary:: + :toctree: generated/ + + ~yt.utilities.cosmology.Cosmology + ~yt.utilities.cosmology.Cosmology.hubble_distance + ~yt.utilities.cosmology.Cosmology.comoving_radial_distance + ~yt.utilities.cosmology.Cosmology.comoving_transverse_distance + ~yt.utilities.cosmology.Cosmology.comoving_volume + ~yt.utilities.cosmology.Cosmology.angular_diameter_distance + ~yt.utilities.cosmology.Cosmology.angular_scale + ~yt.utilities.cosmology.Cosmology.luminosity_distance + ~yt.utilities.cosmology.Cosmology.lookback_time + ~yt.utilities.cosmology.Cosmology.hubble_time + ~yt.utilities.cosmology.Cosmology.critical_density + ~yt.utilities.cosmology.Cosmology.hubble_parameter + ~yt.utilities.cosmology.Cosmology.expansion_factor + ~yt.utilities.cosmology.Cosmology.z_from_t + ~yt.utilities.cosmology.Cosmology.t_from_z</p>
<pre>Testing Infrastructure
----------------------</pre>
<p>diff -r fbf09b0618e08deb4f675c82b61e816d8f17156a -r c956b4087291b6717fd870f09c9fd5176057d1f6 yt/utilities/cosmology.py --- a/yt/utilities/cosmology.py +++ b/yt/utilities/cosmology.py @@ -4,7 +4,6 @@</p>
<pre>and featuring time and redshift conversion functions from Enzo.
"""</pre>
<p>-from <em>_future</em>_ import print_function</p>
<pre>#-----------------------------------------------------------------------------
# Copyright (c) 2013-2014, yt Development Team.</pre>
<p>@@ -58,7 +57,7 @@</p>
<pre>>>> from yt.utilities.cosmology import Cosmology
>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.hubble_time(0.0).in_units("Gyr")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.hubble_time(0.0).in_units("Gyr"))</p>
<pre>"""
def __init__(self, hubble_constant = 0.71,</pre>
<p>@@ -104,8 +103,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.comoving_radial_distance(0., 1.).in_units("Mpccm")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.comoving_radial_distance(0., 1.).in_units("Mpccm"))</p>
<pre>"""
return (self.hubble_distance() *</pre>
<p>@@ -127,8 +127,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.comoving_transverse_distance(0., 1.).in_units("Mpccm")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.comoving_transverse_distance(0., 1.).in_units("Mpccm"))</p>
<pre>"""
if (self.omega_curvature > 0):</pre>
<p>@@ -161,8 +162,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.comoving_volume(0., 1.).in_units("Gpccm**3")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.comoving_volume(0., 1.).in_units("Gpccm**3"))</p>
<pre>"""
if (self.omega_curvature > 0):</pre>
<p>@@ -209,8 +211,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.angular_diameter_distance(0., 1.).in_units("Mpc")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.angular_diameter_distance(0., 1.).in_units("Mpc"))</p>
<pre>"""
</pre>
<p>@@ -232,8 +235,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.angular_scale(0., 1.).in_units("kpc / arcsec")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.angular_scale(0., 1.).in_units("kpc / arcsec"))</p>
<pre> """
</pre>
<p>@@ -256,8 +260,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.luminosity_distance(0., 1.).in_units("Mpc")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.luminosity_distance(0., 1.).in_units("Mpc"))</p>
<pre> """
</pre>
<p>@@ -279,8 +284,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.lookback_time(0., 1.).in_units("Gyr")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.lookback_time(0., 1.).in_units("Gyr"))</p>
<pre>"""
return (trapzint(self.age_integrand, z_i, z_f) / \</pre>
<p>@@ -301,8 +307,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.hubble_time(0.).in_units("Gyr")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.hubble_time(0.).in_units("Gyr"))</p>
<pre>See Also
--------</pre>
<p>@@ -326,9 +333,10 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.critical_density(0.).in_units("g/cm**3")</p></blockquote></blockquote></blockquote></li>
<li><blockquote><blockquote><blockquote><p>print co.critical_density(0).in_units("Msun/Mpc**3")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.critical_density(0.).in_units("g/cm**3")) + >>> print(co.critical_density(0).in_units("Msun/Mpc**3"))</p>
<pre>"""
return (3.0 / 8.0 / np.pi *</pre>
<p>@@ -348,8 +356,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.hubble_parameter(1.0).in_units("km/s/Mpc")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.hubble_parameter(1.0).in_units("km/s/Mpc"))</p>
<pre>"""
return self.hubble_constant.in_base(self.unit_system) * self.expansion_factor(z)</pre>
<p>@@ -393,8 +402,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.z_from_t(4.e17)</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.z_from_t(4.e17))</p>
<pre> """
</pre>
<p>@@ -484,8 +494,9 @@</p>
<pre> Examples
--------
</pre>
<p>+ >>> from yt.utilities.cosmology import Cosmology</p>
<pre>>>> co = Cosmology()</pre>
<ul><li><blockquote><blockquote><blockquote><p>print co.t_from_z(0.).in_units("Gyr")</p></blockquote></blockquote></blockquote></li></ul>
<p>+ >>> print(co.t_from_z(0.).in_units("Gyr"))</p>
<pre>See Also
--------</pre>
<p>Repository URL: <a href="https://bitbucket.org/yt_analysis/yt/">https://bitbucket.org/yt_analysis/yt/</a></p>
<p>—</p>
<p>This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.</p>
<img src="http://link.bitbucket.org/wf/open?upn=ll4ctv0L-2ByeRZFC1LslHcg6aJmnQ70VruLbmeLQr27BUW6Cy90gyyOnNwq-2BPQMrA7EbUXYpn3wVJBVKrjDRYBjgtTcMxK8a-2BmqMhmZXPcD1a1o0l-2B5TXJppyCwzbeNtzLzsfn59mfBFZT-2F3h1KTW2PYIsz3lvJl5kCKXWZoj9c7ngiSoMEz9nF4b15-2B9OYNkwnSDs3ntK0xoLGMirZozW-2B2Lm2RZhbsGxrxpADsQeeo-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
</body></html>