Data from the Millennium-II Simulationthe registration page for details. The format is essentially the same as the database for the original Millennium Simulation, with some updates and additions (see below for further details).
Frequently Asked Questions
What is the difference between a halo and a subhalo?
There are two types of dark matter structures in the Millennium / Millennium-II databases: friends-of-friends (FOF) halos and subhalos. The term "halo" in the documentation almost always refers to subhalos. While FOF halos better correspond to the standard picture of a virialized dark matter halo, subhalos are more easily connected to galaxies. Each FOF halo may contain several subhalos (see Springel et al. 2005 / Boylan-Kolchin et al. 2009 for details on how FOF halos and subhalos were found in the Millennium / Millennium-II Simulations). The merger trees in the Millennium-II database use subhalos as their fundamental unit; as far as the merger trees are concerned, FOF halos only exist as a property of the subhalos (this is also true for the MPAHaloTrees in the Millennium database but is not the case for the DHaloTrees). While it is possible to construct FOF merger trees either based on the subhalo merger trees or directly from the FOF halos, no such FOF merger trees currently exist in the Millennium-II database.
Why is the subhalo mass equal to zero even though it has over one million particles?
Only subhalos that are identified as FOF-dominant (those for which haloId=firstHaloInFOFgroupID) can have a spherical overdensity mass associated with them. All non-FOF-dominant subhalos will have m_crit200, m_mean200, and m_tophat identically equal to zero. The number of particles in the subhalo is still well-defined, however, and this is the basis for the standard definition of a subhalo's mass.
There are almost no major mergers in the merger trees - what's wrong?
Mergers in the merger trees are mergers of subhalos. These subhalos may have been orbiting for several dynamical times within a larger FOF halo and can lose substantial amounts of mass before merging. If you are interested in the merger of FOF halos, there are several possibilities. One is to follow merging subhalos backward in time until they reside in separate FOF halos; another is to find FOF-dominant subhalos with descendants that reside in the same FOF halo.
Are there any structural differences between the Millennium and Millennium-II databases?
We have added a few new columns for the Millennium-II database that are currently not present for the Millennium database. If these prove useful, we will update the Millennium database to include them. The additional columns in the subhalo merger trees include:
- fofId: a direct link to the host FOF halo for each subhalo.
- subhaloId: subhalos are now ranked by mass within their host FOF group; see below for a further description of subhaloId and how it is different from subhaloFileId (which more closely corresponds to the subhaloId column in the Millennium database)
- vMaxRad: the radius at which the peak circular velocity is reached.
- mainLeafId: the haloId of the subhalo at the end of a subhalo's main branch; all subhalos with haloId between haloId and mainLeafId (inclusive) make up the main branch. This allows for efficient extraction of the main progenitor branch for any subhalo.
- treeRootId: the haloId of the subhalo at the root of this subhalo's merger tree. In general, this will be a subhalo at z=0, though this is not true if the subhalo's merger tree ends before z=0. treeRootId allows for more efficient querying for the descendants of known progenitors.
An important difference is the number of snapshots: 64 for Millennium (0-63), 68 for Millennium-II (0-67). Note that for a given snapshot number, the corresponding redshift is different in the Millennium Simulation than in the Millennium-II Simulation. Please see the MField..Snapshots (Millennium) and MillenniumII..Snapshots (Millennium-II) tables for the relationship between snapshot number and redshift / expansion factor.
What is the nextProgenitorId?
The nextProgenitorId of subhalo S is a pointer to the next most massive subhalo that has the same descendant as subhalo S. The nextProgenitorId pointer is NOT a pointer from a subhalo to one of its progenitors; it links subhalos that have the same descendant. See the example below for a schematic view of several of the pointers in the merger trees, including the nextProgenitorId.
Why are there so many different IDs? How do they help me?
The raw particle data for the Millennium-II Simulation was saved at 68 snapshots. Each snapshot is distributed over 512 approximately equal-sized files. At each snapshot, a friends-of-friends (FOF) groupfinder with linking length b=0.2 was run. During post-processing, each FOF group was searched for bound substructure using the SUBFIND algorithm. For each snapshot, there are 2048 files that contain the results of SUBFIND. Merger trees were built based on these subhalos. The merger trees were split over 512 files, each of which contains approximately 14,000 trees. In making the database, the structure of these files is retained in the subhalo (and FOF halo) IDs as follows:
- haloId = 1015 * treeFile + 109 * (rank of tree in file) + (depth-first ordering of subhalo in tree)
- fofID = 1010 * snapnum + 106 * fileNr + (rank in file)
- subhaloId = 106 * fofID + (rank in FOF group) = 1016 * snapnum + 1012 * fileNr + 106 * (rank in file) + (rank in FOF group)
- subhaloFileId = 1010 * snapnum + 106 * fileNr + (rank in file)
Knowing this data structure can help in your queries. For example, suppose you are interested in finding all subhalos beloning to the FOF group with a given fofID; this can be done trivially by selecting subhaloId between 106 * fofID and 106* (fofID + 1) - 1.
Springel et al. 2005). The gray boxes indicate FOF halos. Self-pointers (e.g., the pointer to the firstHaloInFOFgroupId for a subhalo that is the firstHaloInFOFgroupId) have been omitted for clarity. If pointer is set to -1 in the database, this means there is no such subhalo. For example, a descendantId of -1 means a subhalo has no descendant, while nextHaloInFOFgroupId = -1 means there are no more subhalos in the given FOF group.