Table of Contents


mkop73 - set up a Mestel disk using 1973 Ostriker & Peebles’ method


mkop73 out=snapshot [parameter=value]


mkop73 sets up a Mestel disk, with an optional static background potential, in close virial equilibrium. The procedure how exactly the initial velocities are computed is involved, and details can be found in the original Ostriker & Peebles 1973 paper or as detailed in the code. Although the disk is flat, there will be an initial velocity dispersion in Z, which will quickly evolve into a finite thickness disk.

These disks are known to be dynamically unstable against bar formation in the absence of a sizeable halo, and are fun to play with.

The program defaults are set such as to as closely as possible reproduce (apart from the random number generation) the ‘‘standard’’ model 1 in Ostriker & Peebles. Some parameters below are related; so be aware that changing one parameter in the OP73 notation, may require you changing two in this program, for example scaling the masses: nbody, mdisk and potpars(2) are related, and scaling the lengths: rcut, c, and potpars(3) are related.


The following parameters are recognized in any order if the keyword is also given:
output file name, will be in snapshot(5NEMO) format. No default.
Number of particles in the disk [Default: 300].
Total disk mass. Normally each particle has unity mass, hence mdisk should be the same as nbody [Default: 300.0].
outer cutoff radius of the disk (the halo cutoff radius is determined with the appropriate paramter in the potpars= series of parameters. [Default: 1].
Dimensionless scaling parameter sigma for velocity dispersion in Toomre’s Q parameter (see eq. (7) and (8) in OP73). Toomre’s Q=1 corresponds to sigma=0.378. [Default: 0.454].
number of particles per ring; should divide nbody. Each ring will be divided into nring segments, and one particle will be placed randomly within that segment. There will be nbody/nring rings. [Default: 10].
number of measurements used to determine the circular velocity. Note that OP73 do not quote the exact value of this parameter. Although particles are randomly rotated to compute the average circular velocity, the first measurement is not, as to be able to compute the potential and forces in case options= would want to output them. [Default: 10].
number of rings (zones) used to determine dv/dr (used to calculate the velocity dispersion). Should probably be an integer fraction of nbody/nring. [Default: 10].
usual random number seed [Default: 0].
softening for force calculation, called c in OP73. [Default: 0.05].
Center the snapshot? Note this option was not mentioned in OP73. [Default: t].
Creation mode: 1=OP73 method. 2=theoretical Mestel disk rotation curve. [Default: 1]. mode=2 not fully implemented
Options for additional snapshot output (phi,acc,rot,sig). phi and acc output potential and forces in their usual Phi and Acc slots, whereas sig stores the three velocity dispersions (radial, tangential and vertical) in the Acc slots, and rot stores the pre-dispersion rotational velocities in the Aux slot (see snapshot(5NEMO) for an explanation on these slots). Default: no extra output.
External static potential, in standard potential(5NEMO) format. [Default: op73, i.e. the standard OP73 potential].
Potential parameters. Default: 0,0, i.e. with 0 mass (the first 0 is the pattern speed of the potential, and is not used in this application. The standard order of the OP73 potential parameters are: omega [0.0], mass [1.0], core radius [0.1] and outer cutoff radius [1.0]. In general the default value depends on potname=.
Optional datafile name for potential. OP73 doesn’t use this parameter. In general the default value depends on potname=.
Additional text for output file. Default: none.


Some parameters are related, and the program may not always deal well with cases where they deviate from OP73. For example, changing the disk-radius (rcut) has dubious side-effects on a variety of length-scale parameters (c, potpars(3) ).

The original OP73 paper is vague or unclear in a few places in the exact procedures implemented in the program. See source code for more comments.


~src/orbit/potential/data/op73.c    The ’OP73’ potential(5NEMO) code ~src/nbody/init/mkop73.c    Nbody initializers

See Also

snapopt(1NEMO) , snapshot(5NEMO) , ctex(1NEMO)

J.P. Ostriker & P.J.E. Peebles - ApJ 186, 467-480, 1973. A numerical study of the stability of flattened galaxies: or, can cold galaxies survive? (OP73)


Jeffrey Newman, Peter Teuben

Update History

xx-jul-93    V0.4 Created as MKOP    JAN
3-nov-93    V0.9 Fixed bugs, added more features and CTEX notes    PJT
4-nov-93    V1.0 formal realase as MKOP73    PJT

Table of Contents