Table of Contents


magalie - Boily et al. composite disk-bulge-halo model


magalie [parameter=value]



magalie creates a composite Disk-Bulge-Halo galaxy in near equilibrium following the procedure described in Boily et al.(2000), adapted from Hernquist’s (1993) BUILDGAL procedure. This program is merely a NEMO wrapper to Version 1 of the fortran program magalie.exe. It assembles all the correct parameters, runs the fortran namesake program in a temporary rundirectory and converts the ascii output to a NEMO snapshot(5NEMO) .

The galaxy is scaled based on the disk with mass=1 and (exponential) scalelength=1. In addition, a selection of the solar radius (2.43 scale lenghts is the current default) will fix the rotation speed at the IAU value of 220 km/s, though the velocity is also normalized to this value.

This NEMO frontend only controls a number of parameters, to match the functionality of mkkd95(1NEMO) , however there are quite a few more options in the original program, e.g.. adding a gas disk, satellited, individual smoothing lengths. These will be implemented in a future release. It is easy for the user to manually create such models those, by setting cleanup=f and editing the input parameter file in the temporary run directory, and running the make-it shell script. Careful not to change the number of particles, or modify the corresponding keyword in this script.


The following parameters are recognized in any order if the keyword is also given:
output snapshot (a rundirectory $out.tmpdir is also created). No default.
Number of particles in disk. Set them to 0 to leave out this component. Notice these are the first set of particles in the final snapshot. [20000]
Number of particles in bulge [5000]
Number of particles in halo. Notice these are the last set of particles in the final snapshot. [40000]
Scaleheight of the disk (in units of scale
Solaris radius for calibration of Vsolar=220 [2.43]
Toomre stability parameter [1.5]
Cutoff radius of disk [10]
Height cutoff of disk [2]
Mass of bulge (in units of disk mass)
Scalelength of bulge [2]
Cutoff radius of bulge [10]
Cutoff height of bulge [1]
Axis ratio C/A of bulge [1]
Streaming fraction of bulge [0]
Mass of halo (in units of disk mass)
Scalelength of halo [2]
Cutoff radius of halo [20]
Cutoff radius of halo for ISO (for LH
Axis ratio C/A of halo [1]
Type of halo: LH or ISO [LH]
Random seed [0]
cleanup run directory after use (not used yet)
Random seed. [Default: 0]
Cleanup runtime working directory? [Default: t]
Size of the header uses in unformatted fortran data. This used to be 4, but modern compilers (e.g. gfortran) may very well use 8. By default it is not specified, and the value determined to be the correct one during install (UNFIO_HDR_SIZE) is used. This keyword can be used to force another value, for example if you have compiled magalie with another than the default compiler.


magalie calls the actual magalie.exe by reading an input file of parameters. Here is an annotated example of such a file (the comments can be left in when read)
543216789       ! Random generator seed (ran1)
n               ! Output particles smooth length?
20000           ! Number of disc particles (M_d=1)
3.              ! Mass of disk (reset = 1 for default)
1.              ! Disc scalelength
2.43            ! Solar radius
1.5             ! Toomre Q parameter @ Sun ( was 3/2 -> close to 1)
2.              ! z-max (= 10.*scale height)
10.             ! Max disc part radius
n               ! Gas in disc?
0               ! Number of disc gas particles
0.              ! mass of disc gas particles
0.              ! temperature of gas in disc
0.              ! scale height of gas in disc z0gas
0.              ! max z value of gas in disc (= 10 z0gas)
0.              ! max cylindrical radius of gas in disc
0.              ! min    "          "    "   "   "  "
n               ! include gas self-gravity (in disc)? [y/n]
n               ! Add bulge?
0.75            ! Mass of bulge
2.              ! Bulge scale length (hernquist ’a’)
y               ! bulge self-gravity?
5000            ! N part in  bulge
10.             ! max radius for bulge particles
n               ! Non-spherical bulge?
1.              ! Z-max value for bulge particles
5               ! Number of Simpson integration steps
n               ! Include rotation ? (flip z-momentum component)
n               ! Include a halo?
y               ! halo self-gravity ?
20.             ! max radius of halo
40000           ! Halo particle number
0.01            ! halo particle softening length
LH              ! Halo type (LH or IS)
10.             ! Halo mass
2.              ! Halo core radius  (need two lengths if IS halo)
2.              ! Second length : dummy (LH) or truncation radius (IS)
n               ! Non-spherical halo?
n               ! Galactic satellite
1.              ! Satellite scale length (LH model only)
5.,0.,0.        ! xyz position of the satellite in Galaxy frame of reference
5.              ! maximum satellite size (compare with sat length scale)
y               ! Include satellite self-gravity ? (yes = live model only)
0               ! number of satellite particles
0.1             ! smoothing length for satelllite particles
b               ! data format for output (a)scii or (b)inary
nbody           ! formatted as LH, nbody
roundbulge      ! name of dataset (note - truncated at cr character)


The bulk of the CPU is in creating the disk particles, the bulge and halo are a much smaller fraction of the cpu. On a 3 GHz Pentium-4 the cpu cost is about (Ndisk/630) secs for the gnu compiler. On a 1.6 P4 laptop this was about (Ndisk/420) secs.


There have been reported cases where magalie just seems to continue to compute in an infinite loop.

Does not work on the linux/intel compiler yet.

See Also

mkkd95(1NEMO), tabtos(1NEMO), unfio(1NEMO)
Boily, C.M., Kroupa,P., Penarrubia-Garrido, J., 6, 27 (2001)
Hernquist, L. (1993, ApJS).


Christian Boily, Pavel Kroupa, Jorge Penarrubia-Garrido (fortran code)
Peter Teuben (NEMO interface) -

Update History

dark ages    V1.0 See their NewA paper    Boily et al.
21-Mar-04    V1.1 Created at the Nbody school    PJT
24-mar-04    V1.2 added most primary keywords, at 37,000ft    PJT
25-jan-05    V1.2a fixed bulge mass encoding problem
24-mar-06    V1.2b fixed bulge size encoding problem,updated docs    PJT
19-jul-06    V1.3 add header= for 64 bit compilers    PJT
5-aug-06    merged CVS doc versions        PJT

Table of Contents