runbody6 [parameter=value] nbody6 < nbody6.in nbody6++ < nbody6.in
Note that this front-end is not yet designed to run every possible way in which NBODY6++ can be run, particularly re-runs, but it most useful to run initial conditions from a NEMO snapshot(5NEMO) file.
Although the
kz= vector can be specified, an alternative way is the indexed parameter
access method that getparam(3NEMO)
provides, which overrides the default
kz=. For example to turn off KS, use
KZ15=0 KZ30=0note the all-caps name of these indexed keywords. Since in NBODY6++ this vector has 50 elements, overriding them with an indexed parameter may be easier. It also bypasses any decisions of using the correct default for certain KZ’s that is done in the kz= vector. For example, for nbody6=1 the default value for kz(22)=2 will be reset to kz(22)=3, but by setting KZ22=2 you can cheat and override these.
[0 0 1 0 0 0 5 0 0 1 0 0 0 0 2 0 0 0 0 0 1 2 2 0 0 2 0 0 0 2 0 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0] 1 COMMON save on unit 1 at end of run (=2: every 100*NMAX steps). 2 COMMON save on unit 2 at output (=1); restart if DE/E > 5*QE (=2). 3 Basic data on unit 3 at output (freq. NFIX; >1: cluster + tail). 4 # Binary diagnostics on unit 4 (# threshold levels = KZ(4) < 10). 5 Initial conditions (#22 =0; =0: uniform & isotropic sphere; =1: Plummer; =2: two Plummer models in orbit, extra input; =3: massive perturber and planetesimal disk, extra input). =4: massive initial binary, extra input; output on unit 35). 6 Output of significant & regularized binaries (=1, 2, 3 & 4). 7 Lagrangian radii (>0: RSCALE; =2, 3, 4: output units 6, 7, 12; >=5: density & rms velocity at given radii on unit 26 & 27; >=5: average mass at given radii on unit 36 every DELTAT; =6: Lagrangian radii for two mass groups on unit 31 & 32. 8 Primordial binaries (=1 & >=3; >0: BINOUT; >2: BINDAT; >3: HIDAT). 9 Individual bodies printed at output time (MIN(5**KZ9,NTOT)). 10 Diagnostic KS output (>0: begin; >1: end; >=3: each step). 11 # Synchronization of circular orbits (suppressed). 12 Disk shocks (=1: standard model) or interstellar clouds (< 0). 13 Scaling of time (1: variable by t_cr; 2: variable by t_r; -1: constant scaling to t_r; -2: constant scaling to t_c). 14 External force (=1: linearized; -1: cutoff; =2: point-mass galaxy; =3: point-mass + disk + logarithmic halo in any combination). 15 Triple, quad, chain (#30 > 0) or merger search (>1: full output). 16 Updating of regularization parameters (RMIN, DTMIN & ECLOSE). 17 Modification of ETA (>=1) & ETAU (>1) by tolerance QE. 18 Hierarchical systems (=1: diagnostics; =2: primordial; =3: both). 19 Stellar evolution and mass loss (=1: old supernova scheme; =3: Eggleton, Tout & Hurley; >4: Chernoff--Weinberg). 20 Initial mass function (=0,1: Salpeter; >1: various, see IMF). 21 Extra output (>0: model, etc; >1: CENTRE; >2: MTRACE; >3: GLOBAL). 22 Initial conditions on unit 10 (=1: output; =2,3(unscaled): input). 23 Escaper removal (>1: diagnostics in file ESC; =2: angles unit #6; >1: tidal tails output if #14 = 3). 24 Initial conditions for subsystem (routine SCALE; KZ(24) = #). 25 # Partial reflection of KS binary orbit (GAMMA < GMIN; suppressed). 25 HR diagnostics of evolving stars (output of B & S on #82 & 83). 26 Slow-down of two-body motion (=1: KS binary; =2: chain binary). 27 Two-body interactions (-2: RADIUS = 0; -1: collision detection; =1: sequential circ; > 0: collision). 28 (not used). 29 # Boundary reflection for hot system (suppressed). 30 Chain regularization (=1: basic; >1: main output; >2: each step). 31 Centre of mass correction after energy check. 32 Increase of output intervals (based on single particle energy). 33 Block-step diagnostics at main output (=2: active pipes). 34 Roche lobe overflow (suppressed). 35 Time offset (global time from TTOT = TIME + DTOFF; offset = 100). 36 Step reduction for hierarchical systems (not recommended). 37 Step reduction for encounters with high-velocity particles. 38 Multiple use of GRAPE-6 (sleep 1 sec after each timer check). 39 Neighbour list (=-1: on host; =0: full list or closest on GRAPE). 40 Use force and first deriv to estimate time steps (0), >0 uses Flploy2 41 proto-star evolution properties 42 Initial binary distribution 43 (unused) 44 (unused) 45 (unused) 46 HDF5/binary/ANSI format 47 frequency of KZ(47) output 48 (unused) 49 compute moments of inertia (Chr. Theis) 50 for unpert KS binary. # currently surpressed
% runbody6 "" run1 1024 tcrit=0 KZ5=0 KZ22=1 % snapplot run1/OUT3.snap % runbody6 "" run2 1024 tcrit=0 KZ5=1 KZ22=1 % snapplot run2/OUT3.snap
You can also supply existing NEMO snapshots as initial conditions, this
is actually the best supported way to use runbody6:
% mkplummer p1024 1024 % runbody6 p1024 run3 tcrit=1
The dreaded CALCULATIONS HALTED message means you will need to consult the NBODY6++ manual
The interface has been primarely tested with nbody6++, it’s possible that some differences between nbody6 and nbody6++ have not been taken care of.
nbody6: ftp://ftp.ast.cam.ac.uk/pub/sverre/nbody6/nbody6.tar.gz nbody6++: https://github.com/nbodyx/Nbody6ppGPU
$NEMO/usr/aarseth support to install and test the codes $outdir/OUT3.snap particle dump (see u3tos(1NEMO)) in snapshot(5NEMO) format.
20-feb-2019 V0.1 cloned off runbody4, some of keyword descriptions not complete yet PJT 22-feb-2019 V0.5 support nbody6/nbody6++ PJT 5-apr-2019 V0.7 support writing snapshots without virtual particles PJT 26-apr-2019 V0.8 reversed logic of nbody6=, fix KZ22 option for nbody6=1 PJT