Table of Contents

Name

runbody1, nbody1 - (frontend to) Aarseth N-body code

Synopsis


runbody1 [parameter=value]
nbody1   < nbody1.in

Description

runbody1 is a frontend to the NBODY1 fortran 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 the NBODY1 program.

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, you must also set KZ(4) =2 (see below). 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 NBODY1 program. Note that even if input files are supplied, this parameter is needed. No default.
nfix=
Output frequency of data save (KZ(3) ) or binaries (KZ(6) ). [Default: 1]
nrand=
Random number sequence skip. [Default: 0]
nrun=
Run identification index. Not really used for anything, just a relic from nameless Aarseth-type files. The outdir now has this function. [Default: 1]
eta=
** Time-step parameter for force polynomial. [Default: 0.02]
deltat=
Output time interval in units of the crossing time (M**2.5/(2E)**1.5). [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,0,0,0,1,1,0,0,0,0,0,0,0,0,0]
   1  COMMON save on unit 1 if TCOMP > CPU or if TIME > TCRIT. [1]
   2  COMMON save on unit 2 at output (=1); restart if DE/E > 5*QE (=2).
[0]
   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). [1]
   6  Output of significant binaries. [1]
   7  Output of movie frames on unit 7. [0]
   8  Generation of two subsystems (merger experiment). [0]
   9  Individual bodies printed at output time (MIN(5**KZ9,N)). [0]
  10  No scaling of initial conditions. [0]
  11  Modification of ETA by tolerance QE. [0]
  12  Initial parameters for binary orbit. [0]
  13  Escaper removal (R > 2*RTIDE; RTIDE = 10*RSCALE). [0]
  14  Adjustment of coordinates & velocities to c.m. condition. [0]
  15  Not used at present [0]
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(8) )
ecc=
Eccentricity of relative motion for subsystem (ECC =< 1)
kstart=
** Run mode: 1=new >1 restart, with increasing options of resetting variables. Only new runs are currently supported.
tcomp=
not supposed to be used, but counts max computing time alotted.

Bugs

Scaling can cause output to become out of bounds.

Coding the the input-order logic in the frontend program can be hazardous to your health. It will depend on how the nbody1 main program is structured.

Input

Order of input lines in "nbody1.in" for a new run (KSTART=1)
          variables                   condition             where
  ----------------------------    -------------------      ---------
  KSTART TCOMP                                            MAIN
  Nbody NFIX NRAND NRUN                                   INPUT
  ETA DELTAT TCRIT QE EPS                                 INPUT
  KZ(1..15)                                               INPUT
      ALPHAS BODY1 BODYN          KZ(4).NE.2              DATA
      SEMI ECC                    KZ(12).NE.0             DATA
  Q VXROT VZROT RBAR ZMBAR                                SCALE
      NFRAME DELTAF               KZ(7).GT.0              SCALE
      XCM ECC                     KZ(8).GT.0              SUBSYS

See Also

nbody0(1NEMO) , runbody2(1NEMO) , snapshot(5NEMO) , u3tos(1NEMO) , stou4(1NEMO)

Files


$NEMO/src/nbody/evolve/aarseth/nbody1    nbody code
$NEMO/src/nbody/evolve/aarseth/tools    various 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)
(see stou4(1NEMO) and u4tos(1NEMO))
$outdir/fort.7                             formatted frame files (option KZ(7))
$outdir/OUT3                            particle dump (see u3tos(1NEMO))

Author

Peter Teuben

Update History


4-mar-98    V1.1 documented, and changed out= to outdir=, n= to nbody= PJT
17-mar-04    V1.1a fixed bug when in= was specified
17-mar-06    V1.2 using fullname for in=


Table of Contents