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?
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.
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.
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()
Chemical Equations and Diophantine Equations
I was reading about SpaceX on Wikipedia the other day, just after they announced their plan to travel to Mars, and about an hour later, as can happen on Wikipedia, I found myself reading about Chemistry and feeling nostalgic about all the subjects that I used to know in detail but now have just a hazy recollection of.
Reading the material on Chemistry got me thinking that there are quite a few similarities between chemical elements and prime numbers. All chemical compounds can be reduced to a combination of chemical elements in a unique way, and all integers can be reduced to a product of prime factors in a unique way. Both serve as the building blocks from which more complicated objects are constructed.
What happens if we attempt to formalise this relationship? It turns out we can actually come up with a mathematical process for balancing chemical equations. And this solution is related to the study of mathematical objects called Diophantine equations.
What is a Chemical Equation?
Let’s start by reviewing what a chemical is. A chemical equation is an equation which defines a chemical reaction. The left hand side has the inputs to the reaction and the right hand side has the outputs. So for example, the process of adding hydrogen and oxygen to create water can be written as:
H + O -> H2O
This equation though is not balanced. We’ve got two hydrogens on the right, but only one on the left. Therefore there is some information missing.
Balancing a Chemical Equation
How do we balance a Chemical Equation? We need to define the relative amounts of the inputs and outputs so that the total numbers of each element are the same on both sides of the equation. We do this by writing an integer before each input and an integer before each output to denote the relative amounts of each molecule in the reaction.
In the case of the combustion reaction above, we can see by inspection that we need two hydrogen elements and one water element to create a water molecule, that is:
2 H + O = H2O
What happens though if we need to balance a more complicated Equation? For example, here is the equation for the combustion of gunpowder:
KNO3 + S + C → K2S + N2 + CO2
It is not immediately obvious to me how to balance this equation. It’s not too complicated and could probably be balanced by inspection, but what if the equation was much more complicated?
Chemical Elements and Prime Numbers
If we take the step of associating a prime number to each element in the equation, for example, let’s make the following associations:
And we also replace the additive notation with a multiplicative notation, then we get the following mathematical equation for the combustion of gunpowder:
$(67*17*(19^3))^a * 47^b * 13^c = ((67^2)*47)^d * (17^2)^e *(13*(19^2))^f$
Equating prime factors on the right and prime factors on the left gives us a system of linear Diophantine equations, one for each prime:
a = 2d
a = 2e
3a = 2f
b = d
c = f
A Diophantine equation is a polynomial equation for which we are only interested in integer solutions. Since a chemical equation must have integer coefficients, the resulting system of linear equations is actually a system of Diophantine equations.
So returning to our chemical equation above, we can solve this equation using linear algebra. In this case, I put the system of linear equations into an online calculator, and we find that solutions to this system are of the following form for integers n:
a = 2 n
b = n
c = 3 n
d = n
e = n
f = 3n
I used the following online calculator:
As we are interested in integer solutions, we need to now find n such that all our coefficients take integer values. In this case, we can take n to be 1 giving us:
a = 2
b = 1
c = 3
d = 1
e = 1
f = 3
Putting this back into our equation above we get:
2 KNO3 + S + 3 C → K2S + N2 + 3 CO2
Which we can see is a balanced chemical equation.
This process can be extended to balance any chemical equation, no matter how complicated.
I work as an actuary and underwriter at a global reinsurer in London.