/planet

A N-Body Orbit Simulator

Primary LanguageC

PLANET - An Orbit Simulation
(c) 2009, David Newgas <dn271@cam.ac.uk>

Usage: PLANET [-f infile] [-s timestep] [-t max_time] [-e | -l]

PLANET simulates orbits for given initial conditions, which must be specified on
infile, or stdin if unspecified.  The format is each body has a line such as:

body-name   x-position  y-position  x-velocity  y-velocity  is-static

those are hopefully self explanitory except for is-static.  This allows you to
"pin" objects in space.  If it is "1" the body will not experience any forces,
otherwise set it to "0".  Making objects static saves a bit of cpu, so it is
worth doing for any really massive bodies.

The length of the simulation is specified with as max_time, the steps in time
are timestep.

The simulation is either euler or (default) "leapfrog" style iteration,
depending on wheter -e or -l is set.

The values should be in the appopriate SI units - seconds, meters and
meters per second.
body-name must not have spaces in it.
You can specify large positions and velocities in the input file as understood
by fscanf(3) - eg 3.44e4 .