Breaking Sound Barrier out of Aircraft, Redbull Jump Case Study
Case study: Red Bull Stratos mission
In October 2012, Felix Baumgartner ascended to 39,000 m in a statospheric balloon before making a freefall jump towards Earth. The jump was part of Red Bull's Stratos mission, which aimed to collect valuable medical and scientific data to progress to possibilities of space travel. More details on the mission can be found on their website.
Felix was in freefall until approximately 2600 m above ground at which point he deployed a parachute to slow his descent.
The task is to create a mathematical model to predict the top speed that Felix reached before deploying his parachute.
Step 1
To define the problem, we first need to understand the physics.
Draw a free-body diagram identifying the forces acting on Felix during freefall
You should have something similar to this...
Where mg is the force due to gravity and Fd is the air resistance. Note:
If you are unfamilar with this formula, please refer to the following resource: NASA Glen Research Center
Using Newton's second law (F=ma) we can form an equation for Felix's acceleration as he descends towards Earth.
Use your free-body diagram to resolve the forces and write down an equation for acceleration in the form a=?
Step 2
Next we need to identify the variables in our equation
Make a list of all the variables in the equation for acceleration. Are the variables constant values or dependent on other factors in the problem?
Acceleration
· The gravitational acceleration is dependend upon how far away from the centre of the Earth we are.
· At sea-level, g is approximated to the value of 9.81 m/s2
· At 39 km from the surface of the Earth, the value of g is going to be smaller.
· However, to simplify our model, we are going to make the assumption that g = 9.81 m/s2
Mass
· m is the estimated mass of Felix Baumgartner and equipment he is carrying
· Assume Felix weighs 75 kg, And his suit and parachute weigh an additional 25 kg
· We can therefore state m = 100 kg
Air density
· Density is related to temperature, pressure and altitude.
· The higher we go, the less dense the air becomes (there are fewer gas molecules)
· An atmospheric model has been created that allows the density to be estimated to assist with aerospace calculations.
· The model divides the atmosphere into three zones: Upper stratosphere, Lower stratosphere and Troposphere.
· We will use an approximation to this model to simplify our solution.
· Upper stratsophere: for heights greater than 25000 m, density = 0.02 kg/m3
· Lower stratosphere: for heights between 11000 m and 25000 m, density = 0.3 kg/m3
· Troposphere: for heights below 11000 m, density = 1.2 kg/m3
Velocity
· The velocity of Felix can be derived from our knowledge of kinematics.
· We know velocity is the rate of change of displacement with respect to time.
· And acceleration is the rate of change of velocity with respect to time.
· We will use a numerical model to solve this later.
Drag coefficient
· The drag coefficient is a function of the shape and texture of an object.
· As we are only investigating this problem before the parachute is deployed, we can treat this as a constant value.
· Assume drag coefficient = 0.82.
Area
· As with the drag coefficient, the cross-sectional area will change after the parachute is deployed.
· For pre-parachute deployment, assume A = 1 m2
MATLAB Code:
Define the constant variables in the code section below. Make sure you use sensible variable names. It is good practice to use comments next to each variable to provide more information.
% Define constant variables
g = 9.81; % Acceleration due to gravity (m/s^2)
m = 100; % Mass of the object (kg)
A = 1; % Frontal area (m^2)
Cd = 0.82; % Drag coefficient
Solving for velocity
We now have all the variables in our equation defined to solve our problem. Ultimately we wish to know the location (x) and velocity (v) of Felix at any given time (t) after his jump from the balloon. We have an equation for accleration. We know that rate of change of displacement gives velocity, and the rate of change of velocity gives acceleration.
These are known as differential equations. Differential equations are common in engineering and can be solved using a number of different methods. Often, we will come across a differential equation that cannot be solved by hand (although this one can!) and we will need to use numerical methods to come up with an approximate solution. For this problem, we are going to use the forward Euler method:
This means that the displacement at time-step n+1 is equal to the displacement at time-step n plus the velocity at time-step n multiplied by the change in time.
To solve this, we will therefore need to use a loop, updating the values at each time step. Before we set up the loop, we need to define the initial values of our dependent variables.
Initial values
As you can see from the equations in the Euler method, new values of displacement or velocity need the value of velocity or acceleration from the time-step before. This means for our very first run through the loop, we need starting values in order to calculate the next ones. These are known as our initial values. For velocity this will be 0 For displacement, this will be the starting jump height (as we have defined positive x as being upwards). And for acceleration, the intial value will be negative g (see equation for acceleration).
Define the dependent variables and their intial values in the code section below.
As we are going to be solving in a loop, our dependent variables will be stored in a vector. This means we need to make sure our defined values are vectors, not scalars.
We also need to define our timestep and a loop counter (n). One each iteration of the loop, the counter will need to advance. Selection of the timestep will affect the accuracy and efficiency of the code. A large timestep will be quick to run but will introduce errors. A small timestep will be most accurate but will take longer to run. Experiment to see if you can find the optimum timestep for this problem
% Initialize dependent variables with initial values
x(1) = 39000; % Initial displacement (m), starting height
v(1) = 0; % Initial velocity (m/s), object starts at rest
a(1) = -g; % Initial acceleration due to gravity
t(1) = 0; % Start time (s)
dt = 1; % Time step for simulation (s)
n = 1; % Counter for tracking each iteration
While loop
To implement the Euler method we are going to use a loop. We can use for or while loops to perform repeated calculations. Either will work for this scenario, but try initially using a while loop, setting the condition that it is to perform the calculations until Felix reaches the ground.
Within this loop you will then need to include further conditional statements to assign values to the density that changes with height. Use if, else if and else statements to do this.
Write your code for the loop
% Euler integration loop to update time, displacement, velocity, and acceleration
while x(n) > 0 % Continue until object reaches the ground (x <= 0)
% Define air density (rho) based on altitude using a simplified atmospheric model
if x(n) > 25000
rho = 0.02; % Density in upper stratosphere (kg/m^3)
elseif x(n) > 11000
rho = 0.3; % Density in lower stratosphere (kg/m^3)
else
rho = 1.2; % Density in troposphere (kg/m^3)
end
% Update time at the next step
t(n+1) = t(n) + dt;
% Calculate new displacement using Euler's method
x(n+1) = x(n) + v(n) * dt;
% Update velocity using Euler's method
v(n+1) = v(n) + a(n) * dt;
% Calculate new acceleration based on gravity and drag force
% Drag force: Fd = 0.5 * rho * Cd * A * v^2
a(n+1) = -g + (0.5 * rho * Cd * A * v(n+1)^2) / m;
% Increment loop counter
n = n + 1;
end
Run your model using the "run section" button if you wish to check each stage, or the "run all" button if you are confident with your code.
A few predictions from the model
Use your model to answer the following questions (you may need to include additional code):
1. What is the predicted top speed?
max_speed = max(abs(v)); % Maximum speed achieved
max_speed =
330.9535
2. At what time does Felix enter the Troposphere?
tropo = find(x < 11000, 1); % Find the time when the object enters the troposphere
time_tropo = t(tropo); % Time at which troposphere entry occurs
time_tropo =
210
3. What is the predicted speed at the time of opening his parachute (x=2600 m)?
para = find(x < 2600, 1); % Find the time when object reaches 2600m
speed_para = abs(v(para)); % Speed when the object reaches 2600m
speed_para =
44.6531
Plot
Create a plot of time against velocity. Don't forget to label your axes.
% Plot the velocity vs. time
figure;
plot(t, abs(v)); % Plot velocity as a function of time
xlabel('Time (s)');
ylabel('Velocity (m/s)');
title('Velocity vs. Time');