11
$\begingroup$

I wrote a program that simulates a solar system. I was able to calculate the locations for every planet on its elliptical route for any given time.
In a second project, I managed to simulate newtonian gravitational behavior (n-body problem, time-step approach).

But I'm wondering how it is possible to:
(1) find routes (different possibilities) from a given location/planet to another
(2) choose the best route according to duration or fuel consumption

So where's a good place to start?

To be more exact: It's not about writing another simulation, it's about understanding the physics behind it!

$\endgroup$

3 Answers 3

5
$\begingroup$

I think you have to start with the basics if you want to really learn the physics. Start with the most basic transfer between two circular orbits: a Hohmann transfer orbit. This is the least expensive way to transfer a vehicle between two circular orbits. It requires a two burns. After that, you can move on to the Patched Conic Approximation.

Create your numerical integrator using the n-body time step method you described to simulate your flight path and see how close your calculations get you when you use these techniques. You will very quickly get a feel for their capabilities and their shortcomings. It is very cool to see how bad the day can get if you are using a simple Hohmann transfer to get to Mars from Earth...

Good luck -- fun stuff!

$\endgroup$
5
$\begingroup$

This is exactly how it is done -

Every space mission has used Gravity Assisted Trajectories in order to not only set the route to the destination(s) but also to gain additional velocity - otherwise the amount of propellant required would make these missions unfeasible.

The n-body simulation is the main way this is solved - throw some compute power at it and you are good. It does just come down to solving the maths.

From wikipedia:

enter image description here

There are other solutions, such as crowd-sourcing - check out the Space Game - or analysis of the vast data store which exists already.

$\endgroup$
6
  • $\begingroup$ Using the n-body approach would mean: Set the spacecraft starting position and iteratively try different velocity and angles until finding the best route? $\endgroup$
    – joe
    Jul 20, 2013 at 11:45
  • $\begingroup$ @joe: Yes, unfortunately. It is an optimization / minimization problem with an enormous number of open parameters. It requires some experience to find some good configurations (1) before you ask your computer for an optimized solution. It is iterative, yes. Two and three body problems can still be described by differential equations, but beyond that, it becomes just nerve-wracking to find an analytical solution. (1:) By the way, this is where the crowd-sourcing kicks in. ESA was looking for new ways of finding good configurations (sequences of flybys) and how people find them intuitively. $\endgroup$
    – s-m-e
    Jul 20, 2013 at 12:22
  • 3
    $\begingroup$ This is a little like someone asking how to build an electric car and pointing them to Coulomb's Law. Although it is necessary for you to throw computing power at the numerical optimization problem eventually, there are many preliminary steps that will get you in the neighborhood of a good solution. $\endgroup$
    – user29
    Jul 20, 2013 at 15:37
  • $\begingroup$ @Chris +1 for this statement! Yep. RoryAlsop: This question deserves a more detailed answer :-) $\endgroup$
    – s-m-e
    Jul 20, 2013 at 20:22
  • 1
    $\begingroup$ But Joe already knows how to run the maths. He has managed n-body simulations. $\endgroup$
    – Rory Alsop
    Jul 20, 2013 at 21:29
5
$\begingroup$

I highly recommend that you read a book. Just search for "astrodynamics" or "orbital mechanics" on Amazon and read the reviews. Pick one that best matches what you're looking for. Which one doesn't matter that much -- what matters is getting a book, as opposed to what seems to be the fashion nowadays which is to use google, wikipedia, and ask questions on the interwebs. The book approach is much more efficient and reliable.

$\endgroup$
0

Not the answer you're looking for? Browse other questions tagged or ask your own question.