<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>