computer museum
calculating transfer trajectories          
The program with supporting subroutine packages and calculates elliptical or hyperbolic transfer orbits between celestial bodies for given departure and arrival times with impulsive velocity changes at departure and arrival. It then determines the total velocity change Delta-v required for such a trajectory. Future versions will include the possibility of one or more rocket burns in-between. The program can do a scan to find the departure and arrival times that yield the lowest Delta-v. Alternatively, one can also minimize the departure Delta-v only for missions to intercept the target body without velocity matching.
The program is written in object-oriented perl, each celestial body and each transfer trajectory being represented by one object. Perl permits quick turnaround times during program development and debugging. However, at some point the program should be converted to C++ to make it more runtime-efficient.
I am making this program available under the General Public License (GPL) Anyone is welcome to use it, or modify it. However, the original and any modified versions must remain under the GPL for anyone to use/modify it freely, etc.
The program is still very raw with lots of debugging lint in it, and probably plenty of bugs, too ;). I will work on it as my day job and other commitments allow me. Meanwhile, comments or participation are welcome (contact me by email)
I used the program to calculate an optimal transfer trajectory from Earth to asteroid Apophis for departures between mid-2011 and mid-2013, and arrivals between mid-2012 and mid-2014. According to this calculation, the optimal trajectory has Delta-v = 4.68 km/s for departure on 4. June 2012, and arrival on 19. March 2013. A surface plot of total Delta-v over departure and arrival times (in J2000 epochs) and an orbit view are here.
Instructions on usage under Linux are here, as well as a sample parameter file.