Table of Contents

Name

runbody2 - Ahmad-Cohen N-body code

Synopsis


runbody2 [parameter=value]
nbody2   < nbody2.in

Description

runbody2 is a frontend to the NBODY2 fortran program. It (optionally) creates a run directory, prepares a parameter input file, and optionally input snapshot data, and runs the NBODY2 program.

Output snapshots are by default not created, and must be turned on with a options flag (see kz= below). All of the input parameter names are the same as their counterpart in nbody2.

Parameters

The following parameters are recognized in any order if the keyword is also given:
in=
input file (optional, see nbody= to generate your own input data on the fly). If input data are given, it forces KZ(4) =2 (see below). Can also be a directory, in which case the input file for a restart run is assumed to be the default (fort.4) in native format. Default: not used.
outdir=
Output run directory. This directory should not exist, although can be overriden with NEMO’s standard error= system keyword. No default.
nbody=
Total particle number. The maximum value (NMAX) is compiled into the NBODY2 program. Note that even if in= is supplied, this parameter is needed. No default.
nfix=
Output frequency of data save or binaries; KZ(3 & 6) [Default: 1]
nrand=
Random number sequence skip. [Default: 0]
nnbmax=
Maximum number of neighbours. Should be less then LMAX, which is compiled into the NBODY2 program. [Default: 40]
nrun=
Run identification index. [Default: 1]
etai=
Time-step parameter for irregular force polynomial. [Default: 0.02]
etar=
Time-step parameter for regular force polynomial. [Default: 0.04]
rs0=
Initial radius of neighbour sphere. [Default: 1]
deltat=
Output time interval in units of the crossing. [Default: 0.25]
tcrit=
Termination time in units of the crossing time. [Default: 5]
qe=
Energy tolerance (restart if DE/E > 5*QE & KZ(2) > 1) [Default: 2e-5]
eps=
Potential softening parameter [Default: 0.01]
kz=
Non-zero options for alternative paths (see below) [Default: 1,2,0::4,1::2,0::2,1]
 1      COMMON save on unit 1 at end of run (=2: every 100*NMAX steps) [1]
 2      COMMON save on unit 2 at output (=1); restart if DE/E > 5*QE (=2) [2]
 3      Basic data written to unit 3 at output time (frequency NFIX) [0]
 4     Initial conditions on unit 4 (=1: output; =2: input) [0]
 5      Initial conditions (=0: uniform & isotropic; =1: Plummer  model) [0]
 6      Output of significant binaries (=2: frequency NFIX) [0]
 7      Lagrangian radii (=1: unit 6; =2: unit 7; =3: both types) [1]
 8      Core radius & density centre (N > 20 only) [1]
 9      Individual bodies printed at output time (MIN(5**KZ(9),N)) [0]
 10      No unique density centre (skips velocity modification of RS(I)) [0]
 11      Modification of ETAI & ETAR by tolerance QE [1]
 12      Inelastic mergers (>1: diagnostic output) [0]
 13      Escaper removal (R > 2*RTIDE; RTIDE = 10*RSCALE) [0]
 14      Skip full predictor loop if NNB > KZ(14) = <NNB> & KZ(14) > [0]
 15      External potential (=1: Plummer model; =2: logarithmic potential)
[0]
 16      No scaling of initial conditions [0]
 17      Generation of two subsystems (merger experiment) [0]
 18      Adjustment of coordinates & velocities to c.m. condition [0]
 19      Not used at present [0]
 20      Not used at present [0]
xtpar1=
Mass of external Plummer model (KZ(15) = 1; [Default: 1]
xtpar2=
Length scale for Plummer model (KZ(15) = 1) [Default: 2]
zmgas=
Mass scale for logarithmic potential (KZ(15) = 2)
rgas=
Length scale for logarithmic potential (KZ(15) = 2)
alphas=
Power-law index for initial mass function (routine DATA) [Default: 2.3]
body1=
Maximum particle mass before scaling [Default: 5.0]
bodyn=
Minimum particle mass before scaling [Default: 1.0]
q=
Virial ratio (q=0.5 for virial equilibrium) [Default: 0]
vxrot=
XY-velocity scaling factor (> 0 for solid-body rotation) [Default: 0]
vzrot=
Z-velocity scaling factor (not used if VXROT = [Default: 0]
rbar=
Virial radius in pc (for scaling to physical [Default: 1]
zmbar=
Mean mass in solar units [Default: 1]
xcm=
Displacement for subsystem (routine SCALE; KZ(17))
ecc=
Eccentricity of relative motion for subsystem (ECC =< 1)

Examples

nbody2 can also be used to generate snapshots. Here is an example to create a 1024 body homogeneous sphere in the directory run1 and a plummer sphere in run2.
    runbody2 "" run1 1024 tcrit=0 kz=0,0,1
    u3tos run1/OUT3 run1/run1.snap
    runbody2 "" run2 1024 tcrit=0 kz=0,0,1,0,1
    u3tos run2/OUT3 run2/run2.snap

You can also supply existing NEMO snapshots as initial conditions

    runbody2 run4.snap run4 tcrit=0 kz=0,0,1,2
        (this option doesn’t work yet)

Bugs

Scaling can cause output to become out of bounds.

See Also

nbody2(1NEMO) , nbody0(1NEMO) , runbody1(1NEMO) , snapshot(5NEMO) , u3tos(1NEMO) , stou4(1NEMO)

Files


$NEMO/src/nbody/evolve/aarseth/tools    code
$outdir/fort.1                           restart dump (compile time dep. size)
$outdir/fort.2                             restart dump (compile time dep. size)
$outdir/fort.4                             restart dump (compile time dep. size)
$outdir/OUT3                            particle dump (see u3tos(1NEMO))
AuthorPeter Teuben Update History
15-jun-97    V1.0 Created    PJT
15-jul-97    V1.2 out= now outdir=, nbody= now required value    PJT
5-mar-98    readying for new release    PJT
17-mar-06    V1.4 using fullname for in=    PJT


Table of Contents