Setting up orbits in phantom
The set_orbit module provides a generic interface for setting up two-body orbits using various input parameter sets. It is used by many setup routines (e.g. binary, hierarchical systems) to define orbital initial conditions.
The options available in the .setup file depend on the chosen input type (itype).
Input Types
The typical block in the .setup file looks like this:
# orbit
itype_binary = 2 ! orbital elements (0=aeiOwf,1=flyby,2=Orbit Reconstructor,3=dx,dv,4=x,v)
binary_dx = 346.000 ! observed dx at t=tmax (code units or e.g. 1 au)
binary_dy = -242.000 ! observed dy at t=tmax (code units or e.g. 1 au)
binary_dz = -366.667 ! [guessed] dz at t=tmax (code units or e.g. 1 au)
binary_dvx = 0.200 ! [guessed] dvx at t=tmax (code units or e.g. 1 km/s)
binary_dvy = -0.040 ! [guessed] dvy at t=tmax (code units or e.g. 1 km/s)
binary_dvz = 0.000 ! observed dvz at t=tmax (code units or e.g. 1 km/s)
binary_d = 1200 ! separation at t=0 if unbound
The control parameter is itype (or with a prefix, e.g., itype_binary):
0: Standard Keplerian elements (a, e, i, Omega, w, f)
1: Flyby parameters (rp, d, e, i, Omega, w)
2: Orbit Reconstructor (reconstruct orbital parameters to match observed dx,dv at t=tmax)
3: Relative position and velocity vectors (dx, dv)
4: Absolute position and velocity vectors (x1, v1, x2, v2)
Detailed Options
Type 0: Keplerian Elements
This is the default mode.
a: Semi-major axis. You can specify units (e.g.,100 au). * Ife < 1, you can alternatively specify the orbital period (e.g.,1000 yrs). * Ife > 1(hyperbolic),ashould be negative (conventiona = -GM/2E).e: Eccentricity (>= 0).i: Inclination in degrees.O: Longitude of ascending node (Omega) in degrees.w: Argument of periapsis (little omega) in degrees.f: Initial true anomaly in degrees (0 = periastron, 180 = apastron).
Type 1: Flyby Parameters
Useful for setting up unbound encounters.
rp: Pericentre distance (closest approach). Can specify units (e.g.10 au).d: Initial separation distance. Can specify units (e.g.100 au).e: Eccentricity.i: Inclination in degrees.O: Longitude of ascending node in degrees.w: Argument of periapsis in degrees.
Type 2: Orbit Reconstructor
This mode is designed to find an orbit that matches a specific observed separation and velocity at a future time. This is useful for reconstructing orbits of observed systems where only projected quantities are known.
dx,dy,dz: Separation vector at the time of observation.dzis typically a guessed parameter if deprojection is needed.dvx,dvy,dvz: Relative velocity vector at the time of observation.dvx,dvyare typically guessed parameters.d: Initial separation at t=0 (for unbound orbits).
Type 3: Relative Position and Velocity
Directly specify the relative Cartesian vectors.
dx,dy,dz: Relative position vector components (r2 - r1).dvx,dvy,dvz: Relative velocity vector components (v2 - v1).
Type 4: Absolute Positions and Velocities
Specify exact coordinates for both bodies. Note that this overrides any centre-of-mass settings typically handled by the setup routine.
x1,y1,z1: Position components of body 1.vx1,vy1,vz1: Velocity components of body 1.x2,y2,z2: Position components of body 2.vx2,vy2,vz2: Velocity components of body 2.
Units
Most distance and velocity parameters accept unit strings. For example:
100 au1 pc5.2 km/s1000 yrs(for period input in Type 0)
Prefixes
When used in setup files (like binary.setup), these options will often have a prefix or label to distinguish between multiple orbits (e.g., in a hierarchical triple). Common prefixes include:
binary_a,binary_e…orbit1_a,orbit2_a…
Check your specific .setup file for the exact variable names.