Table of Contents
runbody2 - Ahmad-Cohen N-body code
runbody2 [parameter=value]
nbody2 < nbody2.in
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.
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)
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)
Scaling can cause output to become out of bounds.
nbody2(1NEMO)
,
nbody0(1NEMO)
, runbody1(1NEMO)
, snapshot(5NEMO)
, u3tos(1NEMO)
, stou4(1NEMO)
$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