Galacticus is designed to solve the physics involved in the formation of galaxies within the current standard cosmological framework. It is of a type of model known as “semi-analytic” in which the numerous complex non-linear physics involved are solved using a combination of analytic approximations and empirical calibrations from more detailed, numerical solutions. Historically, such models were first contemplated by White & Rees (1978; MNRAS; 183; 341) and have since been developed further, notably by White & Frenk (1991; ApJ; 379; 52), Kauffmann et al. (1993; MNRAS; 264; 201), Cole et al. (2000; MNRAS; 319; 168), Somerville et al. (2008; MNRAS; 391; 481). Models of this type aim to begin with the initial state of the Universe (specified shortly after the Big Bang) and apply physical principles to determine the properties of galaxies in the Universe at later times, including the present day. Typical properties computed include the mass of stars and gas in each galaxy, broad structural properties (e.g. radii, rotation speeds, geometrical shape etc.), dark matter and black hole contents, and observable quantities such as luminosities, chemical composition etc.
The Galacticus code was designed to be highly modular. Every part of it consists of a simple and well-defined interface into which an alternative implementation of a calculation can easily be added. For example, the code is currently designed for the standard cold dark matter cosmological model, but could be adapted to a warm dark matter by simply writing a small module that performs calculations of the warm dark matter mass distribution and including a few directives in the file that specify what this module does. Then it gets automatically identified and compiled into the code. This approach for just about every aspect of the code so that it is very flexible.
Similarly, the physical description of galaxies is extremely flexible. Each galaxy has a set of components which can be created/destroyed as needed, each of which has a set of properties. For example, one component is the dark matter, and it has properties such as mass, spin etc. A new component (e.g. a stellar halo) can then be easily added by writing a module which defines its properties and its interactions with other components (as described below). Also, because of the modular nature, any such module can be trivially replaced by another that performs the calculations differently if required.
The actual formation and evolution of galaxies – the real inner workings of the code – is treated by simply defining a set of differential equations for each galaxy. For example,the module handling the hot gas halo surrounding a galaxy defines an ordinary differential equation (ODE) which includes terms for both cosmological accretion and cooling. The galactic disk module defines an ODE for conversion of gas into stars. Then, these are all just fed in to an ODE solver and it evolves them to a specified accuracy. This removes the need for fixed timesteps adopted in similar models, means that cooling and star formation etc. are all treated simultaneously, and makes the whole approach quite clear. There are a couple of additional features needed - e.g. the modules can define “interrupts” so that the ODE solver stops – this can be useful if they need to create a new component (e.g. the first time gas cools and infalls it needs to create a disk component) or to handle discrete events (e.g. if a merger occurs the ODE solver is interrupted, the merger processed, and then the ODE solver starts up again), and they additionally to handle tasks such as storing the history of star formation (or other properties) of a galaxy if these are need to compute, for example, delayed metal production rates.
- Team Galacticus
- Team Galacticus
- Programming Languages:
- Fortran 2003, Perl
GNU GPL v3
( The California Institute of Technology shall allow RECIPIENT to use and distribute this software subject to the terms of the included license agreement with the understanding that: THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH). THE SOFTWARE IS PROVIDED "AS-IS" TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC §2312-§2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE SOFTWARE AND RELATED MATERIALS, HOWEVER USED. IN NO EVENT SHALL CALTECH BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS, REGARDLESS OF WHETHER CALTECH BE ADVISED, HAVE REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY. RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY CALTECH FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE. In addition, RECIPIENT also agrees that Caltech is under no obligation to provide technical support for the Software. Finally, Caltech places no restrictions on RECIPIENT's use, preparation of Derivative Works, public display or redistribution of the Software other than those specified in the included license and the requirement that all copies of the Software released be marked with the language provided in this notice. This software is separately available under negotiable license terms from: California Institute of Technology Office of Technology Transfer 1200 E. California Blvd. Pasadena, California 91125 http://www.ott.caltech.edu )
All bugs Latest bugs reported
Bug #1130720: in Cooling_Function_Initialize coolingFunctionsMatched=0
Reported on 2013-02-20
Bug #1066052: Crash due to zero-size spheroids
Reported on 2012-10-12
Bug #1053153: Floating exception in tree_node_black_hole_mass_rate_compute_standard
Reported on 2012-09-19
Bug #1011471: Can't open module file 'galacticus_imf_module.mod' for reading at | rev 835
Reported on 2012-06-11
Bug #1007013: OpenMP related random crashes after pulling latest release
Reported on 2012-05-31
All blueprints Latest blueprints
Adding general solvers for excursion set first crossing distributions
Registered on 2011-11-29
Adding intracluster light calculations
Registered on 2011-09-12