This HTML automatically generated with rman for NEMO
Table of Contents
orbintv - integrating single stellar orbit with variable timestep
orbintv in=orbit out=orbit [parameter=value]
orbintv
will integrate a stellar orbit using a higher order variable timestep. A
number of constant timestepping algorithms are implemented in orbint(1NEMO)
.
Currently two choices for the integratore can be made: mode=dopri5 uses
an explicit Runge-Kutta method of order (4)
5 due to Dormand & Prince with
step size control and dense output. mode=dop853 uses an explicit Runge-Kutta
method of order 8(5,3) due to Dormand & Prince with step size control and
dense output.
Non-rotating potentials are also supported, but only with the
rotation axis defined along the Z-axis.
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]
- dtout=
- Output timestep.
- tstop=
- Stop time [default: 10].
- dt=time-step
- initial guess for the time step to
be taken. [default: 0.01].
- ndiag=number
- number of output timesteps when diagnostics
are checked and output to stderr. Use 0 when never. [default: 0].
- 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 dopri5, dop853 [Default: dopri5].
- tol=
- Tolerance used by the integrators to control time stepping. Negative
numbers will cause this number to raised to the power 10. [Default: -7]
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 |\ orbintv - - tstop=10 dt=0.05 |\
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
For large values
of the output timestep, energy conservation may not seem very good. This
is a result of the dense output interpolator.
mkorbit(1NEMO)
, orblist(1NEMO)
,
orbint(1NEMO)
, potential(5NEMO)
, newton0(1NEMO)
Peter Teuben (NEMO adaptation)
Hairer & G. Wanner (Fortran version of core integrators)
J.Colinge (C versions of the core integrators)
src/orbit/misc orbintv.c, dopri5.c, dop853.c
15-may-11 V1.0: created PJT
Table of Contents