manodeep / hinge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

/* Author: Manodeep Sinha manodeep@gmail.com Date: March 18, 2015. LICENSE: MIT */

Description

HINGE (Halo Interaction Network and Galaxy Evolution) contains a set of 3 tools (written in C) to create a full interaction network from a cosmological simulation. The code is divided into 3 stages:

HaloParentFinder

Creates the progenitor-descendant pairs between a target snapshot and future snapshots. Refer to the README in the HaloParentFinder sub-directory for more details.

OrphanFixer

Corrects the situation where the halofinder misses subhalos that pass too close to the host halo center. Such subhalos appear to have (artificially) disrupted; and reappear as a progenitor-less subhalo after a few snapshots.

This step can only be run after HaloParentFinder has processed all of the snapshots. OrphanFixer creates the exact same interaction network as the next step, MergerTree.

MergerTree

Creates the full interaction network and outputs various interactions. Adds stellar masses from various fits in the literature. genplotdata.c contains majority of the routines to generate data used to make plots.

Installing HINGE

Prerequisites

GNU Scientific Library is the only pre-requisite for HINGE. And a working C compiler, of course.

HINGE Compile Options

Get the source code from the repo, here,

hg clone https://USERNAME@bitbucket.org/manodeep/hinge

Edit the common.mk file to set up your compilation options,

Compile Option Effect of compile option
BIGSIM Particle load is > INT_MAX (2^31 ~ 2 Billion). All loop counters will be 64-bit integers
LONGIDS Particle IDs are 64-bit integers
MAKE_LEAN Remove memory allocations when they are no longer required (* always recommended *)
SUSSING_TREES Read in AHF halos generated with the SUSSING TREES compile option
SUBFIND Read in SubFind halos
BGC2 Read in Rockstar halos written in the bgc2 format ( * under development *)
WMAP5 Set up WMAP5 cosmology
WMAP3 Set up WMAP3 cosmology
WMAP1 Set up WMAP1 cosmology

Deprecated HINGE Compile Options

  • FOF_ONLY -- Generate the interaction network just based on FOF halos
  • GET_GROUPVEL -- Read in group velocities for SubFind halos.

Options under development

These are the following compile options that will be active in the near-future,

  • BGC2 -- Read-in Rockstar halo catalogs that have been written in the bgc2 format
  • USE_OMP -- Enable OpenMP parallelization

Running HINGE

Input Formats for Halo Catalogs

HINGE currently supports standard SubFind halos, and AHF halos generated with the SUSSING2013 Makefile option.

Common parameters

Here are the parameters that are common to all three codes,

Parameter name Parameter Meaning
MIN_SNAPSHOT_NUM Minimum snapshot number (integer).
MAX_SNAPSHOT_NUM Maximum snapshot number (integer).
SNAPSHOT_DIR Directory where all the snapshots are stored (string).
SNAPSHOT_BASE Basename for all the snapshots (string). Fully qualified snapshot names are generated using the C printf format sprintf(%s/%s_%03d,SNAPSHOT_DIR,SNAPSHOT_BASE,snapshot_number).
GROUP_DIR Directory where the halo catalogs are stored (string)
GROUP_BASE Basename for all the halo catalogs (string). For instance, SubFind writes out halo catalogs as groups\_XXX.*. So, if you are using SubFind halos then, GROUP_BASE should be groups.
OUTPUT_DIR Directory where all output is written

Parameter File for HaloParentFinder

Please refer to the README file in the haloparentfinder directory.

Parameter File for OrphanFixer

Please refer to the README file in the orphanfixer directory.

Parameter File for MergerTree

Please refer to the README file in the mergertree directory.

Author

HINGE was written by Manodeep Sinha. Please contact the author in case of any issues.

LICENSE

HINGE is released under the MIT license. Basically, do what you want with the code including using it in commercial application (however, in that case, please send me an email - I would like to know how you could possibly make a commercial application application out of this code).

Project URL

About

License:MIT License


Languages

Language:C 99.3%Language:Makefile 0.7%Language:Perl 0.0%