How does buoyancy work?

Basic idea

Picture in your mind a deep ocean of water. Imagine a column of the water, going from the surface down to a depth $d$. That column of water has some weight $W$. Therefore, there is a downward force of magnitude $W$ on that column of water. However, you know the column of water is not accelerating, so there must be an upward force of magnitude $W$ pushing on that column. The only thing underneath the column is more water. Therefore, the water at depth $d$ must be pushing up with force $W$. This is the essence of buoyancy. Now let's do details.


The weight $W$ of a column of water of cross-sectional area $A$ and height $d$ is

$$W(d) = A d \rho_{\text{water}}$$

where $\rho_{\text{water}}$ is the density of water. This means that the pressure of water at depth $d$ is

$$P(d) = W(d)/A = d \rho_{\text{water}}.$$

Now suppose you put an object with cross sectional area $A$ and height $h$ in the water. There are three forces on that object:

  1. $W$: The object's own weight.
  2. $F_{\text{above}}$: The force of the water above the object.
  3. $F_{\text{below}}$: The force of the water below the object.

Suppose the bottom of the object is at depth $d$. Then the top of the object is at depth $d-h$. Using our results from before, we have

$$F_{\text{below}} = P(d)A=d \rho_{\text{water}} A $$


If the object is in equilibrium, it is not accelerating, so all of the forces must balance:

$\begin{eqnarray} W + F_{\text{above}} &=& F_{\text{below}} \\ W + (d-h) \rho_{\text{water}} A &=& d \rho_{\text{water}} A \\ W &=& h A \rho_{\text{water}} \\ W &=& V \rho_{\text{water}} \end{eqnarray}$

where in the last line we defined the object's volume as $V\equiv h A$. This says that the condition for equilibrium is that the weight of the object must be equal to its volume times the density of water. In other words, the object must displace an amount of water which has the same weight as the object. This is the usual law of buoyancy.

From this description I believe you can extend to the case of air instead of water, and horizontal instead of vertical pressure gradient.

I think pressure acting on the lighter thing's surface has something to do with it, but that's about it.

This is actually the beginning and the end of the WHOLE story. This, in theory is everything you need to know about buoyancy. Let's see how this statement plays out, and how it leads to the other pieces of knowledge you have gleaned about buoyancy.

You simply imagine a free body diagram for the floating / immersed body. The only forces on it are the pressure, everywhere normal to the body's surface, and the body's weight.

The nett force on the body from the surrounding fluid is then:

$$\mathbf{F} = \int_S\,p(\mathbf{r})\, \mathbf{\hat{n}}(\mathbf{r})\,\mathrm{d} S\tag{1}$$

where we sum up the pressure forces $p(\mathbf{r})\,\mathbf{\hat{n}}(\mathbf{r})$ acting on the elements of area $\mathrm{d} S$ in the direction of the unit normal $\mathbf{\hat{n}}(\mathbf{r})$ as a function of position $\mathbf{r}$ over the interface surface $S$ between the fluid and the body. That's all there is to it. Of course, it is hard to see from (1) alone what will happen to a body steeped in fluid, so let's move on to more practical answers.

We do a little trick: it turns out that you can always assume for buoyancy problems that the surface $S$ in (1) is a closed boundary of a volume (that's even when you deal with problems like boats that, ideally, are not totally submerged and the closed boundary would at first sight seem inapplicable). We first form the inner product of $\mathbf{F}$ with an arbitrary unit vector $\mathbf{\hat{u}}$ and then, given the closed surface, we can apply the divergence theorem to (1) for the volume $V$ within the closed surface $S=\partial\,V$:

$$\langle\mathbf{F},\,\mathbf{\hat{u}}\rangle=\oint_{\partial V}\,p(\mathbf{r})\,\mathbf{\hat{u}}\cdot\mathbf{\hat{n}}(\mathbf{r})\,\mathrm{d}S=\int_V\boldsymbol{\nabla}\cdot(p(\mathbf{r})\,\mathbf{\hat{u}})\,\mathrm{d}V=\mathbf{\hat{u}}\cdot\int_V\boldsymbol{\nabla}(p(\mathbf{r}))\,\mathrm{d}V$$

which, given the unit vector $\mathbf{\hat{u}}$ is arbitrary, means:

$$\mathbf{F} = \int_V\boldsymbol{\nabla}(p(\mathbf{r}))\,\mathrm{d}V\tag{2}$$

and we are to imagine the pressure field $p(\mathbf{r})$ that would be present in the fluid within the surface if the fluid weren't being displaced by the body taking up the volume $V$. From (2) we can immediately see the second piece of knowledge that you have heard of:

balloons get their "sense of down" from a pressure differential. [bold mine]

that is, there is no nett buoyant force on the body unless the pressure $p$ varies from place to place. Otherwise, $\boldsymbol{\nabla}(p(\mathbf{r}))$ is identically nought.

If you are not fully comfortable with the divergence theorem, think of and analyze a submerged cube. In a fluid where pressure does not vary with position , the force on each face is exactly balanced by the opposite force on the opposite face. Another case that gives intuition is a sphere in a fluid with a constant pressure everywhere: the force on any point is precisely balanced by the opposite force on the antipodal point. The divergence theorem argument simply lets you infer the generalness of conclusions like this that you can make for symmetrical objects.

Now let's move on to a pressure field that will be wonted to you as a scuba diver; taking the $\mathbf{\hat{z}}$ direction as down, the pressure field within a still fluid lying on the surface of a planet of radius much greater than depths we need to consider is:

$$p(\mathbf{r}) = (p_0+\rho\,g\,z)\,\mathbf{\hat{z}}\tag{3}$$

where $\rho$ is the fluid density, $g$ the gravitational acceleration and $p_0$ the pressure at $z=0$. If we plug this into (2) we get:

$$\mathbf{F} = \rho\,g\,\mathbf{\hat{z}}\,\int_V\,\mathrm{d}V = \rho\,g\,V_f\,\mathbf{\hat{z}}\tag{4}$$

where $V_f$ is the volume of fluid displaced. This is, of course, Archimedes' principle; it holds for regions of fluid small enough that the pressure variation is a linear function of position. Although it seems to be saying the "displaced fluid pushes back" as many vague explanations of buoyancy state, but this is nonsense. The displaced fluid isn't even there: the principle is merely the results of applying mathematical tricks to translate the fundamental principle, which is embodied in the your text that I quoted in the first line of this answer and in (1) and the "displaced fluid pushback" merely a mnemonic to recall the principle.

Two further comments are in order:

  1. Firstly, note that the answer in (4) is independent of $p_0$, Therefore, if the body isn't wholly submerged (like a working boat hull), then we can simply take the intersection of the volume with the fluid to be the volume $V$; the intersection of the fluid's surface with the volume then bounds the reduced volume and the force contribution on the top face is then nought (since we can arbitrarily set $p_0=0$ without changing our results).
  2. Secondly, again, if you are uncomfortable with the divergence theorem, do the analysis for a cube with its edges vertical and horizontal as a clarifying example. Although the pressure force varies across the vertical surfaces, pressure surfaces on each vertical face are still exactly opposed by those on the opposite face. The nett force is the difference between the force on the cube's bottom and top faces, which, by (3), is the force calculated by Archimedes' principle.