[Yt-dev] EnzoFOF merger tree

John Wise jwise at astro.princeton.edu
Fri Jan 14 06:31:52 PST 2011


Hi Matt,

I think this would be a great idea to have a generalized hierarchical output for all types of parent-child systems.  In this initial version, I just link the parent halos to its children, and let graphviz figure out the grouping.  The connections sometimes overlap in complex trees.  Looking at the Vascucci & Cole-McLaughlin paper, it seems like this algorithm would be more smart about this.  Plus we could parallelize it.

For people wanting to read more about the algorithm, you can find the paper here.
http://www.springerlink.com/content/tufw98bll6d8urwd/

Having a built-in graph generator would be wonderful and save us from running dot every time we generate a graph file.

John

On 14 Jan 2011, at 09:18, Matthew Turk wrote:

> Hi John,
> 
> This is pretty cool!  Thanks for sharing this.
> 
> What I think would very cool is if we could apply this particular type
> of graphviz output (and I know Stephen has also done a lot with
> graphviz, so maybe he has something to suggest) to the creation of
> level set (i.e., clump) diagrams.
> 
> In particular, the Vascucci and Cole-McLoughlin algorithm for level
> set identification, which I may finally be able to implement after two
> years of dancing around it, would provide us with grid cell dendograms
> based on arbitrary quantities.  It would be great if there was a
> hierarchical graphviz output for that (or for our current Clump
> system.)  One idea might be to yank the hierarchical dotfile writer
> for graphviz into something abstract, where you would call a function
> with a list of root nodes, and supply to it the name of a method that
> provides supplemental information as well as the name of the list of
> child nodes.  What do you think?  Then we could have a single graphviz
> output method that works with clumps and both merger tree
> implementations?
> 
> -Matt
> 
> On Fri, Jan 14, 2011 at 1:02 AM, John Wise <jwise at astro.princeton.edu> wrote:
>> Hi all,
>> 
>> I just extended Matt's merger tree that works on enzo's inline FOF halo finder to work on multiple outputs, and build a complete merger tree.  It produces DOT (Graphviz) files.  I tried to make it simple to use and put in the necessary docstrings.  Here's an example to make a merger tree from z = 15->7 only including halos with >500 particles.
>> 
>> """
>> from yt.mods import *
>> import yt.analysis_modules.halo_merger_tree.api as hm
>> 
>> tree = hm.EnzoFOFMergerTree((7.0,15.0), load_saved=True)
>> #tree.build_tree(0, max_children=4)
>> tree.build_tree(0, min_particles=500)
>> tree.write_dot()
>> """
>> 
>> The load_saved argument will load the pickled results from previous calculations.  It will save it by default if it's false.
>> 
>> Here's the result from the most massive halo in a 256^3 sim.  Careful, it's large!  1.9MB, 4325x7461 pix
>> http://www.astro.princeton.edu/~jwise/pics/merger-tree.png
>> 
>> If you try it out, please let me know of any problems!
>> 
>> Cheers,
>> John
>> _______________________________________________
>> Yt-dev mailing list
>> Yt-dev at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>> 
> _______________________________________________
> Yt-dev mailing list
> Yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org




More information about the yt-dev mailing list