HTML automatically generated with rman
Table of Contents
directcode - simple direct N-body code 
directcode [parameter=value]
... 
directcode is a simple leapfrog equal-timestepping direct N-body
code. 
The infra-structure of the code is derived from hackcode1(1NEMO)
, though
most of the save and restore state code has been removed to keep the code
simple. 
It is possible with this code to change the softening to mean a
pseudo-Newtonian interaction, using 1/r -> 1/(r-eps), where eps=3GM/c^2. 
The
following parameters are recognized; they may be given in any order if
supplied with their keyword. 
- in=in-file 
- If given, initial conditions will
be read from in-file in snapshot format. At most one of in, restart, or continue
may be specified. 
- out=out-file 
- If given, results are written to out-file in
snapshot format. 
- nbody=nbody-value 
- Number of bodies for test data, generated
only if none of in, restart, or continue are specified. Default is 128. 
- seed=random-seed
- Random number seed used in generating initial conditions. Default is 123.
- cencon=cencon-flag 
- If true, generate centrally concentrated test system.
Default is false. 
- freq=integ-freq 
- Inverse time-step, to be used with a leap-frog
integrator. Default is 32.0 (32 steps per unit time). 
- eps=soft-length 
- Force
softening parameter. If a negative value is given, the potential is turned
into a pseudo-Newtonian one with the meaning of -eps = 3GM/c^2. Default is
0.05. 
- options=option-string 
- Miscellaneous control options, specified as a
comma-separated list of keywords. Currently recognized keywords are: reset_time:
when reading initial data, set tnow to zero; new_tout: when restarting,
set new output times; mass, phi, acc: output mass, potential, acceleration
data with major data outputs. The phase space coordinates are always output.
 It also seems that the reset_time and new_tout options have not been implemented
yet. Default: mass,phase. 
- tstop=stop-time 
- Time to stop integration in N-body
model units. Default is 2.0. 
- freqout=out-freq 
- Frequency of major N-body data
outputs. Default is 4.0 (4 frames per unit time). 
- minor_freqout=out-freq 
- Frequency
of minor diagnostic outputs. If this frequency is not a simple fraction
of freq (see above), the program can waiste significant amounts of time.
Default is 32.0 (32 diagnostic measurements per unit time). 
- gravc= 
- Value
for the gravitational constant. Although normally 1 in N-body units (see
also units(1NEMO)
), this allows you to work in more natural units. [Default:
1] 
  
Using eps<0 to activate the pseudo-Newtonian option does not change
the units, all units need to be absorbed into eps. For example, for given
eps<0, the precession rate of a planet around a star should then be 2.pi.eps/(a*(1-e^2)).
newton0(1NEMO)
, hackcode1(1NEMO)
 
Peter Teuben
src/nbody/evolve/directcode/    source code
17-feb-04    V1.0  code written, cloned off hackcode1    PJT
29-jul-09    V1.2  allow eps<0 for pseudo-Newtonian hack    PJT
30-jul-09    V1.3  added gravc=    PJT
Table of Contents