This HTML automatically generated with rman for NEMO
Table of Contents
orbint - integrating single stellar orbit
orbint in=orbit out=orbit
[parameter=value]
orbint will integrate a stellar orbit. It
is currently implemented with a few simple constant-timestepping algorithms
with minimal support for diagnostics and restart options. For fancy integrators
see for example orbintv(1NEMO)
or the newton0(1NEMO)
family of orbit integrators.
Non-rotating potentials are also supported, but only with the rotation axis
defined along the Z-axis.
Integrations backwards in time can be achieved
by setting dt<0, since no stop time is given, but the number of steps is
used to terminate the integration.
The following parameters
are recognized in order; they may be given in any order if the keyword
is also given. Use --help to confirm this man page is up to date.
- in=in-file
- input file, in orbit(5NEMO)
format [no default]
- out=out-file
- output file,
will be in orbit(5NEMO)
format [no default]
- nsteps=number
- number of integration
steps [default: 10].
- dt=time-step
- time step (constant) to be taken. Negative
values are allowed to achieve integrations backwards in time. [default:
0.1].
- ndiag=number
- number of timesteps when diagnostics are checked and output
to stdout. [default: 10].
- nsave=number
- number of timesteps when data must
be save to output orbit-file. Note that the program must have run to completion
before the actual saved data are saved to the specified output file. [default:
1].
- potname=name
- name of file of potential(5NEMO)
descriptor. If no name
given, the potential name of the input orbit is used. [default: none].
- potpars=par-list
- List of parameters to the potential descriptor. The first parameter MUST
be the pattern speed in the x-y plane. The remaining parameters are used
by the _inipotential() routine in the potential descriptor. [default: none
- use default from input orbit].
- potfile=name
- name of an optional datafile
to the potential descriptor. This might be an N-body snapshot or list of
spline fit coefficients etc. [default: none - use default from input orbit].
- mode=int_mode
- Specify the integration mode. Any one of euler, leapfrog,
rk2, or rk4 can be given. [Default: rk4].
- eta=
- Relative error allowed in
energy conservation. Integration is terminated if the relative error (|dE/E|)
is too large. By default not used.
- variable=t|f
- Use variable timesteps? If
so, the error control parameter eta= needs to be specified. Also note that
not all integration methods support variable timesteps. Default: f.
- tstop=
- If given, this will override nsteps=. Default: not used.
The following
example launches a particle from the Y axis (at y=1) in the X direction
(speed 0.4) in a plummer potential. Although the 6D initial conditions are
fully specified, so a potential (potname=) is not needed, it is tagged
along with the orbit, such that the orbint integrator will use it. The integrated
orbit is then passed on to a simple plotting program, which plots an X-Y
view of this 2D orbit.
mkorbit - x=0 y=1 z=0 vx=0.4 vy=0 vz=0 potname=plummer |\
orbint - - nsteps=10000 dt=0.05 ndiag=1000 |\
orbplot -
Using pattern speed = 0
pos: 0.000000 1.000000 0.000000
vel: 0.400000 0.000000 0.000000
etot: -0.627107
lz=-0.400000
Pattern speed=0
0.000000 0.080000 -0.707107 -0.6271067811865 -8.85195e-17
50.000000 0.118074 -0.745181 -0.6271067924302 1.79294e-08
100.050000 0.214977 -0.842084 -0.6271068023637 3.37697e-08
150.100000 0.214182 -0.841289 -0.6271068142254 5.26845e-08
200.150000 0.117347 -0.744454 -0.6271068268041 7.27429e-08
250.200000 0.080125 -0.707231 -0.6271068377636 9.02191e-08
300.250000 0.126220 -0.753327 -0.6271068490425 1.08205e-07
350.300000 0.222816 -0.849922 -0.6271068584659 1.23232e-07
400.350000 0.205165 -0.832271 -0.627106871307 1.43708e-07
450.400000 0.109993 -0.737100 -0.6271068833543 1.62919e-07
Energy conservation: 1.62919e-07
Read orbit with 10001 phase-points
mkorbit(1NEMO)
, orblist(1NEMO)
, orbintv(1NEMO)
, epic5(1NEMO)
,
potential(5NEMO)
, newton0(1NEMO)
GALA: Galactic astronomy and gravitational dynamics (ascl:1707.006) - https://github.com/adrn/gala
With fpa on SUN 3/50 (~16Mhz) 1000 integration steps
potential=harmonic 1s
potential=plummer 1s
potential=bar83 3s
potential=hackforce 10s (100 bodies, standard Plummer model)
potential=hackforce 30s (500 bodies)
potential=hackforce 50s (2000 bodies)
potential=hackforce 80s (8000 bodies)
Peter Teuben
src/orbit/misc orbint.c
xx-jul-87 V1.0: Created: simple Eulerian PJT
2-May-88 V2.2: many changes + doc; leapfrog implemented PJT
2-Jun-88 V2.3: new filestruct, code same PJT
14-jun-91 V2.5: added variety of options, removed various bugs PJT
26-mar-92 V2.5b: documented that rot.potentials are OK - PJT
24-may-92 V2.6: default potential now taken from orbit PJT
9-jun-92 V2.7: fixed rotating potential bug PJT
19-apr-95 V3.1: various, rk4 is now default integrator PJT
3-feb-98 V3.4: added eta= to control termination if errors bad PJT
19-feb-03 examples... PJT
10-feb-04 V4.0: started variable timestepping PJT
Table of Contents