================================================================================================
____ . ________ _________ . __
\ \ / /_ /| | _ \ _ ___ | |__ / | ___________
\ Y / | ) | | / | / \ /| _ __ _ \ _ \ / _ _ __
\ / | | |/ | \ ___| || | // __ | |> > | ( <> ) | /
_/ /_______ /|_______ _____ /______ /||| (___ / /|| _/||
/ / / / /|_|
(Formerly)
/ /_ / __ __ / | __ _________ ____
_ \ | | _ __ \ | _/ \ \ | _ __ _/ __
/ \ | | | | / | /\ _| | | | /| | /\ /
/ / || |__| |/ ___ >| |____/ || ___ >
/ / /
. .
_ /|| ____ | /
| ) | |/ \ / __ |/ __ _ __
| \ | | | / /_/ \ /| | /
_ / ||| /___ |___ >_|
/ / / /
___ _______________________________ ___
/ / / /_ /_ / \
/ / _ \ | | | ) \
( ( / \ | | | \ ) )
\ \ / / |____| _ / / /
__\ / / //
================================================================================================
VELOCIraptor (formerly STructure Finder)
================================================================================================ developed by:
Pascal Jahan Elahi (continuously)
================================================================================================
Content
(for more information type make doc in main dir and in NBodylib dir and
see documents in the doc directory)
================================================================================================ src/ contains main source code for the algorithm analysis/ contains routines that can be used to analyze the (sub)structures found in a simulation. Typically, these routines read in the Nbody data and then calculate a variety of properties doc/ contains Doxygen generated latex and html file of code NBodylib/ contains library of objects and routines used by algorithm (can also be used by other routines) NBodylib/lib library containing libMath, libNBody, libKD, libAnalysis, libCosmology, libInitCond NBodylib/include/ include files NBodylib/src/ contains source code for the libraries NBodylib/doc/ contains Doxygen generated latex and html file of code
Makefile.config contains compilation flags
================================================================================================
Compiling (see documentation for more information)
================================================================================================
If you use the GNU C compiler version 4.0 or above type "make" at the command prompt.
For extra documentation, type make doc, which will produce html and latex documents using
Doxygen. This will be located in doc/html/index.html and doc/latex/refman.tex
This will contain extra information on what configuration options can be changed in the
Makefile.config file.
A quick summary of flags that can be adjusted are
mpi compilers, openmp flags, precision used (floats versus doubles, ints versus longs).
VELOCIraptor and all variants do not support non-Unix environments. (Mac OS X is fine; Windows is not).
================================================================================================
Running (see documentation for more information)
================================================================================================
Running is as simple as
./bin/stf -i input -s nsnaportype -C configfile
a sample of a configuation file is in examples
for mpi enabled executable
mpirun -np mutipleoftwo ./bin/stf
Note that at the moment, mpirun assumes that a single structure can fit onto the shared
memory local to the mpi thread. If larger haloes are to be analyzed, it is suggested that
the iSingleHalo option be set to 1, and the analysis is done on a shared memory machine
with enough memory. A more complete version capable of handling large structures across
mpi domains that are then searched for substructures is in the works.
Outputs:
i) Structure list
The code will produce a list of structure ids (two different formats) and a file listing
the properites of all structures found. These outputs are outname.fof.grp
and outname.sublevels.fof.grp (or pglist instead of fof.grp) which will list only haloes
(or level one hierarchy objects) and all structures found respectively. Note that the fof.grp
format is collected from all MPI threads and is only ascii. The pglist format will be written
in parallel, one for each thread, such that one has pglist.threadID. This format can be ascii
or binary.
ii) Field Structure / Substructure relationships
The code will produce a list of the number of levels found in the hierarchy and
then for each object, the id, its parent id (which is -1 if it is a field structure)
and all direct substructures (number and substruture ids). This can be in ascii and binary
formats and is written to outname.hierarchy.
================================================================================================
Altering IO for other file types (see documentation for more information)
================================================================================================
Naturally, not all simulations will be in the io formats already written. An example of
several implemented io routines are in the src directory. The routine needs to load all
the appropriate date into a Particle array.
================================================================================================
Associated analysis:
================================================================================================
TreeFrog (Fomerly Halotree):
--------------------------------------------------------------------------------------------
Tool builds a halo merger tree (and also a full graph) using a file containing the list of
base file names of catalog files prodcued by VELOCIraptor. Can also read output from other
structure finders like AHF.
Baryons (discontinued/in need of major revision)
--------------------------------------------------------------------------------------------
Tool designed to calculate numerous properties and profiles based on the input from
VELOCIraptor catalogs.
================================================================================================
Tools:
================================================================================================
Contains some example of reading routines for velociraptor output. For example will show
how a routine will read the output of velociraptor.