Galacticus is a semi-analytic model of galaxy formation. It solves the equations that govern the formation and evolution of galaxies within a hierarchically assembling network of dark matter halos as occurs in cold dark matter dominated universes. It is designed for modularity and flexibility to allow for easy extension and adaptation.

Tuesday, August 23, 2011

Galacticus v0.9.0 Released!

After a little over one year of development, I'm happy to announce that Galacticus v0.9.0 is now the official, stable version of Galacticus. This means that v0.0.1 gets retired (so it won't get further bug fixes) and development shifts to v0.9.1. More importantly, it means that v0.9.0 is the version you should use by default - no new features will be added making it stable, but bug fixes will be made where necessary.

While the code itself is now fixed, there are a couple of things still to come: an automated install script and some new parameter sets which should give good matches to observational data with v0.9.0.

There's a lot that's new in v0.9.0 - the full list of changes can be found here - but here are some of the highlights:

Black Holes

Since the standard black hole implementation has grown in complexity, I introduced a much simpler version which can be used when you don't care about having such a detailed treatment of black holes. In the simple black hole implementation the black hole mass grows at a rate proportional to the spheroid star formation rate and feedback physics is implemented in a simple way with fixed efficiencies.

Star Formation Rates

I've added four new star formation timescale algorithms for disks, all based on the surface density profile. These are the classic Kennicutt-Schmidt, the extended Schmidt law, the Biltz & Rosolowsky method and the Krumholz-McKee-Tumlinson method. These provide a better match of observed galaxies, either because they're empirically calibrated to do so, or because they actually include the relevant physics.

Chemistry and Molecular Hydrogen Cooling

Galacticus now has quite general support for tracking different chemical species and their reactions. This is used to follow a network of molecular hydrogen reactions for early Universe physics which is exploited in a molecular hydrogen cooling function.

Galaxy Clustering and the Halo Model

Halo model-based calculations of galaxy clustering can now be easily made using Galacticus. Biases and Fourier transformed dark matter halo density profiles can be output, and scripts which use these to constuct power spectra and correlation functions are provided. When merger trees from N-body simulations are used, positional information can be output directly, permitting direct calculations of galaxy clustering statistics.

Redshift Surveys

Simple support is provided for constructing redshift surveys of galaxies directly from Galacticus outputs, providing redshifts, comoving and luminosity distances.

Dust Absorption/Emission with Grasil

I've added a module which automates processing of Galacticus galaxies through the Grasil dust radiative transfer code, allowing calculation of SEDs from UV through radio wavelengths.

Running Grids of Models

The Run_Galacticus.pl script now allows for running of nested grids of parameters - makes it easy to explore model parameter space.

What's Next?

Work is already underway on v0.9.1 of Galacticus. Besides a significant restructuring of Galacticus' internal data structures (to make it easier to expand and modify components) and updated physics, expect more extensive support for C/C++ interoperability and both OpenMP and MPI parallelism. Also, I have a few optimization ideas that could potentially speed up the code significantly....