orbsos in=orbit [parameter=value]
The output is a simple ascii table with 4 columns: crossing number, time,
position and velocity. Example of use with tabplot(1NEMO)
% orbsos orbit.out x | tabplot - 3 4 xlab=x ylab=vx % orbsos orbit.out y | tabplot - 3 4 xlab=y ylab=vy % orbsos orbit.out xy | tabplot - 3 4 xlab=x,y ylab=vx,vy
orbsos can be useful in locating orbital families and study ergodicity. Finding periodic orbits can be automated, but is easier through programs like perorb(1NEMO) and henyey(1NEMO) .
# Fig 2 shows the equipotential contours potccd - hh64 x=-1:1:0.01 y=-1:1:0.01 | ccdplot - 0.01,0.0417,0.0833,0.1250,0.1667 # Fig 4 show a regular orbit mkorbit - y=-0.22 e=1/12.0 lz=-1 potname=hh64 | orbint - - 8000000 dt=0.005 | orbsos - y symm=f | tabplot - 3 4 -0.5 0.7 -0.5 0.5 # Fig 5 shows an ergodic orbit mkorbit - y=0.6 e=0.125 lz=-1 potname=hh64 | orbint - - 4000000 dt=0.01 || orbsos - y symm=f | tabplot - 3 4 -0.5 0.7 -0.5 0.5 # same ergodic orbit like in Fig 5, but with twice the accuracy of integration mkorbit - y=0.6 e=0.125 lz=-1 potname=hh64 | orbint - - 8000000 dt=0.005 | orbsos - y symm=f | tabplot - 3 4 -0.5 0.7 -0.5 0.5
Instead of looking at one orbit, using mkdiskfel(1NEMO)
to create initial
conditions,and potcode(1NEMO)
as an integrator, the following example shows
how to get a whole series of orbits in one SOS:
mkdiskfel d3 100 rmax=2 potname=log potpars=0,1,1,0.7 emin=2 potcode d3 d3.out potname=log potpars=0,1,1,0.7 freqout=64 tstop=1000 orboom d3.out d3.boom odm=f nsteps=100000 orbsos d3.boom | tabplot - 3 4
~/src/orbit/misc orbsos.c
9-jun-88 V1.0 Created PJT 22-mar-92 V1.1 added mode= and documented PJT 30-dec-93 V1.2 added pabs= and vabs= PJT 9-dec-2019 V1.3 add symm= PJT 2-jan-2020 added examples