-
Notifications
You must be signed in to change notification settings - Fork 18
Advanced Compilation Options
If all you want to do is run Galacticus, you may not need to compile it at all - take a look at the instructions for using a pre-compiled binary.
Basic compilation instructions can be found here - the instructions below assume that you're familiar with the basics of how to compile Galacticus.
...
...
...
...
...
Before running Galacticus inside a thread analyzer (such as DRD or Helgrind) you should:
-
Configure GCC with with
--disable-linux-futex
option and recompile it - this is necessary since those thread analyzers don't correctly handle Linux futexes. -
Compile Galacticus with the
-DTHREADSAFEIO
option, which forces I/O operations to be compiled inside OpenMPcritical
sections - this is necessary because thread analyzers (rightly or wrongly) claim thatgfortran
I/O operations are not thread safe.
...
...
In Galacticus, the content of each node of a merger tree is represented by a collection of "components" (e.g. a galactic disk, a supermassive black hole, etc.). Normally, Galacticus is built with support for all defined components. However, this means that (even if you set some component to "null" at run time) there is some memory usage associated with the component in each node. For memory-heavy situations (such as running very high resolution merger trees) this extra memory can be a problem.
Therefore, it is possible to specify a list of "active" components at build time. Support for other, inactive, components is then not built, reducing the memory overhead at runtime. The list of active components is specified as a space-separated list of component names in the GALACTICUS_ACTIVE_COMPONENTS
environment variable. For example:
export GALACTICUS_ACTIVE_COMPONENTS="basic darkMatterProfile satellite"
would cause Galacticus to be built with support for only the basic
, darkMatterProfile
, and satellite
components.
Note that if any physical process attempts to access an unsupported component at run time, Galacticus will exit with an error message.
-
Tutorials
- Introduction to Galacticus parameter files
- Dark matter halo mass function
- Warm dark matter halo mass function
- Power spectra
- Warm dark matter power spectra
- Dark matter only merger trees
- Subsampling of merger tree branches
- Dark matter only subhalo evolution
- Solving the excursion set problem
- Reionization calculations
- Instantaneous & Non-instantaneous recycling
- Computing Broadband Stellar Luminosities
- Postprocessing of stellar spectra
- Using N-body Merger Trees
- Generating Mock Catalogs with Lightcones
- Constraining Galacticus parameters
- Generating galaxy merger trees
-
How Galacticus works
- Structure Formation Flowchart
- Merger Tree Building Flowchart
- How Galacticus Evolves Halos and Galaxies
- Galaxy Physics Flowchart
- CGM Cooling Physics Flowchart
- Star Formation Physics Flowchart
- Outflow Physics Flowchart
- Galactic Structure Flowchart
- CGM Physics Flowchart
- SMBH Physics Flowchart
- Subhalo Evolution Flowchart
-
Contributing
- Coding conventions
- Coding tutorials
-
Reference models
- Benchmarks and validation scores
- Validation plots and data