Bernoulli's equation says that along a streamline in a steady, incompressible flow with no friction, static pressure plus kinetic energy per unit volume plus potential energy per unit volume stays constant: p + ½ρv² + ρgh = constant. Where a fluid speeds up, its pressure falls; where it climbs, its pressure falls too. It is conservation of energy written for a moving fluid, and Daniel Bernoulli's Hydrodynamica, published in 1738, gave the first correct analysis of the flows it describes.
This post goes one level below our tour of famous equations that changed the world. It pairs with Newton's three laws of motion, because the honest explanation of lift needs both Newton and Bernoulli, and with the ideal gas law explained, which supplies the air density every airspeed calculation below depends on. If you liked the circuit arithmetic in Ohm's law and Kirchhoff's laws, this is the same treatment for pipes, tanks, airspeed indicators and wings.
A note on numbers. The form of the equation, its restrictions and the lift discussion follow NASA Glenn Research Center's Beginner's Guide to Aeronautics. Aviation applications (the Venturi tube, the carburettor, the airspeed indicator) come from the FAA's Pilot's Handbook of Aeronautical Knowledge. Standard gravity comes from NIST's CODATA tables, water density from the NIST Chemistry WebBook, and air density at altitude from NASA's Earth atmosphere model. The history comes from the MacTutor History of Mathematics archive at the University of St Andrews and from library scans of the 1738 first edition. Figures we chose ourselves, such as a pipe's flow rate or a wing's local airspeeds, are labelled as illustrative. Every calculation was rerun with the short Python script in the walkthrough.
Key takeaways
- The equation: p + ½ρv² + ρgh is constant along a streamline. Each term is an energy per unit volume, measured in pascals (1 Pa = 1 J/m³).
- Static, dynamic and total pressure: NASA calls p the static pressure, ½ρv² the dynamic pressure and their sum the total pressure. A Pitot static tube measures the difference between total and static pressure and turns it into airspeed.
- Restrictions matter: the simple form assumes steady, incompressible, inviscid flow along one streamline, with no heat added and no pump or turbine doing work. Break one and you need a different form or a correction.
- Pair it with continuity: for an incompressible fluid the volume flow rate Q = A₁v₁ = A₂v₂ is the same at every section, so a narrower pipe means faster flow, and Bernoulli then tells you the pressure drop.
- Worked results: 3 L/s of water through a 50 mm to 25 mm reducer loses about 17.5 kPa of static pressure. A 10 mm hole 2 m below a water surface jets at 6.26 m/s. A Pitot tube reading 1,200 Pa means 86 knots at sea level but nearly 100 knots true airspeed at 3,000 m.
- Lift: NASA lists the "equal transit time" explanation as incorrect. Air over the top of a lifting wing moves much faster than equal transit predicts. Lift is correctly described both as a pressure difference (Bernoulli) and as the reaction to the wing turning the flow downward (Newton). They are two views of the same flow, not rival theories.
- Everyday tech: Venturi meters, carburettors, atomisers, building ventilation and data centre raised floors all trade pressure for speed. The US Department of Energy warns that high air velocity under a raised floor can create negative static pressure that pulls room air back into the plenum.
What does Bernoulli's equation say?
In its most quoted form, Bernoulli's equation compares two points on the same streamline, points 1 and 2:
p₁ + ½ρv₁² + ρgh₁ = p₂ + ½ρv₂² + ρgh₂
Read it as an energy budget for one cubic metre of fluid travelling along a path. The pressure term p is the work the surrounding fluid can do on that cubic metre (pressure energy, or flow work). The term ½ρv² is its kinetic energy: the familiar ½mv², with mass per cubic metre replaced by density ρ. The term ρgh is its gravitational potential energy above a reference height. As the parcel moves, energy can shift between the three accounts, but in the ideal case the total never changes.
NASA Glenn Research Center's Beginner's Guide states the version most used in aerodynamics, where height changes are negligible: the static pressure ps plus the dynamic pressure, "one half of the density rho times the velocity V squared", is equal to a constant throughout the flow, which NASA calls the total pressure pt.
pt = ps + ½ρV²
The same page lists the restrictions for that form: the flow is inviscid, incompressible, steady, without heat addition and with negligible change in height. Keep that list in mind; nearly every misuse of the equation comes from forgetting one item on it.
Three ways to write the same law
| Form | Equation | Units of each term | Where you see it |
|---|---|---|---|
| Pressure form | p + ½ρv² + ρgh = constant | pascal (J/m³) | Aerodynamics, ventilation, instrument design |
| Head form | p/(ρg) + v²/(2g) + h = constant | metre of fluid | Civil and water engineering, pump curves |
| Energy per mass | p/ρ + v²/2 + gh = constant | J/kg (m²/s²) | Thermodynamics, compressible flow derivations |
Dividing the pressure form by ρg gives "heads" measured in metres: pressure head, velocity head and elevation head. Water engineers like this form because a pressure head of 10 m means the pressure that would support a 10 m column of the same fluid, which is easy to picture. Dividing by ρ instead gives energy per kilogram, which is the form NASA uses when it derives the equation from the energy equation.
Where the equation comes from: two derivations
NASA presents two derivations, and both are worth knowing because they explain different things.
From conservation of energy. Start with the steady flow energy equation, written with total enthalpy. If no heat is added and no shaft work is done, total enthalpy is the same at both stations. Total enthalpy is internal energy plus p times specific volume plus ½V². With no heat and no work, the first law keeps the internal energy unchanged, so it cancels. Specific volume is 1/ρ, and if density is constant you can multiply through by ρ to get ps + ½ρV² = constant. The derivation shows exactly where each assumption enters: no heat, no work, no friction, constant density.
From molecules. Pressure is the momentum that randomly moving molecules deliver to a surface. When the gas flows, some of that random motion becomes ordered motion in one direction. NASA describes the pressure associated with the ordered motion as the dynamic pressure and the pressure from the remaining random motion as the static pressure; the two add up to the total pressure the gas had at rest, as long as no energy is added or removed. This view makes the Pitot tube intuitive. A hole facing the flow brings the air to rest and feels everything (total pressure). A hole in the side wall feels only the random part (static pressure).
From Newton's second law along a streamline. A third route, standard in university courses, applies F = ma to a small fluid element moving along a streamline. The pressure difference across its ends and the component of its weight along the path accelerate it. Integrating that balance along the streamline for steady, frictionless, constant density flow gives the same equation. This route shows why the result holds along a streamline: the derivation follows one particle's path. Leonhard Euler published the general equations of motion for an inviscid fluid in the 1750s, according to MacTutor, and the streamline form of Bernoulli's equation falls out of them.
Where did Bernoulli's equation come from?
The physics and the familiar formula arrived at different times. Daniel Bernoulli understood the trade between pressure and speed and used energy arguments to analyse outflow from vessels. The tidy algebraic equation in modern textbooks owes a great deal to Euler's later work. Every date below was checked against the source in the right hand column.
| Date | Event | Source |
|---|---|---|
| 1644 | Evangelista Torricelli's Opera geometrica includes De motu gravium, where he proves that the flow of liquid through an opening is proportional to the square root of the liquid's height, now called Torricelli's theorem | MacTutor, Torricelli biography |
| 8 February 1700 | Daniel Bernoulli born in Groningen, son of the mathematician Johann Bernoulli | MacTutor, Daniel Bernoulli biography |
| 1720 | Daniel studies the principle of conservation of energy with his father; MacTutor notes that his later outflow analysis was built on it | MacTutor, Daniel Bernoulli biography |
| 1734 to 1738 | Daniel revises the Hydrodynamica manuscript, which he had left with a printer before leaving St Petersburg | MacTutor, Daniel Bernoulli biography |
| 1738 | Hydrodynamica, sive de viribus et motibus fluidorum commentarii is published in Strasbourg (Argentorati) by Johann Reinhold Dulsecker | Internet Archive catalogue records of the 1738 first edition; MacTutor |
| 1750s | Leonhard Euler publishes the continuity equation and the Euler equations for an inviscid fluid; in 1752 he writes that the results of "Messrs Bernoulli, Clairaut and d'Alembert" follow naturally from his two general formulae | MacTutor, Euler biography |
| 17 March 1782 | Daniel Bernoulli dies in Basel | MacTutor, Daniel Bernoulli biography |
MacTutor credits Hydrodynamica with containing "for the first time the correct analysis of water flowing from a hole in a container", which is the problem worked in Example 2 below. According to MacTutor, chapter 10 of the same book discussed the basis for the kinetic theory of gases. That molecular picture, in which pressure is momentum delivered by moving particles, is the one NASA still uses for its second derivation, and it is the same picture behind PV = nRT.
The name stuck to the principle, and the FAA's handbook puts it in one sentence: as the velocity of a moving fluid increases, the pressure within the fluid decreases. That sentence is true along a streamline under the stated assumptions, and it is the source of most of the confusion about wings, which we come to below.
What assumptions does Bernoulli's equation need, and when does it fail?
The simple form rests on five assumptions. Each has a clear test and a clear failure mode.
| Assumption | What it means | Quick test | What breaks when it fails | What to use instead |
|---|---|---|---|---|
| Steady flow | Velocity at each point does not change with time | Is a valve opening, a pump starting, a wave passing? | Pressure surges such as water hammer are not predicted | Unsteady Bernoulli (adds a ∂φ/∂t term) or transient pipe analysis |
| Incompressible | Density is constant along the path | Liquids: almost always. Gases: is the Mach number low? | Dynamic pressure and airspeed are misread at high speed; shock waves appear above Mach 1 | Compressible (isentropic) relations; Rayleigh Pitot formula for supersonic flow |
| Inviscid | Friction is negligible | Long pipe, rough wall, many fittings, slow flow? | Real pressure drop is larger than predicted; flow separates behind bluff bodies | Extended energy equation with a head loss term (Darcy Weisbach plus fitting losses) |
| Along a streamline | Points 1 and 2 lie on the same path | Do both points sit on one particle's path? | Comparing two unrelated streams gives nonsense | Use the irrotational form (valid everywhere) only when the flow has no vorticity |
| No work, no heat | No pump, fan, turbine or heater between the points | Any machine or heat exchanger in between? | Pressure rise across a fan or loss across a turbine is missed | Add pump head or subtract turbine head; full energy equation with enthalpy |
Compressibility: how slow is slow enough?
Liquids barely compress; water at 20 °C changes density by a tiny fraction even under large pressure changes, so treat it as incompressible. Gases are different. NASA's Mach number page says that for the lowest subsonic conditions compressibility can be ignored, and that compressibility effects become important near and above Mach 1.
You can put a number on "lowest". For air treated as a perfect gas with a specific heat ratio of 1.4, the isentropic relations give the true impact pressure qc = pt − ps. Divided by the incompressible ½ρV², that ratio is about 1 + M²/4 at low Mach number. Our calculation gives:
| Mach number | True impact pressure ÷ ½ρV² | Error in airspeed if you ignore compressibility |
|---|---|---|
| 0.1 | 1.0025 | about 0.1 percent |
| 0.2 | 1.0100 | about 0.5 percent |
| 0.3 | 1.0227 | about 1.1 percent |
| 0.5 | 1.0641 | about 3.1 percent |
That is why engineers commonly treat air flows below roughly Mach 0.3 (around 100 m/s at sea level) as incompressible. A ventilation duct at 10 m/s is Mach 0.03 and the error is invisible. An airliner at Mach 0.8 needs the compressible form; NASA's Pitot tube page notes that supersonic flight creates a shock wave in front of the probe that changes the total pressure, and corrections are applied.
Friction: the energy equation with losses
Real pipes lose energy to friction. Engineers keep the Bernoulli structure and add terms:
p₁/(ρg) + v₁²/(2g) + h₁ + h_pump = p₂/(ρg) + v₂²/(2g) + h₂ + h_turbine + h_loss
The loss term grows roughly with the square of velocity in turbulent flow and is computed from pipe length, diameter, roughness and fittings. In a short, smooth reducer like Example 1, losses are small next to the velocity change, so plain Bernoulli is a good estimate. Over a 200 m pipeline, losses dominate and plain Bernoulli would mislead you badly.
Streamlines and irrotational flow
The classic form compares points on the same streamline. If the flow is also irrotational (no local spinning of fluid elements), the Bernoulli constant is the same everywhere in the flow, not only along one line. Outside the thin boundary layer, the flow around a wing in steady flight is close to irrotational, which is why aerodynamicists can compare pressures above and below the wing with a single Bernoulli constant. Inside the boundary layer, and in the wake behind a stalled wing, viscosity matters and that shortcut fails.
How does Bernoulli combine with the continuity equation?
Bernoulli's equation alone has too many unknowns. If you know the pressure and speed at section 1 and the pressure at section 2, it gives you the speed at section 2. But in a typical pipe problem you know the flow rate and the geometry, and you want the pressure. The missing piece is conservation of mass.
NASA's continuity page states it as mass flow rate equals density times velocity times area, constant through the tube:
ṁ = ρ × V × A = constant
For an incompressible fluid ρ cancels and the volume flow rate Q is constant:
Q = A₁v₁ = A₂v₂ so v₂ = v₁ × (A₁/A₂)
For round pipes, area scales with diameter squared, so halving the diameter makes the flow four times faster and the dynamic pressure sixteen times larger. That square of a square is why small changes in diameter cause large pressure swings.
The two equations together give the general recipe for a horizontal pipe:
p₁ − p₂ = ½ρ(v₂² − v₁²) = ½ρv₁²[(A₁/A₂)² − 1]
NASA also notes the limit of this picture for gases. At higher speeds density changes with velocity, so you cannot keep increasing mass flow by pushing faster; at Mach 1 in the narrowest section the flow chokes. For liquids and low speed air the incompressible recipe above holds well.
Worked example 1: water speeding up through a pipe reducer
Setup (illustrative): water at 20 °C flows at 3.0 litres per second through a horizontal pipe that steps down from 50 mm internal diameter to 25 mm. Find the speed in each section and the drop in static pressure.
Data: the NIST Chemistry WebBook gives the density of liquid water at 20 °C and 0.101 MPa as 998.21 kg/m³.
Step 1: areas. A = πd²/4.
- A₁ = π × 0.050² / 4 = 1.963 × 10⁻³ m²
- A₂ = π × 0.025² / 4 = 4.909 × 10⁻⁴ m²
Step 2: speeds from continuity. Q = 0.003 m³/s.
- v₁ = 0.003 / 1.963 × 10⁻³ = 1.528 m/s
- v₂ = 0.003 / 4.909 × 10⁻⁴ = 6.112 m/s (exactly four times v₁, as the diameter ratio predicts)
Step 3: pressure drop from Bernoulli. Height is the same, so the ρgh terms cancel.
- p₁ − p₂ = ½ × 998.21 × (6.112² − 1.528²)
- = 499.1 × (37.35 − 2.33)
- = 499.1 × 35.02 = 17,477 Pa, or about 17.5 kPa
Sanity checks. In head terms, 17.5 kPa divided by ρg is 1.79 m of water. If you attached small open tubes (piezometers) to each section, the water column above the narrow section would stand about 1.8 m lower. The dynamic pressure in the narrow section, 18.6 kPa, is still tiny next to typical mains pressure of a few hundred kilopascals, so the water will not boil or cavitate here. Raise the flow to 10 L/s and the drop grows by (10/3)², to about 194 kPa, and now cavitation can become a real concern.
Variant: the pipe also climbs 3 m. Add ρgΔh = 998.21 × 9.806 65 × 3 = 29,367 Pa. The total static pressure drop between the sections becomes 17,477 + 29,367 = 46,844 Pa, about 46.8 kPa. The elevation term is bigger than the velocity term here, which is typical of building water systems: height costs more pressure than speed does.
What friction would add. A real 25 mm section at 6 m/s loses pressure to friction along every metre. Bernoulli tells you the reversible part of the drop; a head loss calculation gives the irreversible part. If the pipe widens again downstream, the reversible part comes back as pressure recovery and the irreversible part does not.
Worked example 2: Torricelli's law for a draining tank
Setup (illustrative): an open water tank has a small round hole of 10 mm diameter in its side, 2.0 m below the water surface. The tank's horizontal cross section is 0.5 m², much larger than the hole.
Step 1: apply Bernoulli between the surface and the jet. Take point 1 on the free surface and point 2 in the jet just outside the hole. Both are at atmospheric pressure, so the p terms cancel. The surface falls so slowly compared with the jet (area ratio about 6,400 to 1) that v₁ ≈ 0. That leaves:
ρgh = ½ρv₂² so v₂ = √(2gh)
This is Torricelli's law, published in 1644, a century before Bernoulli. It says the jet leaves at the speed a stone would reach falling freely from the water surface to the hole, which is a neat check on energy conservation.
Step 2: numbers. Standard gravity is exactly 9.806 65 m/s² according to NIST's CODATA tables.
- v₂ = √(2 × 9.806 65 × 2.0) = √39.23 = 6.26 m/s
- Hole area = π × 0.010² / 4 = 7.854 × 10⁻⁵ m²
- Ideal outflow Q = 6.263 × 7.854 × 10⁻⁵ = 4.92 × 10⁻⁴ m³/s = 0.49 L/s
Step 3: real holes deliver less. The jet from a sharp edged hole contracts just after it leaves (the vena contracta) and loses a little energy to friction. Engineers fold both effects into a discharge coefficient Cd, measured for the particular geometry. For a sharp edged orifice it is commonly well below 1; with an illustrative Cd of 0.61, the outflow falls to about 0.30 L/s. A well rounded nozzle comes much closer to the ideal value. Use a measured coefficient for real design work.
Step 4: how long until the tank drains to the hole? As the level h falls, so does the jet speed. Combining Torricelli with continuity for the tank (A_tank × dh/dt = −A_hole × √(2gh)) and integrating gives:
t = (A_tank / A_hole) × √(2h₀/g)
- t = (0.5 / 7.854 × 10⁻⁵) × √(2 × 2.0 / 9.806 65)
- = 6,366 × 0.639 = 4,066 s, about 68 minutes (ideal)
Draining from 2.0 m to 0.5 m takes 34 minutes, exactly half of the total, even though it removes three quarters of the water. The tank drains fast at first and slowly at the end because the jet speed follows the square root of the remaining height. With a real Cd of 0.61, divide the outflow by 0.61 and the time rises to about 111 minutes.
Worked example 3: a Pitot static tube airspeed reading
NASA's Pitot static tube page describes the instrument used as an aircraft speedometer: a probe about 25 cm long and 1 cm in diameter with a centre hole facing the flow and small holes around the side. The centre hole feels total pressure, the side holes feel static pressure, and a transducer measures the difference, which is the dynamic pressure q. Rearranging Bernoulli gives the speed:
V = √(2(pt − ps)/ρ) = √(2q/ρ)
Setup (illustrative): the transducer reads q = 1,200 Pa.
Case A: sea level, standard day. NASA's atmosphere model gives a sea level temperature of 15.04 °C and pressure of 101.29 kPa, for a density of 1.225 kg/m³.
- V = √(2 × 1,200 / 1.225) = √1,959 = 44.3 m/s, or 86.0 knots (1 knot = 0.514 444 m/s)
- Mach number = 44.3 / 340.3 = 0.13, so the incompressible form is accurate to about 0.2 percent.
Case B: the same reading at 3,000 m. NASA's troposphere model gives T = 15.04 − 0.00649 × 3,000 = −4.43 °C and p = 101.29 × (268.67/288.08)^5.256 = 70.20 kPa. With the model's gas constant for air, density is 70.20 / (0.2869 × 268.67) = 0.911 kg/m³.
- V = √(2 × 1,200 / 0.911) = 51.3 m/s, or 99.8 knots
The probe reads the same dynamic pressure in both cases, yet the aircraft is moving 16 percent faster through the air at altitude. That is the difference the FAA's handbook draws between airspeeds. Indicated airspeed is the direct instrument reading, uncorrected for density, installation error or instrument error. Calibrated airspeed corrects installation and instrument error. True airspeed is calibrated airspeed corrected for altitude and nonstandard temperature, and the FAA notes that because air density decreases with altitude, an aircraft has to fly faster at higher altitudes to cause the same pressure difference between pitot impact pressure and static pressure.
There is a useful consequence for pilots. Lift and the airspeed indicator both depend on ½ρV². A wing that stalls at 50 knots indicated at sea level also stalls at about 50 knots indicated at 3,000 m, even though its true airspeed is higher. Bernoulli explains why the instrument reads in the currency the wing cares about.
Limits the NASA page lists. At very low speed the pressure difference is too small to measure accurately; at 2 m/s in sea level air q is only about 2.5 Pa. At supersonic speed a shock wave forms ahead of the probe and the reading needs correction. A clogged or iced probe reports wrong pressures, and NASA notes that heaters were added to airliner probes after icing problems.
Worked example 4: a Venturi flow meter
A Venturi meter is a pipe that narrows smoothly to a throat and widens slowly again. The FAA handbook describes the same shape as a practical application of Bernoulli's principle: the mass of air entering must equal the mass leaving, so speed rises at the throat and pressure falls there. Measure the pressure difference between inlet and throat and you can calculate the flow.
Setup (illustrative): water at 20 °C flows in a 100 mm pipe through a Venturi with a 50 mm throat. A differential pressure gauge reads 15.0 kPa between inlet and throat.
Step 1: combine continuity and Bernoulli. With diameter ratio β = d_throat / D_pipe = 0.5:
v_throat = √( 2Δp / (ρ(1 − β⁴)) )
Step 2: numbers.
- 1 − β⁴ = 1 − 0.0625 = 0.9375
- v_throat = √(2 × 15,000 / (998.21 × 0.9375)) = √32.06 = 5.66 m/s
- Throat area = π × 0.050² / 4 = 1.963 × 10⁻³ m²
- Q = 5.66 × 1.963 × 10⁻³ = 0.0111 m³/s, about 11.1 L/s
Step 3: correct for reality. Real meters apply a discharge coefficient close to, but below, 1 for a well made Venturi, because the gentle contraction loses very little energy. A sharp edged orifice plate works on the same principle but loses far more energy, so its coefficient is much lower and the permanent pressure loss is higher. Since flow goes as the square root of Δp, a 1 percent error in the pressure reading becomes only a 0.5 percent error in flow, which is one reason differential pressure meters have stayed popular for so long.
Worked example 5: what a pressure difference across a wing is worth
This example uses Bernoulli correctly: we start from measured or computed velocities and find pressure. Then we show what happens if you start from the equal transit assumption instead.
Setup (illustrative): a light aircraft flies at 60 m/s at sea level (ρ = 1.225 kg/m³). Suppose the average speed of the air just outside the boundary layer is 70 m/s over the upper surface and 58 m/s under the lower surface, and the wing area is 16 m².
- Pressure difference = ½ × 1.225 × (70² − 58²) = 0.6125 × 1,536 = 941 Pa
- Force = 941 × 16 = 15,053 N, which supports about 1,535 kg at standard gravity
That is a plausible lift for a four seat light aircraft. The averaging is crude, and real pressure varies strongly along the chord, but the arithmetic shows how small pressure differences over a large area add up.
Now the equal transit version. Suppose the upper surface path is 2 percent longer than the lower one and we insist that air parcels split at the leading edge rejoin at the trailing edge. Then the upper flow must be only 2 percent faster: 61.2 m/s against 60 m/s.
- Pressure difference = 0.6125 × (61.2² − 60²) = 89 Pa
- Force = 89 × 16 = 1,425 N, enough to support about 145 kg
The equal transit assumption predicts about one tenth of the lift. That matches NASA's verdict: the lift predicted by the equal transit theory "is much less than the observed lift, because the velocity is too low."
Does Bernoulli's equation explain lift?
Partly, and the honest answer has three parts: what is wrong with the popular story, what is right about Bernoulli, and why Newton belongs in the same explanation.
What NASA calls incorrect: the equal transit time theory
NASA Glenn's page on the "Longer Path" or "Equal Transit Time" theory calls it one of the most widely circulated incorrect explanations. The story says the upper surface is longer, so air going over the top must travel faster to meet the air from underneath at the trailing edge, and Bernoulli then says the faster air has lower pressure. NASA picks it apart point by point:
- Upper surfaces are not always longer. A symmetric airfoil at an angle of attack produces plenty of lift with equal path lengths, and a paper aeroplane's flat plate wing flies with identical top and bottom. NASA also notes modern low drag airfoils whose bottom surface is longer than the top.
- Aircraft fly upside down. Air show and aerobatic aircraft do it routinely, with the longer surface on the bottom.
- Air parcels do not rejoin. NASA's simulations show the flow over the top of a lifting airfoil is much faster than equal transit requires, and parcels that start together at the leading edge do not end up together at the trailing edge. The upper parcel arrives first.
- The numbers do not work. Using the equal transit speed in Bernoulli's equation gives far too little lift, as Example 5 shows.
NASA is careful to say what is correct about the theory: the upper flow is faster, Bernoulli does give lower pressure there, and the pressure difference does produce lift. The flaw is the non physical assumption used to obtain the velocity.
NASA lists other incorrect theories too. The "Skipping Stone" theory attributes all lift to air molecules bouncing off the lower surface; it ignores the upper surface, which in fact turns more of the flow, and it cannot explain spoilers. NASA notes it only becomes accurate in hypersonic, very low density conditions such as early Space Shuttle re-entry. The "Venturi" theory treats the upper surface as half of a nozzle that squeezes the flow; NASA points out that an airfoil is not a Venturi nozzle, the analysis cannot explain a flat plate, and it ignores the lower surface.
What is correct: lift as pressure and as flow turning
NASA's "What is Lift?" page gives the correct description in one line: lift occurs when a moving flow of gas is turned by a solid object, the flow is turned in one direction and lift is generated in the opposite direction, according to Newton's third law. Both surfaces contribute to the turning.
Bernoulli enters through pressure. NASA's Bernoulli page notes that the surface of an airfoil is a streamline; if you know the velocity along it, Bernoulli gives the pressure, and the static pressure integrated around the whole surface gives the total aerodynamic force, which splits into lift and drag. So the pressure description and the flow turning description are the same physics seen from two sides:
| Question | Pressure view (Bernoulli) | Momentum view (Newton) |
|---|---|---|
| What pushes the wing up? | Lower average static pressure on top than underneath | The reaction to the wing deflecting air downward (downwash) |
| What do you need to know? | The velocity field along the surface | The change of momentum of the air passing the wing |
| Where does the velocity field come from? | Neither equation alone: it comes from solving the full flow equations with the wing's shape, angle and the condition that flow leaves the sharp trailing edge smoothly | Same |
| What does it get wrong if misused? | Equal transit or Venturi assumptions give the wrong velocity | Skipping Stone ignores the upper surface |
The FAA handbook takes the same combined view. It describes the faster flow over the upper surface reducing pressure there, and also the downward backward flow from the top surface, the downwash, whose reaction pushes the wing upward and forward; it adds that positive pressure under the wing contributes too, especially at higher angles of attack.
The practical engineering form, NASA's lift equation, wraps both views into one number: L = Cl × ½ρV² × A, where Cl is a lift coefficient measured in wind tunnels or computed. Notice the dynamic pressure, ½ρV², sitting in the middle. Bernoulli does not tell you Cl, but it explains why lift scales with density and the square of speed, and why a Pitot tube reads in the right currency.
Where does Bernoulli's equation show up in everyday technology?
Carburettors
The FAA handbook describes a float type aircraft carburettor: filtered air flows through a venturi, a narrow throat that creates a low pressure area; the greater atmospheric pressure in the float chamber then forces fuel through the main jet into the airstream. The same handbook explains carburettor icing: fuel evaporation and the pressure drop in the venturi cool the air sharply, and the FAA gives a temperature drop of up to 60 to 70 °F (about 33 to 39 °C), enough to freeze moisture on a mild, humid day.
Atomisers and spray bottles
A perfume atomiser or paint spray gun blows air across the top of a thin tube dipped in liquid. The fast air's static pressure falls below the pressure on the liquid surface in the bottle, and the difference lifts liquid up the tube where the air stream breaks it into droplets. The numbers are small: air at 30 m/s has a dynamic pressure of about 540 Pa, which can lift water about 55 mm. That is plenty for a short dip tube. (Many spray bottles use a hand pump instead, which is not Bernoulli at all.)
Ventilation and wind on buildings
Wind across a roof vent or chimney cap lowers the static pressure at the outlet, which helps draw air up the flue. Wind blowing against a building raises the pressure on the windward face toward the stagnation value, ½ρV² above ambient, and lowers it on the roof and leeward faces. At 15 m/s the stagnation pressure is about 135 Pa (1.2 kg/m³ air), a meaningful push compared with the small pressure differences that drive natural ventilation, which is why designers account for wind when placing intakes and exhausts.
Data centre airflow and hot aisle pressure
Air cooled data centres move very large volumes of air through narrow spaces, and Bernoulli shows up directly. The US Department of Energy's best practices guide for data centre design describes the hot aisle and cold aisle layout, recommends sealing the aisles to stop mixing, and recommends an effective raised floor height of at least 24 inches for under floor air delivery, noting that greater clearance helps achieve a more uniform pressure distribution. It then names a Bernoulli effect explicitly: high air velocity in the under floor plenum "can create localized negative static pressure and draw room air back into the under-floor plenum", so equipment close to the cooling units can receive too little cooling air.
The arithmetic is easy to check. Air at 1.2 kg/m³ moving at 5 m/s has a dynamic pressure of 15 Pa; at 10 m/s it is 60 Pa. A raised floor works by holding a small positive static pressure under the tiles so that air rises through the perforations. Near a cooling unit's discharge, where the jet is fastest, Bernoulli says some of that static pressure has been converted into speed, so a perforated tile placed there can deliver less air than one further away, or, in the case DOE describes, even draw room air down. Deeper plenums lower the velocity for the same flow, which is the continuity equation doing the work. If you are building something smaller, our tiny home data centre guide covers the practical side of airflow in a rack; the same principle explains why blanking panels and sealed cable cut outs matter.
Other places to spot it
- Aspirator vacuum pumps in labs use a fast water jet to lower pressure and pull a modest vacuum.
- Garden hose nozzles trade pressure for jet speed; Torricelli's law gives the ideal exit speed from the supply pressure.
Quantities, symbols, SI units and typical values
| Quantity | Symbol | SI unit | Typical value or range | Source or note |
|---|---|---|---|---|
| Static pressure | p, ps | pascal (Pa = N/m²) | Standard atmosphere 101,325 Pa (exact); NASA model sea level 101.29 kPa | NIST CODATA (standard atmosphere); BIPM SI Brochure (pascal); NASA atmosphere model |
| Dynamic pressure | q = ½ρv² | Pa | 15 Pa (air, 5 m/s); 2,205 Pa (air, 60 m/s); 18.6 kPa (water, 6.1 m/s) | Calculated in this post |
| Total (stagnation) pressure | pt | Pa | ps + q | NASA Bernoulli page |
| Density | ρ | kg/m³ | Air 1.225 at sea level; water 998.21 at 20 °C | NASA atmosphere model; NIST Chemistry WebBook |
| Flow speed | v, V | m/s | Water mains 1 to 3 m/s; light aircraft 40 to 70 m/s | Illustrative |
| Height | h | m | Elevation above a chosen reference | Any consistent reference |
| Gravitational acceleration | g | m/s² | 9.806 65 (standard, exact) | NIST CODATA |
| Cross sectional area | A | m² | 25 mm pipe: 4.909 × 10⁻⁴ m² | πd²/4 |
| Volume flow rate | Q | m³/s | Household tap about 0.1 to 0.2 L/s | Illustrative |
| Mass flow rate | ṁ = ρvA | kg/s | 3 L/s of water: about 3.0 kg/s | NASA continuity page |
| Mach number | M | dimensionless | Under about 0.3 for incompressible treatment | Calculated above |
| Discharge coefficient | Cd | dimensionless | Near 1 for Venturis; much lower for sharp orifices | Measured per device |
Units are where most mistakes hide. NASA's Pitot page warns that density must be in mass per volume (kg/m³) and pressure in force per area (Pa) for the velocity formula to work. Mix kilopascals with kg/m³ and your answer is off by a factor of √1000, about 31.6.
Walkthrough: reproduce every number in Python
You can check every result in this post with a short script. Treat scientific scripts like any other software: pin the environment so the same script gives the same answer next year on another machine.
Step 1: create a clean, pinned environment
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install scipy pint
python -m pip freeze > requirements.txt
On the next machine, install exactly those versions:
python -m pip install -r requirements.txt
SciPy's constants module includes standard gravity and, according to its documentation, the 2022 CODATA recommended values, so you do not have to type them. Pint is a units library that carries units through every calculation; its tutorial shows it raising a DimensionalityError when asked to convert between incompatible units, which catches the most common Bernoulli mistake for you.
Step 2: write the calculations
Save this as bernoulli_examples.py:
import math
from scipy.constants import g # standard gravity, 9.80665 m/s^2
RHO_WATER_20C = 998.21 # kg/m^3, NIST Chemistry WebBook
RHO_AIR_SL = 1.225 # kg/m^3, NASA standard sea level
KNOT = 0.514444 # m/s
def area(d):
return math.pi * d * d / 4
# Example 1: pipe reducer
Q = 0.003
v1, v2 = Q / area(0.050), Q / area(0.025)
dp = 0.5 * RHO_WATER_20C * (v2**2 - v1**2)
print(f"Ex1 v1={v1:.3f} v2={v2:.3f} m/s, dp={dp:,.0f} Pa")
print(f"Ex1 with 3 m climb: {dp + RHO_WATER_20C * g * 3:,.0f} Pa")
# Example 2: Torricelli
h0, a_hole, a_tank = 2.0, area(0.010), 0.5
v_jet = math.sqrt(2 * g * h0)
t_drain = (a_tank / a_hole) * math.sqrt(2 * h0 / g)
print(f"Ex2 jet={v_jet:.2f} m/s, Q={v_jet * a_hole * 1000:.2f} L/s, "
f"drain={t_drain / 60:.0f} min")
# Example 3: Pitot static tube
def tas(q, rho):
return math.sqrt(2 * q / rho)
T = 15.04 - 0.00649 * 3000 # NASA troposphere model, deg C
p = 101.29 * ((T + 273.1) / 288.08) ** 5.256 # kPa
rho_3000 = p / (0.2869 * (T + 273.1))
for label, rho in (("sea level", RHO_AIR_SL), ("3000 m", rho_3000)):
v = tas(1200, rho)
print(f"Ex3 {label}: rho={rho:.3f}, V={v:.1f} m/s = {v / KNOT:.1f} kt")
# Example 4: Venturi meter
beta, dpv = 0.5, 15000
vt = math.sqrt(2 * dpv / (RHO_WATER_20C * (1 - beta**4)))
print(f"Ex4 throat={vt:.2f} m/s, Q={vt * area(0.050) * 1000:.1f} L/s")
# Example 5: wing pressure difference
for vu, vl in ((70, 58), (61.2, 60)):
dpw = 0.5 * RHO_AIR_SL * (vu**2 - vl**2)
print(f"Ex5 {vu}/{vl} m/s: dp={dpw:.0f} Pa, lift={dpw * 16:,.0f} N "
f"= {dpw * 16 / g:,.0f} kg")
# Compressibility check for the Pitot formula (air, gamma = 1.4)
for M in (0.1, 0.2, 0.3, 0.5):
ratio = ((1 + 0.2 * M * M) ** 3.5 - 1) / (0.7 * M * M)
print(f"M={M}: qc / (0.5 rho V^2) = {ratio:.4f}")
Step 3: run it and compare
python bernoulli_examples.py
Expected output, rounded:
Ex1 v1=1.528 v2=6.112 m/s, dp=17,477 Pa
Ex1 with 3 m climb: 46,844 Pa
Ex2 jet=6.26 m/s, Q=0.49 L/s, drain=68 min
Ex3 sea level: rho=1.225, V=44.3 m/s = 86.0 kt
Ex3 3000 m: rho=0.911, V=51.3 m/s = 99.8 kt
Ex4 throat=5.66 m/s, Q=11.1 L/s
Ex5 70/58 m/s: dp=941 Pa, lift=15,053 N = 1,535 kg
Ex5 61.2/60 m/s: dp=89 Pa, lift=1,425 N = 145 kg
M=0.1: qc / (0.5 rho V^2) = 1.0025
M=0.2: qc / (0.5 rho V^2) = 1.0100
M=0.3: qc / (0.5 rho V^2) = 1.0227
M=0.5: qc / (0.5 rho V^2) = 1.0641
Step 4: add unit checking with Pint
import pint
u = pint.UnitRegistry()
rho = 998.21 * u.kg / u.m**3
v1, v2 = 1.528 * u.m / u.s, 6.112 * u.m / u.s
dp = (0.5 * rho * (v2**2 - v1**2)).to(u.kPa)
print(dp) # about 17.5 kilopascal
If a height arrives as 3,000 millimetres, Pint converts it correctly when you ask for kilopascals, instead of silently giving an answer 1,000 times too large. If you ask for a pressure in metres per second by mistake, it stops with an error instead of printing a number.
Step 5: keep the script's dependencies healthy
A calculation script is software with a dependency tree. If it lives in a repository next to a monitoring service or a lab tool, scan it like the rest of your code. With the Safeguard CLI installed, safeguard scan --dir . scans the project directory, including requirements.txt, and writes JSON results under ./output.
Common mistakes
- Comparing points on different streamlines in rotational flow. Bernoulli's constant can differ between streamlines when the flow has vorticity, for example across a fan, a wake or a boundary layer.
- Using it across a pump or fan. A machine adds energy. Use the energy equation with a pump head term, or apply Bernoulli separately upstream and downstream.
- Ignoring friction in long pipes. Bernoulli gives the reversible pressure change. Over tens of metres of pipe, friction losses usually dominate.
- Treating fast gas flow as incompressible. Above roughly Mach 0.3 the error in airspeed passes 1 percent and keeps growing.
- Mixing gauge and absolute pressure. Differences work in either, but do not mix them in the same equation.
- Unit slips. Density in g/cm³, pressure in kPa, diameter in millimetres. Convert everything to SI before you start.
- Forgetting that area goes with diameter squared. Halving the diameter quadruples the speed and multiplies dynamic pressure by sixteen.
- Explaining lift with equal transit time. NASA lists it as incorrect: the predicted lift is far too low and parcels do not rejoin at the trailing edge.
- Saying "Bernoulli or Newton" about lift. Both describe the same flow. The pressure field and the downwash are two consequences of the wing turning the air.
- Reading indicated airspeed as true airspeed at altitude. The same dynamic pressure means a higher true airspeed in thinner air.
FAQ
What is Bernoulli's equation in simple terms?
Along a streamline in a smooth, steady, low speed flow, pressure plus kinetic energy per volume plus potential energy per volume stays constant. If the fluid speeds up or rises, its pressure drops by the matching amount.
What is the formula for Bernoulli's equation?
p + ½ρv² + ρgh = constant, where p is static pressure in pascals, ρ is density in kg/m³, v is speed in m/s, g is gravitational acceleration and h is height in metres. Without height changes it becomes pt = ps + ½ρV².
Who discovered Bernoulli's principle and when?
Daniel Bernoulli, in Hydrodynamica, published in Strasbourg in 1738. Torricelli had already found the square root law for outflow from a tank in 1644, and Euler's equations of fluid motion from the 1750s give the equation its modern form.
Is Bernoulli's principle a form of conservation of energy?
Yes. NASA derives it from the steady flow energy equation by assuming no heat transfer, no work, no friction and constant density. Each term is an energy per unit volume.
Does Bernoulli's principle explain how airplanes fly?
It explains part of it correctly. The air over the upper surface is faster and its pressure is lower, and the pressure difference integrated over the wing is the lift. What it cannot do on its own is tell you how fast the air goes; that comes from the full flow equations. The same lift is equally described as the reaction to the wing turning the airflow downward. The popular equal transit time explanation is wrong.
What is the difference between static, dynamic and total pressure?
Static pressure is the pressure the fluid exerts on a surface moving with it, from random molecular motion. Dynamic pressure, ½ρv², is the pressure associated with the ordered flow. Total or stagnation pressure is their sum, the pressure you would measure if the flow were brought smoothly to rest.
When can you not use Bernoulli's equation?
When the flow is unsteady (water hammer), compressible (fast gas flow), dominated by friction (long pipes, boundary layers, wakes), crosses a pump, fan or turbine, or when the two points are on different streamlines in a rotational flow.
How does a Venturi tube work?
It narrows to a throat and widens again. Continuity forces the fluid to speed up at the throat, and Bernoulli says the static pressure falls there. The pressure difference measures flow rate in a Venturi meter and draws fuel into the air in a carburettor.
What is Torricelli's law?
The speed of liquid leaving a small hole is √(2gh), where h is the depth of the hole below the free surface. It is Bernoulli's equation between the surface and the jet, both at atmospheric pressure.
What units does Bernoulli's equation use?
In SI units every term in the pressure form is in pascals, which is the same as joules per cubic metre. Use kg/m³ for density, m/s for speed, m/s² for g and metres for height. In the head form every term is in metres of the flowing fluid.
The software that runs the machines: an honest bridge
Bernoulli's equation is physics, and Safeguard does not do physics. Its models are single purpose security models for software; they do not calculate flows, size ducts, analyse aircraft or inspect hardware, and nothing in this post was computed by them. The connection is narrower and real. Airspeed data systems, building management systems, cooling controllers and data centre infrastructure dashboards that apply these equations thousands of times a second are software, and much of the code around them, the telemetry services, protocol gateways, web dashboards and analysis scripts like the one in the walkthrough, is built from open source dependencies. Where Safeguard helps is there: scanning those repositories, container images and SBOM files for known vulnerable open source components, showing which projects carry a given version, and, when a fixed version exists, opening an upgrade pull request for review.
Every rebuild of a monitoring service or analysis tool pulls its dependencies again, and the controllers and gateways around pumps, fans and cooling units ship open source components of their own. The fit is indirect for the fluid dynamics, but for the code your team builds and ships around these systems the same dependency hygiene applies, and the section below shows how to close the gap whether or not upstream has a fix yet.
Fix it without waiting for upstream
Whatever the vulnerability, most of the risk sits in two gaps. The first is the time between a fix being published and that fix actually running in your production builds. The second, and worse, is the time before any fix exists at all, while a maintainer works out a patch and a release schedule. Waiting through both gaps is a habit, not a requirement. Safeguard gives teams three ways to close them.
1. Autonomous remediation: pull requests, not tickets
When a fixed version exists, Safeguard's Griffin models open a tested, policy gated pull request that moves the affected dependency to the safe version. You can run it on one repository or in bulk across every project that carries the vulnerable version. Remediation covers eight categories, including dependencies, licenses, security posture and findings. Reachability analysis ranks the vulnerable code paths your application actually calls first, so the first pull requests you merge are the ones that matter most. Autonomous remediation ships switched off, with every category set to Manual, so your team decides how much runs on its own and what still needs a human approval.
2. Gold Open Source: the safe version in seconds, free
gold.safeguard.sh is free and needs no login. Search any CVE or package to see affected and fixed versions, CVSS, EPSS, CISA KEV status and a recommended safe version, or use the "Am I affected?" checker. The same data is available through a free read API, README status badges and RSS threat feeds. The safeguard-sh/gold-scan-action GitHub Action can fail a build on a known exploited vulnerability, on any known vulnerability, or never, so a version you have just removed cannot quietly come back in next week's merge.
3. Gold Registry: start from components that are already fixed
registry.safeguard.sh provides hardened, drop in replacements for upstream packages and container images. Every Gold artifact is held continuously to zero exploitable critical or high CVEs, zero malware and a completed license check, with SLSA L3 or higher provenance, a Sigstore signature and a public evidence page you can hand to an auditor. An artifact loses its Gold badge if it regresses. Teams can point their own package directory at the registry so hardened equivalents resolve without changing how developers install anything.
When upstream has no fix yet, or will not ship one, Safeguard first works to get the fix accepted upstream. If the issue is severe or upstream will not move, Safeguard builds a fork, fixes the vulnerability there and publishes a hardened Gold build, so you are not stuck on a maintainer's release schedule. You can also request a hardened, compatibility tested build of a specific package. This fork and patch flow is in early access today, so ask which packages it covers before you plan around it.
| Your situation | What to use |
|---|---|
| A fixed version exists | Autonomous remediation opens the upgrade pull request; Gold Open Source confirms the safe version |
| You need to know today whether you are affected | Gold Open Source lookup and "Am I affected?" checker, free and without login |
| You want vulnerable versions to stop shipping | The Gold scan GitHub Action in CI, plus Safeguard policies and gates |
| Upstream has no fix yet, or will not ship one | A custom Gold request; fork and patch (early access) |
| You want to start clean on new projects | Pull hardened components and images from Gold Registry |
One honest limit: when the vulnerable code lives in a vendor appliance, a hosted service or an operating system runtime you do not build yourself, the fix still has to come from that vendor or distribution. The steps above apply to the open source dependencies and container images you build and ship, which is where most teams carry the largest and least tracked share of their exposure.
See how Safeguard would help
None of these demos involve fluid calculations; they show the software side described in the bridge above.
The first demo is a real Safeguard CLI session: it installs the CLI, opens the interactive terminal and asks it to fix a lodash CVE in a repository. It reads the finding and advisory, asks before each command, edits package.json to lodash 4.17.21, runs npm install and npm test with approval, prints a summary and pushes nothing. The same flow applies to a cooling telemetry dashboard or a flow monitoring web app your team maintains: scan the repository, then let the assistant propose the dependency upgrade under your approval.
Click through it at your own pace, or open it full screen.
The second demo sets up the Safeguard runner on your own machine, approves it with its device code and then scans from the terminal. That suits engineering teams who keep calculation scripts, instrument integration code or lab tooling on their own hardware and want the scan to run where the code lives.
Click through it at your own pace, or open it full screen.
The third demo connects Claude to the Safeguard MCP server with OAuth and lets you choose which tools Claude can use. For an engineer who already works with Claude while writing a building monitoring service, it brings dependency findings into the same conversation, limited to the tools you allow.
Click through it at your own pace, or open it full screen.
To try it on your own repositories, download Safeguard and follow the CLI documentation.
Quick check
Water flows at 2 m/s in a horizontal pipe that narrows to half its diameter. How much does the static pressure drop?
The speed in the narrow section is 4 × 2 = 8 m/s. The drop is ½ × 998 × (64 − 4) = 29,940 Pa, about 30 kPa.
A Pitot static tube reads a dynamic pressure of 600 Pa at sea level. What is the airspeed?
V = √(2 × 600 / 1.225) = 31.3 m/s, about 61 knots. At altitude, the same reading would mean a higher true airspeed.
Why is the equal transit time explanation of lift wrong?
Air over the top of a lifting wing moves much faster than needed to rejoin the lower flow, so parcels do not meet at the trailing edge. Using the equal transit speed in Bernoulli's equation predicts far less lift than is measured, and it cannot explain symmetric wings or inverted flight.
Sources
- NASA Glenn Research Center, Bernoulli's Equation (Beginner's Guide to Aeronautics)
- NASA Glenn Research Center, Bernoulli's Equation (archived k-12 page)
- NASA Glenn Research Center, Equal Transit Theory (incorrect theory of lift)
- NASA Glenn Research Center, Skipping Stone Theory (incorrect theory of lift)
- NASA Glenn Research Center, Venturi Theory (incorrect theory of lift)
- NASA Glenn Research Center, What is Lift?
- NASA Glenn Research Center, Pitot Static Tube Speedometer
- NASA Glenn Research Center, Dynamic Pressure
- NASA Glenn Research Center, The Lift Equation
- NASA Glenn Research Center, Mass Flow Choking (continuity)
- NASA Glenn Research Center, Mach Number
- NASA Glenn Research Center, Earth Atmosphere Model (metric units)
- NASA STEM, Bernoulli's Principle educator activity
- FAA, Pilot's Handbook of Aeronautical Knowledge (FAA-H-8083-25C)
- FAA, PHAK Chapter 4: Principles of Flight (PDF)
- FAA, PHAK Chapter 7: Aircraft Systems (PDF)
- FAA, PHAK Chapter 8: Flight Instruments (PDF)
- NIST CODATA, standard acceleration of gravity
- NIST Chemistry WebBook, water isobar at 0.101325 MPa, 10 to 30 °C
- MacTutor History of Mathematics, Daniel Bernoulli
- MacTutor History of Mathematics, Evangelista Torricelli
- MacTutor History of Mathematics, Leonhard Euler
- Internet Archive, Bernoulli, Hydrodynamica (Strasbourg: Dulsecker, 1738), scan of the first edition
- SciPy documentation, Constants (scipy.constants)
- Pint documentation, Tutorial
- US Department of Energy, Best Practices Guide for Energy-Efficient Data Center Design (revised July 2024), PDF
- NIST CODATA, standard atmosphere
- BIPM, The International System of Units (SI Brochure), 9th edition (2019, updated 2026)
Last reviewed: 24 October 2026.