Rockets and Missiles

advertisement
Chapter 6. Rockets and Missiles
[First Draft CBPrice October 17th 2011]
[Rev3. CBPrice Feb 29th 2012]
Introduction
Whereas “projectiles” are objects that get thrown, shot, launched, hit, (which imparts an initial velocity),
“rockets and missiles” are objects which provide their own “thrust” and normally start from a state of zero
initial velocity. The physics of rockets extends the physics of projectiles, the projectile forces of gravity and
drag are supplemented by the additional force of thrust. Man has thrown many rockets and missiles up from
the ground and even into space, in peace or in anger. We may do this every year during November. Yet there
is one example which is written into our history, the Saturn V vehicle used in the Apollo space program
which placed man on the Moon.
Rocket Physics.
When a rocket engine ejects hot gases out of its tail, the rocket experiences a thrust in the opposite direction.
To see how large this thrust actually is, we can start from Newton’s Second Law which links force and
acceleration
𝐹 = 𝑚𝑎 = 𝑚
𝑑𝑣
𝑑𝑡
where 𝑑𝑣/𝑑𝑡 means the rate of change of speed. We can also take the mass m inside the “rate of change”
calculation which gives us
𝐹=
𝑑(𝑚𝑣)
𝑑𝑡
Now in the case of a rocket engine, the speed v of the gas leaving the engine is constant, so we take it
outside the “rate of change” calculation and hence write the above expression as
𝐹=𝑣
𝑑𝑚
𝑑𝑡
So the thrust is just the speed of the gas multiplied by the how much mass is being ejected per second. That
seems intuitively correct, since increasing either of these will increase the thrust. In our code we write the
above thrust as
vGas*dMdT;
This thrust lies in a direction along the velocity of the rocket, directly opposite to the drag on the rocket.
This is shown in Figure 1.
The thrust vector needs to be resolved into its y and z components. This is shown in Figure 2. Since the
thrust and velocity vectors are in the same direction, the equations for their components are similar. Take the
y-direction. We have for the thrust
𝑇𝑦 = |𝑇|𝑠𝑖𝑛𝜃
and for the velocity
𝑣𝑦 = |𝑣|𝑠𝑖𝑛𝜃
where|𝑥| means the size of the vector x. Dividing the first equation by the second and rearranging, we get
𝑣𝑦
𝑇𝑦 = |𝑣| |𝑇|
Using the expression for T from the exhaust gas, we finally find that
𝑣𝑦
𝑇𝑦 = |𝑣| (𝑣
𝑑𝑚
𝑑𝑡
)
where the symbols inside the bracket refer to the gas escaping. It is clear to write this component in code,
forceY = vGas*dMdT*velyY/speed;
This is the additional term which you need to add to the projectile calculations seen in the previous chapter.
You of course need a similar term for the force in the z-direction.
Now, the crucial point about rocket motion is that the mass of the rocket is changing since the fuel is used up
as it is burned. The rate of change of the mass of the fuel is 𝑑𝑚/𝑑𝑡, so your code will need to adjust the
mass of the fuel at each time step. You will need a line like this
massFuel -= dMdT*dt;
Since the mass of the rocket + fuel is changing, you will need an additional variable which represents the
total mass of rocket + fuel at any time. This you will use in your acceleration code which will look like this
accelY = forceY/totalMass;
Finally, remember that the additional thrust term is only necessary when the engine is burning. When the
fuel is used up, there is no thrust. So your code needs to detect when massFuel is zero and revert to the
simpler projectile code in this case.
Analytical Solutions
There is no mathematical solution for the rocket problem with drag, only approximations. Here we
document mathematical solutions which are possible for two limiting cases, (i) assuming drag is zero while
there is thrust and (ii) assuming there is no thrust but there is drag.
In the situation where we assume that that drag is zero, and that the flight is vertical, the velocity of the
rocket during the ascent phase, as a function of time when the rocket motors are burning is given by
𝑚
0
𝑣(𝑡) = −𝑔𝑡 + 𝑣𝑔𝑎𝑠 𝑙𝑛 (𝑚(𝑡)
)
Again, assuming that drag is zero, the height of the rocket above its starting height as a function of time, is
given by
1
𝑚(𝑡)
𝑧(𝑡) = 𝑣𝑔𝑎𝑠 𝑡 − 2 𝑔𝑡 2 − 𝑣𝑔𝑎𝑠 (𝑚̇
𝑔𝑎𝑠
𝑚
0
) 𝑙𝑛 (𝑚(𝑡)
)
In the situation where we assume there is no thrust, but that there is drag, we get the following expression
for the “terminal velocity” of the rocket, where drag and gravitational force are balanced and so there is no
further increase in velocity.
𝑣𝑡𝑒𝑟𝑚 = √
𝑚𝑔
𝐷
Here we are thinking of the rocket which has been launched vertically, and the fuel has been used up and is
falling vertically back towards the launch pad.
The State Code Implementation.
The coding of the rocket is best arranged according to a “state” description where at any time the rocket
exists in one of a number of “states”, each displaying a particular behaviour, and each state being associated
with code contained within the “state”. Here the states are waiting, ignition, launched, touchdown, and
failed. Here are descriptions of each of these states:
(i) State Waiting. Here the level is running, but the simulation is not running. When the F1 key is pressed
then the Boolean bRunning is set to true and there is a transition to the state ignition.
(ii) State Ignition. Here we model the launch sequence of the Saturn V quite closely. This is outlined below.
First there is a time delay of 5 seconds where the engines pass through an initialisation sequence before the
fuel is ignited. Then there is a period of around 2 seconds where the engine thrust builds up to its maximum
value. If the thrust is sufficient to provide a positive acceleration, then there is a transition into the state
launched. Else there is a transition into state failed.
(iii) State Launched. Here we find the main computational code. The Y and Z forces are computed
(including drag), the accelerations and Y and Z speeds are calculated and the Y and Z positions are updated.
Also to simulate the pitching of Saturn V, an additional pitching force is added to Y during the time interval
10 to 15 seconds. This interval was chosen arbitrarily, to make the simulation believable. If, during this
state, the vertical height dispZ fell below zero (the rocket returned to ground level) then there is a transition
to the state touchdown.
(iv) State Touchdown. Here we set bRunning to false, to end the simulation.
(v) State Failed. Here we set bRunning to false, to end the simulation.
The Saturn V Launch Vehicle and its simulation.
Here we shall model and investigate the first-stage launch vehicle of the Saturn V rocket which launched the
Apollo missions. We shall only consider the behaviour of the first stage, (a full model of all three stages is
worthy of an Independent Study  ).
Data concerning the actual Saturn V launch vehicle is summarised in the table below.
Total mass of the Saturn V vehicle
Mass of the fuel in the first-stage
Total engine thrust (5 engines)
1st Stage burn time
28 x 105 kg
20 x 105 kg
35 x 106 N
150 s.
For our investigation of the first-stage behaviour it is clear from the above, that the mass of the rocket is 8 x
105 kg (total mass minus the mass of the fuel in the first stage). Also the rate of gas ejection (dMdT) is
given by the mass of the fuel divided by the burn time. From the above data we see that this is
20 x 105
150
which
4
is 1.33 x 10 kg/s. Since thrust is vGas*dMdT; then we can calculate vGas = thrust/dMdT = 2632 m/s.
These numbers are quite large, and for the purposes of our simulation code may result in computational
overflow. Therefore we choose to scale the numbers, by dividing all masses (and related quantities) by 105 .
Doing this we obtain the following table of values for our simulation study. Note that the units of force
(Newtons, N) is the same as kgm/s.
Total mass of the Saturn V vehicle
Mass of the fuel in the first-stage
Total engine thrust (5 engines)
1st Stage burn time
28 kg
20 kg
350 N
150 s.
This yields values for the initial baseline parameters for our simulation, dMdT = 0.133 kg/s and vGas =
2632 m/s.
Using these values in our simulation code produces a realistic simulation of the behaviour of the first stage
of the Saturn V launch. Unfortunately the rocket leaves the UDK level created (which is correct) but does
not allow us to investigate the behaviour of the Saturn V launch vehicle within the UDK level. To
ameliorate this problem we choose to increase dMdT (so the fuel gets used up faster) and decrease vGas so
that the product vGas*dMdT is unchanged, in other words the simulation thrust is unchanged. This has the
effect of making the launch behaviour visible on a shorter time scale. In effect, we have accelerated time!
The final baseline parameters for our simulations are as follows,
Total mass of the Saturn V vehicle
Mass of the fuel in the first-stage
Total engine thrust (5 engines)
1st Stage burn time
dMdT
vGas
28 kg
20 kg
350 N
150 s.
2.66 kg/s
131.6
Let’s look at the behaviour of the rocket when it is launched vertically (with pitchAngle = 0). The graphs
below show the thrust of the motors, the accelZ of the rocket and its velyZ and dispZ (height).
Remember these are based on my close reading of the actual Saturn V launch for Apollo 13.
(i) When the launch sequence is started (t=0) it takes 5 seconds for the engines’ systems to initialise. Various
valves are opened to introduce the fuel and oxidant into the engine before combustion can be started.
(ii) Combustion commences at 5 seconds and the thrust increases from zero to the designed value of 350N
(scaled) required for launch. This is obtained around 7 seconds. You can see this on the thrust graph.
(iii) At this time, when the required thrust is obtained, the rocket is released and it starts accelerating. You
can see this on the accelZ graph which shows an initial jump. Look at the velyZ graph and you can see that
the rocket is starting to pick up some serious speed.
(iv) In the time interval between around 7 and 12.5 seconds the engines provide thrust, after which the fuel
is used up and the thrust (first-stage) falls to zero). In this interval the acceleration accelZ increases, since
the total mass of the rocket is decreasing as the fuel is used up.
(v) Around 12.5 seconds the fuel is spent, so the thrust is zero and the acceleration drops down to -9.8. You
can see that the velocity starts to decrease from this time onward, as gravity takes over. But the velocity is
still positive until around 21 seconds, so the rocket continues to move upwards. You can see this in the
dispZ (height) plot.
(vi) Finally after 21 seconds the velocity becomes negative. Gravity is now dominant, and the rocket starts
to descend as you can see in the dispZ plot.
thrust
400
300
200
thrust
100
0
0
-100
5
10
15
20
25
30
accelZ
40
30
20
10
accelZ
0
0
5
10
15
20
25
30
-10
-20
velyZ
100
50
0
velyZ
0
5
10
15
20
25
30
-50
-100
dispZ
600
500
400
300
dispZ
200
100
0
-100 0
5
10
15
20
25
30
Download