HTML automatically generated with rman
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 any
order if the keyword is also given:
- 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
15-may-11 V1.0: created PJT
Table of Contents