**Fact 1 - If Airline Companies were ran like Rocket Companies, a trip from London to New York would cost about $300,000.**

Prior to SpaceX, launching a a Satellite into orbit was expensive. Really, really expensive. The most commonly used launch vehicle was the Ariane 5, manufactured by the French Company Arianespace, and costing somewhere in the region of USD75 million per launch.

SpaceX have stated that their eventual hope is target a cost of USD6 million per launch. How do they hope to achieve a more than 10 times cost reduction?

Better Economies of Scale?

Improved Manufacturing Processes?

Cheap Labour?

3d Printing?

Actually none of the above. The answer is actually kind of obvious once you hear it though. They want to make rockets that can be used more than once!

As a though experiment, let's apply the concept of reusability to a familiar mode of transport. If we take the most common airliner in the world - the Boeing 737 - then we can compare the cost of a flight with full reusability against the cost of the flight without reusability.

A new Boeing 737 costs in the region of USD75 million (depending on the exact model) whereas a return ticket to New York on a Boeing 737 only costs about USD600 per seat. Multiplying the number of seats (~250) by the cost of a one way ticket (~USD300) we see that the total cost of the flight is somewhere around the USD75,000. So each flight costs about 0.1% of the total cost of the airliner.

Suppose though, that like a rocket, a 737 could only be flown once. Then all of a sudden, instead of costing less than USD75,000 per flight, the flight would include the full cost of the 737, meaning each ticket would cost around USD300,000!

By creating rockets that are reusable, SpaceX hopes to get similar cost savings in the arena of launch vehicles.

SpaceX is actually quite close to achieving full reusability, here is a cool video of a Falcon 9 rocket making a vertical landing on a drone ship in April 2016.

**Fact 2 - It is easier to land the rocket on a Drone Ships than the original launch site**

In the video above, the Falcon 9 lands on a floating platform in the ocean. Given landing on a ship in the ocean seems to add another layer of complexity to an already difficult task why did SpaceX decide to do this? A few ideas spring to mind, you might think that this is because the rocket is not sufficiently accurate and the drone ship has to be able to move around to get into the right place, or possibly that the ocean is a safer environment to land on given the lack of nearby people or property to damage. Or perhaps SpaceX are doing this as a form of marketing given the fact that it looks pretty cool.

However, the actual reason is surprisingly prosaic, and also, once you think about it, kind of obvious again. It'all has to do with how you get a satellite into orbit in the first place.

When a rocket attempts to get a satellite into orbit it does not just go vertically up in the air, in order for a satellite to be in a stable orbit, it actually needs to be moving perpendicular to the earth's surface at a very high speed (which can be calculated based on the height of the orbit) in order to not fall back to earth.

I wrote a model in Python of a two stage rocket launching a satellite into orbit around earth. I then ran the model multiple times keeping the overall thrust of the rocket exactly the same every time, but varying the initial direction of acceleration. Using this model we can see the large effect that varying the path the rocket takes has on the ease in which a satellite can be put into orbit.

In the first video, the launch rocket is sent almost vertically up in the air, and the satellite (the blue part) makes very little progress before it crashes back down to earth.

In the second attempt, we angle the rocket towards the horizon more, in this case, by 55 degrees. And we can see that whilst the satellite does not make it into orbit, it does come closer than the first attempt.

In the final attempt, we angle the rocket at a 45 degree angle to the horizon. Now we see that the satellite does in fact make it into orbit. Note that the only thing we have changed in all these attempts is the angle of launch, the acceleration of the rocket has not been changed at all.

The point to note from all this is that in order to get a satellite into orbit, the rocket that was used to put it into orbit also needs to have a lot of horizontal velocity.

There are quite a few simplifications in our model. For example, we have not included air resistance which will have an impact as in practice there will be a benefit in gaining as much vertical height as possible initially so as to reduce air resistance. The model also does not take account of the fact that the mass of the rocket will reduce as it gets higher due to the fuel expended. However neither of these simplifications effects the the general principle of needing horizontal acceleration.

To tie it back to our original point, from watching the videos you might be able to tell the problem that SpaceX found themselves dealing with when using this approach. The first stage of the rocket ends up miles away from the launch site!

It turns out that for SpaceX, given the location of their launch site, the landing site for these rockets tends to be in the ocean, and this is why that they land the rockets on barges in the ocean.

**Fact 3 - The floating ships are named after ships in Iain M. Banks novels**

SpaceX have two landing barges (also known as Autonomous Spaceport Drone Ships) that they use to land the rockets on. The barges are called 'Just Read The Instructions' and 'Of Course I Still Love You'.

These may seem like very unusual names for SpaceX to pick, unless you spot that they are in fact names of spaceships in Iain M. Banks' Culture series, a series of sci-fi books set in a Utopian future with an interstellar human race.

**Python Code**

In case anyone is interested, I have pasted the Python code for the two stage rocket model below. My code was partially based on the following model, which simulates the n-body problem in Python.

fiftyexamples.readthedocs.io/en/latest/gravity.html

import turtle import math turtle.color("White") turtle.sety(100) turtle.color("Black") turtle.circle(-100) turtle.seth(90) turtle.color("Red") Vx = 0.3 Vy = 0.3 SecondStage = False for sec in range(3500): CurrentX = turtle.xcor() CurrentY = turtle.ycor() d = math.sqrt(CurrentX ** 2 + CurrentY ** 2) f = 17 / (d ** 2) theta = math.atan2(CurrentY, CurrentX) fx = math.cos(theta) * f fy = math.sin(theta) * f Vx += -fx Vy += -fy if turtle.pencolor() == "Red": turtle.goto(turtle.xcor() + Vx, turtle.ycor() + Vy) if d < 100: turtle.color("white") if sec == 250: SecondStage = True New = turtle.Turtle() New.color("white") NewCurrentX = CurrentX NewCurrentY = CurrentY New.goto(NewCurrentX,NewCurrentY) New.color("blue") VNx = Vx + 0.05 VNy = Vy - 0.2 if SecondStage == True: NewCurrentX = New.xcor() NewCurrentY = New.ycor() d = math.sqrt(NewCurrentX ** 2 + NewCurrentY ** 2) f = 17 / (d ** 2) theta = math.atan2(NewCurrentY, NewCurrentX) fx = math.cos(theta) * f fy = math.sin(theta) * f VNx += -fx VNy += -fy New.goto(New.xcor() + VNx, New.ycor() + VNy) if d < 100: New.color("white") turtle.exitonclick()