A friend and I wrote a paper for a fluids class discussing the details (as they relate to fluid dynamics) of constructing a cannon that could shoot a steak fast enough to cook it.

We quickly discovered (but not quickly enough to change our topic) that our paper was a bit too ambitious for two twenty year old undergrads taking an introductory course in fluid mechanics. Nonetheless, we still busted out a ballistics simulator, a cookbook, and a compressive heating calculator and did our best.

One of the issues that stumped us was compressing the gas we used to launch the steak. We chose Helium because it was the least dense gas that probably won't burst into flames (like Hydrogen).

Using a compressive heating calculator, we found the velocity we needed to shoot the steak, and were using Bernoulli's equation to find the pressure we needed to launch at our chosen velocity.

The issue we ran into was density is dependent on pressure, but we needed the density to calculate the pressure needed.

How does one determine the pressure given the issue above? Is it simply several rounds of iteration until an acceptable answer is found?

  • 2
    $\begingroup$ Could you maybe present more of the equations you used and specify exactly where density and pressure appear? $\endgroup$ Jan 26, 2015 at 21:19

4 Answers 4


Seriously?! :D

There are going to be two parts to the solution you are looking for,

A) Till the steak is in the cannon

B) The steak leaves the cannon, is into the air and cooking starts

A) Internal ballistics:

You are dealing with compressible flow. NEVER use simple Bernaulli's equation beyond Mach no. 0.3. Make sure you are using correction terms till Mach number 0.7 and beyond that, use equations of gas dynamics (refer Modern Compressible Flow by John Anderson).

That said, your case is same as an air rifle case. Instead of pellet, you are shooting steaks. So if you know the muzzle velocity, you can design your cannon as shown in this paper. Now your question is how does one get $P_0$ mentioned in this paper, right? For that you will have to do reverse calculations.

B) Steak leaves the cannon

Assuming that you want your steak medium (as rare is not recommended apparently!), figure out the internal and surface temperatures for cooking. Also time required for cooking. At these temperature, your steak most probably will be flying at supersonic speeds. Then there will be a bow shock in front of the steak. You can safely approximate it as a normal shock and use normal shock relations to calculate total temperature ratio across the shock. Now $T_{01}$ becomes the atmospheric temperature and $T_{02}$ becomes the surface temperature on the steak (using total pressure ratio and gas dynamics relations). This will give you required shock strength and hence the flying Mach number. Assuming STP conditions at sea level, find acoustic velocity and hence the steak velocity. Now this is average steak velocity. But there is going to be wave and pressure drag on the steak all the time. Use this Stanford supersonic wing drag calculator to calculate this drag. In this take aspect ratio (AR) = 1, $C_L = 0$, put length of steak and its thickness / length as t/c. So compute the muzzle velocity by using newton's second and then first law. Now substitute this muzzle velocity in point A discussed above.

That will give you your chamber pressure.

Also I found one report in which internal ballistics of spring loaded gun is considered. There is a matlab code as well. You can take author's permission to use it.

Another issue is, as you are going to use pre compressed pneumatic cylinder, the temperature is going to drop considerably when expansion happens. So flames is not a problem, however, during compressing of the gas in that cylinder, things are going to heat up, so using helium is smart move.

Another way you can do this exercise is to write a small code in your favorite language and carry out those iterations you mentioned. However, don't use Bernaulli's equation.

All the best for your paper.

Speculation: If your hypothetical steak is flying supersonic for several minutes through the air, its most likely going to be eaten by some dog some hundred miles away from you!


  • 1
    $\begingroup$ I take umbrage with this answer as there is nothing wrong with a medium-rare, or even a rare, steak. Firing ground meat out of your cannon and cooking it until rare, on the other hand, should probably be avoided. $\endgroup$
    – Rick
    Jan 26, 2015 at 22:36
  • 1
    $\begingroup$ Rick, since we don't eat steaks here in India (except for Goa maybe), My knowledge is limited. Hence, I added the word 'apparently'! :) $\endgroup$
    – Subodh
    Jan 26, 2015 at 22:40
  • $\begingroup$ Great answer. The paper was done a year and a half ago, I was just curious about the proper way to do this. Our professor was understanding that we got ourselves in over our heads and gave us an A for all the effort. $\endgroup$
    – cKrug
    Jan 27, 2015 at 13:34

Without seeing more detail of your equations, it sounds like iteration is your answer, as that's not uncommon in fluid mechanics. Make an educated guess on a density for the helium (Engineering Toolbox lists the density of helium at STP as $\rho=0.1785 kg/m^3$ and also gives an NTP density of $\rho=0.1664kg/m^3$.) Use these values as a rough starting point, or you may be able to find a resource that allows you to make more accurate determinations of density for given pressure and temperature numbers. Plug in the density values, then solve for pressure and use those pressure numbers to solve for new density values, and see what kind of error you get. Hopefully after a couple of such iterations, you'll narrow it down to a small percentage.

However, I hate to be the bearer of bad news, but you're not the first to try and figure something like this out, and it looks like your issue is always going to be terminal velocity working against you, regardless of how much initial velocity you impart to the steak. And I have a feeling that, even though Randall doesn't go much into it, if you go sufficiently fast enough to actually cook it before it slows down, you'll break the steak apart into chunks for beef stew, which probably isn't your desired result, even though they'll cook faster that way. [source needed]


I'm not sure what you mean by compressible gas since all gasses are compressible.
To answer the question, for an ideal gas (of which He is perhaps the idealist... closest to being ideal.) you can relate pressure and density by the ideal gas law.
Which I write as

$$PV = NkT $$

$P$ is pressure
$V$ is volume
$N$ is the number of atoms
$k$ is Boltzmann's constant
And $T$ is the temperature

To get density you take the mass of a helium atom, multiple by $n$ and divide by the volume.

  • $\begingroup$ "I'm not sure what you mean by compressible gas since all gasses are compressible." Low mach number gases can be approximated to be incompressible. $\endgroup$
    – Algo
    Jul 11, 2015 at 8:01

I know this is an old post, however there is a fairly simple way to determine the gas pressure required for launching things from a tube.

Assume isentropic expansion, so that the expression $\frac{p}{p_0}=\left(\frac{V_0}{V} \right)^\gamma$ holds. Here, $p_0$ and $V_0$ are the initial pressure and volume behind the projectile, $p$ and $V$ are the pressure and volume after the projectile has moved some amount, and $\gamma$ is the specific heat capacity ratio of the driver gas (air = 1.4).

Now integrate the pressure on the projectile over the volume it covers in the tube to get its kinetic energy at exit (i.e. "PV" work):

$$ KE=\frac{1}{2}mv^2 = \int_{V_0}^{V_e}p\cdot dV $$

where $m$ is projectile mass, $v$ is exit velocity, and $V_e$ is the volume of gas behind the projectile just as it's exiting. Now just substitute the isentropic equation into the integral and solve it:

$$ \frac{1}{2}mv^2 = \int_{V_0}^{V_e} p_0 \cdot \left(\frac{V_0}{V} \right)^\gamma dV $$ $$ = p_0 V_0^\gamma \int_{V_0}^{V_e} \frac{dV}{V^{\gamma}} $$ $$ = \frac{p_0 V_0^\gamma}{1-\gamma} \left( V_{e}^{1-\gamma} - V_{0}^{1-\gamma} \right) $$

Then you can just plug in values for everything else and solve for $p_0$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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