[yt-svn] commit/yt-doc: Christopher Moody: Including changes to Rockstar halo findins docs.
Bitbucket
commits-noreply at bitbucket.org
Fri Jul 13 12:21:51 PDT 2012
1 new commit in yt-doc:
https://bitbucket.org/yt_analysis/yt-doc/changeset/f2bbe043376d/
changeset: f2bbe043376d
user: Christopher Moody
date: 2012-07-13 21:08:25
summary: Including changes to Rockstar halo findins docs.
affected #: 1 file
diff -r 6584111f7558c58ff6cc3cb773f332a08eca3904 -r f2bbe043376d6588f97dc1662e411155d09180fe source/analysis_modules/running_halofinder.rst
--- a/source/analysis_modules/running_halofinder.rst
+++ b/source/analysis_modules/running_halofinder.rst
@@ -4,13 +4,14 @@
============
.. sectionauthor:: Stephen Skory <sskory at physics.ucsd.edu>
-There are three methods of finding particle haloes in yt. The recommended and default method is called HOP, a
+There are four methods of finding particle haloes in yt. The recommended and default method is called HOP, a
method described in `Eisenstein and Hut (1998) <http://adsabs.harvard.edu/abs/1998ApJ...498..137E>`_.
A basic friends-of-friends (e.g. `Efstathiou et al. (1985) <http://adsabs.harvard.edu/abs/1985ApJS...57..241E>`_)
halo finder is also implemented.
-Finally, Parallel HOP (` Skory et al. (2010) <http://adsabs.harvard.edu/abs/2010ApJS..191...43S>`_)
+Parallel HOP (` Skory et al. (2010) <http://adsabs.harvard.edu/abs/2010ApJS..191...43S>`_)
is a true parallelization of the HOP method can analyze massive datasets on
hundreds of processors.
+Finally Rockstar is a 6D-phase space halo finder developed by Peter Behroozi that excels in finding subhalos and substrcture, but does not allow multiple particle masses.
HOP
---
@@ -449,3 +450,108 @@
halos.write_out("sv.out")
+Rockstar Halo Finding
+============
+.. sectionauthor:: Matthew Turk <matthewturk at gmail.com>
+.. sectionauthor:: Christopher Erick Moody<cemoody at ucsc.edu>
+
+Rockstar uses an adaptive hierarchical refinement of friends-of-friends
+groups in six phase-space dimensions and one time dimension, which
+allows for robust (grid-independent, shape-independent, and noise-
+resilient) tracking of substructure. The code is prepackaged with yt,
+but separetely available <http://code.google.com/p/rockstar>. The lead
+developer is Peter Behroozi, and the methods are described in `Behroozi
+et al. 2011 <http://rockstar.googlecode.com/files/rockstar_ap101911.pdf>.`
+
+.. note:: At the moment, Rockstar does not support multiple particle masses,
+ instead using a fixed particle mass. This will not affect most dark matter
+ simulations, but does make it less useful for finding halos from the stellar
+ mass.
+
+To run the Rockstar Halo finding, you must launch python with MPI and
+parallelization enabled. While Rockstar itself does not require MPI to run,
+the MPI libraries allow yt to distribute particle information across multiple
+nodes.
+
+.. code-block:: bash
+ mpirun -n3 yt test_rockstar.py --parallel
+
+Designing the python script itself is straightforward:
+
+.. code-block:: python
+
+ from mpi4py import MPI
+ from yt.mods import *
+ from yt.analysis_modules.halo_finding.rockstar.api import RockstarHaloFinder
+
+ #find all of our simulation files
+ files = glob.glob("Enzo_64/DD*/\*hierarchy")
+ #hopefully the file name order is chronological
+ files.sort()
+ ts = TimeSeriesData.from_filenames(files[:4])
+ #this is the particle mass in Msun
+ pm = 7.81769027e+11
+ rh = RockstarHaloFinder(ts, particle_mass=pm)
+ rh.run()
+ print 'script finished'
+
+The script above configures the Halo finder, launches a server process which
+disseminates run information and coordinates writer-reader processes.
+Afterwards, it launches reader and writer tasks, filling the available MPI
+slots, which alternately read particle information and analyze for halo
+content.
+
+The RockstarHaloFinder class has these options:
+ * ``particle_mass``, the fixed mass of the particles.
+ Cannot vary between particles.
+ * ``dm_type``, the index of the dark matter particle. Default is 1.
+ * ``outbase``, the Rockstar output data directory.
+ Default is str(pf)+'_rockstar'
+ * ``num_readers``, the number of reader tasks (which are idle most of the
+ time.) Default is 1.
+ * ``num_writers``, the number of writer tasks (which are fed particles and
+ do most of the analysis). Default is MPI_TASKS-num_readers-1.
+ If left undefined, the above options are automatically
+ configured from the number of available MPI tasks.
+
+Output Analysis
+^^^^^^^^^^^^^^^
+
+Rockstar dumps halo information in a series of text (halo*list and
+out*list) and binary (halo*bin) files inside the ``outbase`` directory.
+We use the halo list classes to recover the information.
+
+The halo list can be automatically generated from the RockstarHaloFinder
+object by calling ``RockstarHaloFinder.halo_list()``. Alternatively, the halo
+lists can be built from the RockstarHaloList class directly
+``RockstarHaloList(pf,''outbase/out_0.list')``.
+
+.. code-block:: python
+ rh = RockstarHaloFinder(pf)
+ #First method of creating the halo lists:
+ halo_list = rh.halo_list()
+ #Alternate method of creatin halo_list:
+ halo_list = RockstarHaloList(pf,str(pf)+'_rockstar/out_0.list')
+ most_massive_com = None
+ most_massive_mass = 0
+ for h in halo_list:
+ if h.Mvir > massive_mass:
+ most_massive_mass = h.Mvir
+ most_massive_com = h.CoM
+
+Installation
+^^^^^^^^^^^^
+
+The Rockstar is slightly patched and modified to run as a library inside of
+yt. The repository for this project is located here
+<https://bitbucket.org/MatthewTurk/rockstar>. The yt installation allows the
+option to install and configure Rockstar appropriately, see :ref:`installing-yt`.
+
+If installed separately follow these steps:
+ * ``make lib``, inside the Rockstar directory to create librockstar.so. You
+ must set the ROCKSTAR_DIR and LD_LIBRARY_PATH so that yt knows where
+ librockstar.so is.
+ * Run ``python setup.py build_ext -i``, to rebuild the yt source including
+ the Cython references to Rockstar
+
+
Repository URL: https://bitbucket.org/yt_analysis/yt-doc/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list