The method has been used first by T.S. v. Albada & R.H. Sanders (1982) MNRAS, 201, 303. For more details see also: Henyey et al.(1964) ApJ 139, 309.
The method originated from the same equations as looking for periodic solutions in what become pulsation stars (RR Lyr, Cepheids). See e.g. van Albada and Baker (1971)
The operation of the program is as follows: The first orbit is launched perpendicular from either the X or Y axis with a reasonable launching velocity. Depending on the orbit type, will be integrated for the 1/4, 1/2 or full period, with given non-zero launching coordinates. Currently implemented are
type=1 x0= y0=0 u0=0 v0= # 1/4 orbit launched from X
axis
type=2 x0=0 y0= u0= v0=0 # 1/4 orbit launched from Y axis
type=2 x0=0 y0= u0= v0=0 # 1/2 orbit launched from Y axis
Type 3 orbits are needed to handle the SPO and LPO orbits around the
stable lagrangian points perpendicular to a rotating bar. Although type
3 orbits also handle the X1..X4 orbits, integrating for 2x or 4x the period
only make the computing time longer and possibly at the cost of some instabilities
in the algorithm.
A stability parameter of the orbit is also computed. Periodic orbits in potentials with chaos generally makes their islands in the surface of section shrink, and correspondingly finding the orbits becomes more difficult (i.e. needs good initial conditions). The same holds for the method used in perorb(1NEMO) so you can’t win.
Here is a benchmark orbit computed with three different methods:
# henyey:
./henyey 0.6 0 0 1.9 1.0 1 0.0 0 > bench1.log
tabcomment bench1.log | tabplot - 3 4 -1 1 -1 1 line=1,1 yapp=1/xs
n tau x y u v
1 0.00 0.6000 0.0000 0.0000 1.8900
201 1.00 0.0000 0.5951 -1.1203 -0.0001
# perorb:
perorb phase=0.6,0,0,0,1.9,0 dir=x potname=bar83 potpars=0,1,1,0.2,1 out=o2
# x0 v0 y1 u1 NPT NITER PERIOD ETOT LZ_MEAN
ETOT_ERR
0.611285 1.866136 0.599541 -1.128240 146 3 2.882204 -0.860843 0.801766 0.0035907
orbplot o2 xrange=-1:1 yrange=-1:1 yapp=2/xs
# orbint
mkorbit - 0.6 0 0 0 1.9 0 potname=bar83 potpars=0,1,1,0.2,1 | orbint - - 1000
0.01 | orbplot -
where the latter orbit with the orbint(1NEMO) integrator is only approximately periodic.
Unlike other NEMO orbit related programs, the potential has been hard-coded. The corresponding Makefile makes it relatively easy to plug in another potential. Parameters are passed through FORTRAN common blocks, but again, hard-coded and not available via the command line interface yet, with the exception of the pattern speed.
The default parameters for the Makefile is a double precision (P=8) bar6 (B=6).
NEMO/src/orbit/misc/henyey source code fort.20 - output of (I,t/T,X,Y) for more detailed plotting
1964ApJ...139..306H - A New Method of Automatic Computation of Stellar Evolution. 1982MNRAS.201..303V - Periodic orbits and gas flow in barred spirals
@ads 1982MNRAS.201..303V
28-may-1979 original version as SBORB TVA 1981? Cyber7600 version - sheltran PJT xx-may-92 V0.0 ported to work with NEMO PJT xx-mar-03 V0.01 .. working, but not in CVS yet .. PJT 24-dec-2023 V0.2 cleanup, added to git, confirm with perorb PJT