MATH3101
Fluid Mechanics III

Adam Townsend
Peter Wyper

Last updated 14 March 2025

0 Introduction

Welcome to Fluid Mechanics III.

Fluid mechanics is the exciting area of applied mathematics that looks at the behaviour of liquids and gases – and boy, is there a lot to look at! Fluids are pretty complicated, especially compared to rigid solids, and they are everywhere. So there are plenty of questions to ask! How does liquid flow in a pipe? Why do waves always come in parallel to the shore? How do planes fly? It is possible to give quantitative answers to such questions (as you would hope in the latter case!): this course deals with the simplest cases of fluid motion and is the foundation for more advanced study.

The good news if you struggled with dynamics in the first year is that there is very little in the way of old-school Newtonian mechanics here. Of course, we’re talking about motion, so Newton’s laws are still important, but we won’t be resolving in different directions and using curvilinear coordinates. Instead, we’ll make more arguments about conservation, and derive equations that show how various quantities remain in balance over time. These can then be solved to find expressions for useful properties we can measure, like speed and pressure.

A nice way to think about the challenges posed by fluid mechanics is to come back to \(\mathbfit{F}=m\mathbfit{a}\). This time, the \(\mathbfit{F}\) is more complicated, the \(m\) is more complicated, and the \(\mathbfit{a}\) is more complicated! Forces are more complicated because fluids can have internal forces, derived from viscosity and pressure; and external forces, such as weight. Mass is more complicated because it derives from density, and that might not be constant. And acceleration is more complicated because it depends on your frame of reference. We’ll see this all very shortly.

The course will be organised as follows:

Michaelmas term:

  1. Fluid kinematics – how to describe the motion of fluids.

  2. Dynamics of ideal fluids – equations of motion for inviscid fluids (‘not viscous’: think water) and their properties.

  3. Water waves – an important example of how to solve the (inviscid) equations of motion by making simplifying assumptions.

Epiphany term:

  1. Instability – this section aims to explain how laminar (‘not turbulent’) flows break down and turbulence is generated (modelling turbulence itself is beyond our scope!).

  2. Compressible flow – modifying the ideal equations of motion to model gases, and the origin of sound waves.

  3. Dynamics of viscous fluids – equations of motion for viscous fluids, and the dynamical consequences of viscosity.

The joy of fluid mechanics is that there are always plenty of problems to solve. In the problems classes, we will work on them in groups to consolidate our understanding of sometimes quite tricky ideas.

The most helpful mathematics you’ll need for this course is to be comfortable with vector calculus – the bit you liked in AMV. To help, check out the AMV rewind document on Ultra which recaps the essentials. This document, alongside the formula sheet, should be used for reference throughout the course.

I think you will enjoy this course.

Throughout the notes, you may see references to textbooks for further reading and exposition. These books are listed at the end of the document.

Michaelmas term

1 Kinematics of fluids

The study of fluid mechanics begins with one big assumption – namely, that a fluid is a continuous, indivisible object. This assumption, the continuum hypothesis, is of course not really true: on a tiny scale, fluids are made up of atoms and molecules. If we zoom into a fluid which we claim looks still, at an atomic level, atoms and molecules are actually whizzing around all over the place: it’s just that their average motion is zero. This average behaviour is our human experience of fluids and it’s what forms our model for a continuum.

A continuum is effectively a substance that we take arbitrarily small volumes of, without changing its properties. Our fluid continuum will be described by two properties (physicists often call these fields, but they’re just functions):

Given that density = mass/volume, what does it mean to define density \(\rho\) at a point? After all, points have no volume! The continuum hypothesis allows us to say \[\rho(\mathbfit{x},t) = \lim_{\delta V\to0}\frac{\delta M}{\delta V},\] where the mass \(\delta M\) is enclosed by the volume \(\delta V\):

image

We can think about these infinitesimal volumes \(\delta V\) as fluid elements or fluid parcels. These fluid elements, which have properties like density, move around and we can talk about points in the fluid that follow this motion as fluid particles. Although this doesn’t relate to the underlying atoms and molecules, it does allow us to use our intuition about solid particles from Dynamics I. We’ll get lots of practice thinking about fluids in this way.

In this chapter we will look at the different ways we can describe fluid motion – kinematics. Once we have that, in the next chapter, we’ll add the forces we need to find the equations that govern this motion – dynamics.

1.1 Describing fluid motion

Think about the following picture, of a fluid being pumped through a funnel at a steady rate:

image

The funnel goes inwards, so, as you expect, the water will speed up. It’s like sticking your finger over the end of a hosepipe and spraying an unfortunate family member. If we observe a specific fluid particle – say we put a drop of pink dye in the water somewhere before it hits the funnel and follow its path – then as it goes through the funnel you will see that the particle speeds up: it accelerates. And yet we’re pumping through the water at a steady rate. The problem, then, is this: how can the flow be both steady and accelerating? Surely that’s a contradiction?

The answer is that it is a matter of perspective! And there are two ways to describe the velocity, \(\mathbfit{u}\), of a fluid:

  1. The Eulerian description: Perhaps the most intuitive option is to pick a fixed point \(\color{fblue}\mathbfit{x}\) and ask for the velocity of the fluid particle that is there at time \(t\). The velocity is given by \(\mathbfit{u}=\mathbfit{u}({\color{fblue}\mathbfit{x}},t)\): ‘What is the velocity at time \(t\) of the fluid particle that is currently at \(\color{fblue}\mathbfit{x}\)?’

  2. The Lagrangian description: The other option is to pick a fluid particle at a fixed point \(\color{fpink}\mathbfit{a}\) (say the drop of pink dye), and then keep track of this particle as it moves in time. The velocity of the fluid is therefore given by \(\widetilde{\mathbfit{u}} = \widetilde{\mathbfit{u}}({\color{fpink}\mathbfit{a}},t)\): ‘What is the velocity at time \(t\) of the fluid particle that started at \(\color{fpink}\mathbfit{a}\)?’.

In other words, in Eulerian, you are a bear. In Lagrangian, you are a fish:

image

The strength of the Lagrangian description is that it allows us to use ideas from classical mechanics. Conservation properties are easy; for example, the density \(\rho = \rho(\mathbfit{a})\) is constant in time as density is conserved by each particle. But its great weakness is that this just isn’t how we think about fluids! We want to be calculating things like velocity gradients, and we can’t do this easily if we’re tracking individual particles the whole time. Overwhelmingly, then, fluid mechanics uses the Eulerian description (we are bears), and the primary variable in fluid mechanics is \(\mathbfit{u}(\mathbfit{x},t)\).

From the Eulerian perspective then, in our funnel, the flow is steady: \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} = 0\), i.e. the velocity isn’t changing at any given point. But from the Lagrangian perspective, the fluid particle is clearly accelerating. We’ll come back to our funnel in a bit when we think more about rates of change, but for now let’s see how we can visualise our fluid flow.

1.2 Visualising fluid flow

Fluids is an exciting visual field, and there are three traditional ways of describing their flows.

1.2.1 Particle paths

A particle path is the path, \(\mathbfit{x}(t)\), of a fluid particle over a given time interval. At any time \(t\), the velocity of this particle is given by the velocity field, \(\mathbfit{u}\), evaluated at the position of the particle, meaning we need to solve the vector ODE \[\begin{equation} \mathchoice{\frac{{\mathrm d}\mathbfit{x}}{{\mathrm d}t}}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}(t) = \mathbfit{u}\big(\mathbfit{x}(t),t\big), \label{particle-path} \end{equation}\] subject to some initial condition (paths have beginnings, after all!). In 3D Cartesian components, with \(\mathbfit{x} = (x,y,z)\) and \(\mathbfit{u} = (u,v,w)\), this is solving \[\mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t} = u, \quad \mathchoice{\frac{{\mathrm d}y}{{\mathrm d}t}}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t} = v, \quad \mathchoice{\frac{{\mathrm d}z}{{\mathrm d}t}}{{\mathrm d}z/{\mathrm d}t}{{\mathrm d}z/{\mathrm d}t}{{\mathrm d}z/{\mathrm d}t} = w.\]

For example, let’s find the path of a particle in the 2D flow \[\mathbfit{u}(\mathbfit{x},t) = x \widehat{\mathbfit{e}}_x- y \widehat{\mathbfit{e}}_y,\] given its position of \(\displaystyle\mathbfit{x}=\mathbfit{a}=(a,b)\) at \(t=0\).

We have to solve the ODEs \[\begin{aligned} \mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t} &= x, \quad & x(0)&=a,\\ \mathchoice{\frac{{\mathrm d}y}{{\mathrm d}t}}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t} &= -y, \quad & y(0)&=b. \end{aligned}\] Integrating gives \[\mathbfit{x}(\mathbfit{a}, t) = a\mathrm{e}^t \widehat{\mathbfit{e}}_x+ b\mathrm{e}^{-t} \widehat{\mathbfit{e}}_y.\]

image image image

Notice that here – although this isn’t always possible – we can eliminate \(t\) to show \(xy = ab\): our particle paths are hyperbolae. We still require the parametric form, however, to get the direction of the flow. Also notice also that \(\mathbfit{u}=\mathbf{0}\) at \(\mathbfit{x}=\mathbf{0}\), which is called a stagnation point.

Consider the 2D flow \[\mathbfit{u}(\mathbfit{x},t) = \widehat{\mathbfit{e}}_x- 2t\mathrm{e}^{-t^2} \widehat{\mathbfit{e}}_y.\] Show that the particle path for a particle released at \((1,1)\) at \(t=0\) can be given by \[y=\exp[-(x-1)^2].\]

The fluid particles in the example above remain in a straight line as they move inwards. We could describe this behaviour with a continuous line (rather than individual particles) that moves with the fluid. In general, a curve that threads a set of fluid particles and moves with them in time is known as a material curve or material line. By analogy, a surface that moves with the flow is known as a material surface. There is a worked example of this in Additional Problem Sheet 1.

We’re going to be using vectors a lot in this course. You must, must, must underline them (or use some other differentiating feature) in your handwritten notes. As you can see, we already have \(\mathbfit{u}\) and \(u\) and they are different.

1.2.2 Streaklines

A streakline is a curve made up of all fluid elements that have passed through a given point in the past. It’s a snapshot at a given time.

Consider smoke from a chimney where the wind initially blows west and later shifts to the east. All the smoke passes through the chimney at \(\mathbfit{a}\), so the streakline at any given time is exactly the trail of smoke. But think about smoke particles emitted at the beginning, middle and end of our story: their particle paths do not always coincide with the streakline:

image

Because they’re easy to create, streaklines are often used in experiments to visualise flow.

To determine a streakline at a particular time, we just need to find the particles that previously passed through, or were released from, some given point, \(\mathbfit{a}\). That’s the same problem as finding particle paths, but with a different initial condition: if we name the release time \(\tau\) (different for each particle), we have to solve \[\mathchoice{\frac{{\mathrm d}\mathbfit{x}}{{\mathrm d}t}}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t} = \mathbfit{u}(\mathbfit{x},t), \quad \mathbfit{x}(\tau) = \mathbfit{a}.\]

For example, let’s consider the flow \[\mathbfit{u} = \widehat{\mathbfit{e}}_x+ t \widehat{\mathbfit{e}}_y,\] and find the streakline at a fixed time, \(t_0\), of particles that have been released from \(\mathbfit{a} = (a,b)\) since \(t=0\).

We solve the ODEs \[\begin{aligned} \mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t} &= 1, \quad & x(\tau)&=a,\\ \mathchoice{\frac{{\mathrm d}y}{{\mathrm d}t}}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t} &= t, \quad & y(\tau)&=b. \end{aligned}\] Integrating, and then fixing \(t=t_0\), gives \[\begin{equation} \mathbfit{x}(\mathbfit{a}, t, \tau)\big\vert_{t=t_0} = (t_0 - \tau + a) \widehat{\mathbfit{e}}_x+ \left( \frac{t_0^2}{2}-\frac{\tau^2}{2}+b \right) \widehat{\mathbfit{e}}_y. \label{streakline-xy} \end{equation}\] Once again, to emphasise, we’re looking for the streakline at a specific time, so \(t_0\) is fixed here: streaklines are parametrised by \(\tau\), the time particles in the streakline passed through \(\mathbfit{a}\).

In some cases, we can eliminate \(\tau\) to get the explicit streakline equation at \(t_0\). The \(x\)-equation from [streakline-xy] says \(x = t_0 - \tau + a\), so we can express the \(y\)-equation as \[y = \frac{t_0^2}{2}+b-\frac{1}{2}(t_0+a-x)^2,\] which is something we can plot.

Finally, note that this is the equation for all particles that pass through \(\mathbfit{a}\): we haven’t yet used the fact that they are released between \(t=0\) and \(t_0\), i.e. \(\tau \in [0, t_0]\). This gives us, from [streakline-xy], the restriction that \(x \in [a, t_0+a]\).

If we choose our release point to be \(\mathbfit{a}=(0,0)\), the streaklines at \(t_0=1\) and \(t_0=2\) are plotted in blue below. For comparison, the dashed pink lines show the individual particle paths of two particles: one released at \(t = 0\) and another released at \(t = 1\).

image image

Consider the same 2D flow as earlier, \[\mathbfit{u}(\mathbfit{x},t) = \begin{pmatrix} 1 \\ - 2t\mathrm{e}^{-t^2} \end{pmatrix} .\] Show that the streakline at \(t=0\) for particles released from \((1,1)\) since \(t=-1\) can be given by \[y=2-\exp[-(x-1)^2], \quad x \in [1,2].\]

Key difference:

  • A particle path describes one particle over lots of time.

  • A streakline describes lots of particles at one time.

1.2.3 Streamlines

A streamline is a line parallel to the velocity vector \(\mathbfit{u}(\mathbfit{x}, t)\) at a fixed time, \(t=t_0\). It is often used as a way to visualise a snapshot of the velocity field everywhere, because you can draw a streamline through any point, \(\mathbfit{x}_0\). A streamline is a curve \(\mathbfit{x}(s)\) satisfying \[\mathchoice{\frac{{\mathrm d}\mathbfit{x}}{{\mathrm d}s}}{{\mathrm d}\mathbfit{x}/{\mathrm d}s}{{\mathrm d}\mathbfit{x}/{\mathrm d}s}{{\mathrm d}\mathbfit{x}/{\mathrm d}s} = \mathbfit{u}\bigl(\mathbfit{x}(s), t_0\bigr),\] where \(t_0\) is fixed and \(s\) is a parameter that varies along the streamline. To obtain the streamline passing through \(\mathbfit{x}_0\), we also specify the condition \(\mathbfit{x}(0) = \mathbfit{x}_0\).

For example, let’s find the streamlines at \(t=t_0\) of the velocity field \[\mathbfit{u}=\widehat{\mathbfit{e}}_x+ t\widehat{\mathbfit{e}}_y.\]

We have to solve two simultaneous ODEs (note they’re \({\mathrm d}s\), not \({\mathrm d}t\)), \[\begin{aligned} \mathchoice{\frac{{\mathrm d}x}{{\mathrm d}s}}{{\mathrm d}x/{\mathrm d}s}{{\mathrm d}x/{\mathrm d}s}{{\mathrm d}x/{\mathrm d}s} &= 1, \quad & x(0)&=x_0,\\ \mathchoice{\frac{{\mathrm d}y}{{\mathrm d}s}}{{\mathrm d}y/{\mathrm d}s}{{\mathrm d}y/{\mathrm d}s}{{\mathrm d}y/{\mathrm d}s} &= t_0, \quad & y(0)&=y_0, \end{aligned}\] where we want the streamline that passes through some given \((x_0,y_0)\). Integrating the first equation shows that \(x = s + x_0\), while the second gives \(y = t_0s + y_0\). Eliminating \(s\) shows that the streamlines are straight lines with slope \(t_0\), \[y = t_0(x-x_0) + y_0.\] Notice that the pattern of streamlines is changing over time, because this flow is unsteady (i.e. \(\mathbfit{u}\) depends on \(t\)).

If we want to find the particle paths as well, we need to solve \[\begin{aligned} \mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t} &= 1, \quad & x(0)&=a,\\ \mathchoice{\frac{{\mathrm d}y}{{\mathrm d}t}}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t}{{\mathrm d}y/{\mathrm d}t} &= t, \quad & y(0)&=b. \end{aligned}\] We have \(x=t + a\), but \(y = \tfrac12 t^2 + b\). Eliminating \(t\) we see that the particle paths are parabolas, \[y = \frac12(x-a)^2 + b.\] Below, in dashed pink, are the particle paths for 6 different starting positions. The streamlines, in green, are instantaneous tangents to any given particle path.

image image

Consider again the same 2D flow as earlier, \[\mathbfit{u}(\mathbfit{x},t) = \begin{pmatrix} 1\\ - 2t\mathrm{e}^{-t^2} \end{pmatrix} .\] Show that the streamline through \((1,1)\) at \(t=0\) is given by \(y=1\).

For steady flows, i.e. \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} = 0\), streamlines, particle paths and streaklines all coincide.

Streamlines as boundaries:

Streamlines are defined as being parallel to the velocity, which means there is no flow normal to the streamline. This condition, \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\), is known as the no normal flow condition.

Now have a think about a solid boundary (a wall!) which is impermeable to fluid flow. Well, along the boundary we must also have the no normal flow condition, so boundaries themselves are streamlines. In an inviscid (‘not viscous’) fluid, where there is no friction between the fluid and any wall, we can replace streamlines in 2D with solid boundaries, and the fluid will not know.

image

Of course, streamlines are just snapshots, and they can move in time. If a streamline moves in time then any associated wall will also have to move. We will consider inviscid fluids properly in the next chapter, but for now you can think of water as a good example.

1.3 The material derivative

Let’s go back to our funnel and our moving pink particle. We were able to say that from the Lagrangian perspective, which followed our particle, that the fluid particle is accelerating. But from the Eulerian perspective, which just looked at the velocity at every point, the velocity is constant. We therefore have to be careful when we’re talking about rates of change as to whether we are talking about change following a fluid particle or whether we’re fixing the position we’re looking at.

Suppose we have a quantity \(\alpha(\mathbfit{x},t)\): maybe something like density or temperature. How does it change in time if we fix the position? Well, in that case all we have is \[\mathchoice{\frac{{\mathrm d}\alpha}{{\mathrm d}t}}{{\mathrm d}\alpha/{\mathrm d}t}{{\mathrm d}\alpha/{\mathrm d}t}{{\mathrm d}\alpha/{\mathrm d}t} = \mathchoice{\frac{\partial\alpha}{\partial t}}{\partial\alpha/\partial t}{\partial\alpha/\partial t}{\partial\alpha/\partial t},\] since \(\mathbfit{x}\) is fixed. But how does it change if we follow a fluid particle? We know the particle path, \(\mathbfit{x}(t)\), is governed by [particle-path], so by the chain rule, \[\begin{aligned} \mathchoice{\frac{{\mathrm d}\alpha}{{\mathrm d}t}}{{\mathrm d}\alpha/{\mathrm d}t}{{\mathrm d}\alpha/{\mathrm d}t}{{\mathrm d}\alpha/{\mathrm d}t} &= \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}[\alpha(\mathbfit{x}(t),t)] \\ &= \mathchoice{\frac{\partial\alpha}{\partial t}}{\partial\alpha/\partial t}{\partial\alpha/\partial t}{\partial\alpha/\partial t}\mathchoice{\frac{{\mathrm d}t}{{\mathrm d}t}}{{\mathrm d}t/{\mathrm d}t}{{\mathrm d}t/{\mathrm d}t}{{\mathrm d}t/{\mathrm d}t} + \mathchoice{\frac{\partial\alpha}{\partial\mathbfit{x}}}{\partial\alpha/\partial\mathbfit{x}}{\partial\alpha/\partial\mathbfit{x}}{\partial\alpha/\partial\mathbfit{x}}\cdot\mathchoice{\frac{{\mathrm d}\mathbfit{x}}{{\mathrm d}t}}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t} \\ &= \mathchoice{\frac{\partial\alpha}{\partial t}}{\partial\alpha/\partial t}{\partial\alpha/\partial t}{\partial\alpha/\partial t} + \bm{\nabla}\alpha \cdot \mathchoice{\frac{{\mathrm d}\mathbfit{x}}{{\mathrm d}t}}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t}{{\mathrm d}\mathbfit{x}/{\mathrm d}t} \\ &= \left[\mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} + \mathbfit{u}\cdot\bm{\nabla}\right]\alpha. \end{aligned}\] This type of derivative is called the material derivative and you see it has two bits. The first bit is just the usual change of \(\alpha\) due to time at a fixed position; the new \((\mathbfit{u}\cdot\bm{\nabla})\alpha\) is change due to the fluid particle being carried to a new position, along the gradient of \(\alpha\). This full derivative will pop up every time we want to use classical mechanics ideas (Lagrangian) with the new Eulerian perspective: it even has the special notation \[\begin{equation} \boxed{\mathchoice{\frac{\mathrm{D} }{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t} = \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} + \mathbfit{u}\cdot\bm{\nabla}.} \label{material-derivative} \end{equation}\] If we’re in 3D Cartesian coordinates, then \[\begin{aligned} \mathchoice{\frac{\mathrm{D} }{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t} &= \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} + u \mathchoice{\frac{\partial}{\partial x}}{\partial/\partial x}{\partial/\partial x}{\partial/\partial x} + v\mathchoice{\frac{\partial}{\partial y}}{\partial/\partial y}{\partial/\partial y}{\partial/\partial y} + w\mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}. \end{aligned}\]

Key idea:

1.4 Conservation of mass

If we think again about the funnel, we know that water pumped through it speeds up as the cross-sectional area of the funnel decreases. This suggests that there is some physical law which places a restriction on the velocity of the fluid. And indeed there is, for it is time to introduce our first real law of fluid mechanics: conservation of mass.

Consider a mass \(m\) of fluid inside a fixed fluid volume \(V\) with surface \(S\). The mass is the integral of the density, \[m = \int_V \rho \, {\mathrm d}V.\] Although our volume is fixed, the mass can change as fluid particles enter and leave the volume.

image

The mass which leaves \(V\) through \(S\), per unit time, is the integral of all the mass leaving \(V\), outward through the pieces of surface \({\mathrm d}S\): \[\begin{aligned} -\mathchoice{\frac{{\mathrm d}m}{{\mathrm d}t}}{{\mathrm d}m/{\mathrm d}t}{{\mathrm d}m/{\mathrm d}t}{{\mathrm d}m/{\mathrm d}t} = -\mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_V \rho \, {\mathrm d}V &= \int_S \underbrace{\rho \underbrace{\mathbfit{u} \cdot \widehat{\mathbfit{n}}}_{\substack{\text{speed of flow}\\\text{in $\widehat{\mathbfit{n}}$-direction}}} \underbrace{{\mathrm d}S}_{\text{area}}}_{\text{flux through ${\mathrm d}S$}} \\ &= \int \rho \mathbfit{u}\cdot \,{\mathrm d}\mathbfit{S}. \end{aligned}\] Because the volume is fixed, we can differentiate under the integral sign on the left-hand side (a process also known as Leibniz’ integral rule) and use the divergence theorem on the right-hand side to get \[\begin{equation} \int_V \left[ \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \bm{\nabla}\cdot(\rho \mathbfit{u}) \right] {\mathrm d}V = 0. \label{continuity-equation-integral} \end{equation}\] Since this is true for any volume \(V\), the integrand itself must be zero. Additionally, if we use the product rule for the divergence, \[\bm{\nabla}\cdot(\rho \mathbfit{u}) = \mathbfit{u}\cdot\bm{\nabla}\rho + \rho\bm{\nabla}\cdot\mathbfit{u},\] we can see that we can write the integrand using the material derivative, [material-derivative], producing what is known as the continuity equation: \[\begin{equation} \boxed{\mathchoice{\frac{\mathrm{D} \rho}{\mathrm{D} t}}{\mathrm{D} \rho/\mathrm{D} t}{\mathrm{D} \rho/\mathrm{D} t}{\mathrm{D} \rho/\mathrm{D} t}+\rho\bm{\nabla}\cdot\mathbfit{u}=0.} \label{continuity-equation-general} \end{equation}\]

There are effectively two ways of getting to this result. Here, we fixed the volume and let the mass vary: this is the Eulerian approach. The Lagrangian approach is to fix the mass by choosing our volume to be a fluid element. Because the mass is fixed, no fluid will enter or leave the fluid element, but the shape of the element and therefore the surface will instead deform with the flow. Differentiating under the integral sign then needs handling a little differently, using the Reynolds transport theorem, but the result is the same.

Incompressibility

An approximation we can make for a large class of fluids is that the density of a fluid element doesn’t change as it moves: the flow is incompressible. This condition, \(\mathchoice{\frac{\mathrm{D} \rho}{\mathrm{D} t}}{\mathrm{D} \rho/\mathrm{D} t}{\mathrm{D} \rho/\mathrm{D} t}{\mathrm{D} \rho/\mathrm{D} t}=0\), means \[\begin{equation} \boxed{\bm{\nabla}\cdot\mathbfit{u}=0,} \label{continuity-equation} \end{equation}\] or in other words, the velocity is divergence free. Intuitively this should make some sense, as divergence is the rate of ‘stuff’ leaving or entering a region: and if you have fluid entering a region, the region is becoming more compressed. So if a flow is divergence free, this suggests that you can’t compress the fluid.

Generally speaking, incompressibility is a good approximation for most human-scale liquids. In Epiphany term, you will look at cases where compressibility matters, in particular in the most common case of a fluid compressing and expanding: sound!

Saying \(\mathchoice{\frac{\mathrm{D} \rho}{\mathrm{D} t}}{\mathrm{D} \rho/\mathrm{D} t}{\mathrm{D} \rho/\mathrm{D} t}{\mathrm{D} \rho/\mathrm{D} t}=0\) doesn’t necessarily mean that \(\rho(\mathbfit{x},t)=\text{constant}\) in space and time, although the converse is clearly true. It is possible to have a fluid which has different densities at different points but as long as individual fluid elements don’t change their density as they move, we can still call the flow incompressible. The ocean, for example, is more dense at the bottom than the top.

1.5 The stream function

If \(\mathbfit{u}\) is both incompressible and two-dimensional, then we are actually able to encode the velocity and the streamlines inside a single scalar function.

Let’s have our two-dimensional velocity \[\mathbfit{u} = \begin{pmatrix} u\\v \end{pmatrix} ,\] where \(u(x,y)\) and \(v(x,y)\), and consider the function \(\mathbfit{F}\), \[\mathbfit{F} = \begin{pmatrix} -v \\ u \end{pmatrix} .\] We’re going to show that \(\mathbfit{F}\) is a conservative vector field by showing that its integral over a closed curve is zero. If we have a closed curve \(C\) enclosing a region \(R\), then \[\begin{aligned} \oint_C \mathbfit{F} \cdot {\mathrm d}\mathbfit{x} &= \oint_C [-v \, {\mathrm d}x + u \, {\mathrm d}y]\\ &= \iint_R\left[\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} + \mathchoice{\frac{\partial v}{\partial y}}{\partial v/\partial y}{\partial v/\partial y}{\partial v/\partial y}\right]{\mathrm d}x \, {\mathrm d}y \qquad \text{by }\href{https://en.wikipedia.org/wiki/Green\%27s_theorem}{\text{Green's}\,\text{theorem}}\\ &= \iint_R \bm{\nabla}\cdot \mathbfit{u} \, {\mathrm d}x \, {\mathrm d}y\\ &= 0, \end{aligned}\] since we said that \(\mathbfit{u}\) is divergence-free.

Now, recall that conservative vector fields can always be written as the gradient of a scalar field. Therefore there exists a \(\psi = \psi(x,y)\) such that \(\bm{\nabla}\psi = \mathbfit{F}\) everywhere, or in component form, \[\boxed{\mathchoice{\frac{\partial\psi}{\partial x}}{\partial\psi/\partial x}{\partial\psi/\partial x}{\partial\psi/\partial x} = -v, \quad \mathchoice{\frac{\partial\psi}{\partial y}}{\partial\psi/\partial y}{\partial\psi/\partial y}{\partial\psi/\partial y} = u.}\] This scalar \(\psi\) can therefore encode our vector velocity and is known as the stream function. Equivalently we can write \[\mathbfit{u} = \bm{\nabla}\times(\psi\widehat{\mathbfit{e}}_z).\] If our problem were in cylindrical polar coordinates \((r,\theta,z)\), we can use the determinant form of the curl in cylindrical polars, namely \[\bm{\nabla}\times\mathbfit{A} = \frac1r \begin{vmatrix} \widehat{\mathbfit{e}}_r& r \widehat{\mathbfit{e}}_\theta& \widehat{\mathbfit{e}}_z\\[1mm] \mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} & \mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} & \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z} \\[1mm] A_r & rA_\theta & A_z \end{vmatrix},\] to say that \[\begin{aligned} \mathbfit{u} &= \frac1r \begin{vmatrix} \widehat{\mathbfit{e}}_r& r \widehat{\mathbfit{e}}_\theta& \widehat{\mathbfit{e}}_z\\[1mm] \mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} & \mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} & \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z} \\[1mm] 0 & 0 & \psi \end{vmatrix}\\ &= \frac1r \mathchoice{\frac{\partial\psi}{\partial\theta}}{\partial\psi/\partial\theta}{\partial\psi/\partial\theta}{\partial\psi/\partial\theta} \widehat{\mathbfit{e}}_r- \mathchoice{\frac{\partial\psi}{\partial r}}{\partial\psi/\partial r}{\partial\psi/\partial r}{\partial\psi/\partial r}\widehat{\mathbfit{e}}_\theta, \end{aligned}\] i.e. if \(\mathbfit{u} = u_r \widehat{\mathbfit{e}}_r+ u_\theta \widehat{\mathbfit{e}}_\theta\), \[\boxed{\mathchoice{\frac{\partial\psi}{\partial r}}{\partial\psi/\partial r}{\partial\psi/\partial r}{\partial\psi/\partial r} = -u_\theta, \quad \frac{1}{r} \mathchoice{\frac{\partial\psi}{\partial\theta}}{\partial\psi/\partial\theta}{\partial\psi/\partial\theta}{\partial\psi/\partial\theta} = u_r.}\]

There’s one more bonus feature of the stream function. Consider \(\mathbfit{u}\cdot \bm{\nabla}\psi\): \[\begin{aligned} \mathbfit{u}\cdot\bm{\nabla}\psi &= \begin{pmatrix}u\\v\end{pmatrix}\cdot\begin{pmatrix}-v\\u\end{pmatrix} = -uv+uv = 0. \end{aligned}\] What does this result mean? It means that \(\mathbfit{u}\) is perpendicular to \(\bm{\nabla}\psi\), which means \(\mathbfit{u}\) is parallel to lines of constant \(\psi\) (this is a fact about the gradient operator). This means lines \(\psi = \text{constant}\) are streamlines. This is great news for plotting streamlines!

Let’s find a stream function for the flow we first saw when defining particles paths in 1.2.1, \[\mathbfit{u} = \begin{pmatrix} x\\-y \end{pmatrix} .\] First let’s check that it’s incompressible, otherwise the exercise is meaningless. We have \[\bm{\nabla}\cdot \mathbfit{u} = \mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} + \mathchoice{\frac{\partial v}{\partial y}}{\partial v/\partial y}{\partial v/\partial y}{\partial v/\partial y} = 1 - 1 = 0,\] so that’s a good start.

To find the stream function we need to simultaneously solve \[\mathchoice{\frac{\partial\psi}{\partial x}}{\partial\psi/\partial x}{\partial\psi/\partial x}{\partial\psi/\partial x} = -v = y, \quad \mathchoice{\frac{\partial\psi}{\partial y}}{\partial\psi/\partial y}{\partial\psi/\partial y}{\partial\psi/\partial y} = u = x.\] Integrating the first equation with respect to \(x\) gives \(\psi = xy + g(y)\) for some arbitrary function \(g(y)\). Differentiating with respect to \(y\) then gives \[\mathchoice{\frac{\partial\psi}{\partial x}}{\partial\psi/\partial x}{\partial\psi/\partial x}{\partial\psi/\partial x} = y + g'(x)\] and comparing to the required equation shows that \(g'(x)=0\). Thus \(g(x) = \text{const}\) and hence \[\psi(x,y) = xy + \text{const}.\] The choice of constant doesn’t matter since \(\psi\) is only defined up to a constant: we can set it to zero.

The streamlines are then the contours of \(\psi\), which we saw already!

image

1.5.1 Stream functions to measure flux

The stream function has an additional physical interpretation. Take two points on the same streamline and draw a curve, \(C\), between them. What is the total flux through this curve?

image

We’ve seen flux already: it’s the total amount of fluid passing through the curve, \[\int_C \mathbfit{u} \cdot \widehat{\mathbfit{n}} \, {\mathrm d}s.\] No flow can pass through the streamline, because as we’ve seen already, the streamline is parallel to the velocity. So there’s only one way in and out of the region enclosed by the streamline and \(C\): by mass conservation, the total flow in through \(C\) must equal the total flow out through \(C\), i.e. \[\int_C \mathbfit{u}\cdot\widehat{\mathbfit{n}}\, {\mathrm d}s = 0.\]

So that’s the case when \(C\) goes between two points on the same streamline. Now what about a curve between two points on two different streamlines: what’s the flux through \(C\) this time? We again will calculate \(\oint \mathbfit{u}\cdot\widehat{\mathbfit{n}} \, {\mathrm d}s\) but we should first observe that flux can go in either direction through \(C\): ‘forwards’ or ‘backwards’. Whichever way we pick \(\widehat{\mathbfit{n}}\) will represent positive flux.

image

Let \(C\) be any simple curve connecting \(\mathbfit{x}_1\) to \(\mathbfit{x}_2\), with tangent vector \(\mathbfit{t}(s)\), \[\mathbfit{t} = \begin{pmatrix} t_x \\ t_y \end{pmatrix} .\] The unit normal to \(C\), may therefore be written as \[\widehat{\mathbfit{n}} = \frac{1}{|\mathbfit{t}|} \begin{pmatrix} t_y \\ -t_x \end{pmatrix} .\] This points down in the diagram, but more generally, it points clockwise relative to \(\mathbfit{x}_1\). The flux through \(C\) in this direction is \[\begin{aligned} \int_C\mathbfit{u}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}s &= \int_C \begin{pmatrix} \mathchoice{\frac{\partial\psi}{\partial y}}{\partial\psi/\partial y}{\partial\psi/\partial y}{\partial\psi/\partial y} \\ - \mathchoice{\frac{\partial\psi}{\partial x}}{\partial\psi/\partial x}{\partial\psi/\partial x}{\partial\psi/\partial x} \end{pmatrix} \cdot \frac{1}{|\mathbfit{t}|} \begin{pmatrix} t_y \\ -t_x \end{pmatrix} {\mathrm d}s\\ &= \int_C\frac{\bm{\nabla}\psi\cdot\mathbfit{t}}{|\mathbfit{t}|}\,{\mathrm d}s \\ &= \int_C\bm{\nabla}\psi\cdot{\mathrm d}\mathbfit{x} = [\psi]_C = \psi(\mathbfit{x}_2)-\psi(\mathbfit{x}_1), \end{aligned}\] which is path independent.

We can conclude: the flux (in a clockwise direction about \(\mathbfit{x}_1\)) across any line between two points \(\mathbfit{x}_1\) and \(\mathbfit{x}_2\) is given by \(\psi(\mathbfit{x}_2)-\psi(\mathbfit{x}_1)\).

This has the consequence that if streamlines are drawn at regular intervals of \(\psi\), then just like how close contours of a map represent steep slopes, closer lines represent faster flow. (Have a think why if this isn’t immediately obvious.)

Suppose we have a constant stream \(\mathbfit{u}=U\widehat{\mathbfit{e}}_x\). What is the flux between streamlines?

We can work out the stream function from the flow: \[\begin{aligned} \mathbfit{u} = U\widehat{\mathbfit{e}}_x&\implies \mathchoice{\frac{\partial\psi}{\partial y}}{\partial\psi/\partial y}{\partial\psi/\partial y}{\partial\psi/\partial y}=U, \quad \mathchoice{\frac{\partial\psi}{\partial x}}{\partial\psi/\partial x}{\partial\psi/\partial x}{\partial\psi/\partial x} = 0\\ &\implies \psi = Uy. \end{aligned}\] Streamlines are where \(\psi=\text{constant}\), i.e. \(y=\text{constant}\).

The flux between streamlines at (e.g.) \(y=1\) and \(y=2\) is therefore \[2U-U=U.\]

image

This is also obvious from the picture, since \[\begin{aligned} \text{flux} &= \text{speed}\times\text{width}\\ & = U \times 1 = U. \end{aligned}\]

Consider the stream function \(\psi = m \theta\), where \(m\) is a constant and \(-\pi < \theta \leq \pi\). If \(\mathbfit{u} = u_r \widehat{\mathbfit{e}}_r+ u_\theta \widehat{\mathbfit{e}}_\theta\), show that \[\begin{equation} \label{line-source-exercise} u_r = \frac{m}{r}, \quad u_\theta = 0. \end{equation}\] What are the streamlines? Consider two points which almost touch, one where \(\theta=\pi\), and one where \(\theta=-\pi+\varepsilon\) for very small \(\varepsilon\). Show that the flux across a curve between these two points is \(2\pi m\). (What sort of fluid flow does this system represent?)

1.6 Local analysis of the flow

To get a physical picture of fluid motion, it is useful to ask what an arbitrary flow \(\mathbfit{u}(\mathbfit{x},t)\) does to one of our small fluid elements. Does it stretch it? Shift it? Spin it? To answer this, we can compare the velocity at two nearby points \(\mathbfit{x}\) and \(\mathbfit{x} + \delta\mathbfit{x}\) in the same fluid element, \(D\). A difference in the velocity at these two points therefore means that the fluid element will deform:

image

Expanding about the (fixed) point \(\mathbfit{x}\) using Taylor’s theorem gives \[\begin{equation} \mathbfit{u}(\mathbfit{x} + \delta\mathbfit{x}, t) = \mathbfit{u}(\mathbfit{x}, t) + \mathsfbfit{J}(\mathbfit{x},t)\cdot\delta\mathbfit{x} + \mathcal{O}(|\delta\mathbfit{x}|^2), \label{eqn:taylor} \end{equation}\] where \(\mathsfbfit{J}\) is the Jacobian matrix, \[J_{ij} = \nabla_j u_i = \mathchoice{\frac{\partial u_i}{\partial x_j}}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}.\] The transpose of \(\mathsfbfit{J}\) (or sometimes, contradictingly, \(\mathsfbfit{J}\) itself) is called the velocity gradient tensor, \(\bm{\nabla}\mathbfit{u}\), where \((\bm{\nabla}\mathbfit{u})_{ij} = \nabla_i u_j\).

So the local structure of the velocity field is determined by the Jacobian. Like any matrix or rank two tensor, it may be decomposed as \[\mathsfbfit{J} = \underbrace{\frac{1}{2}\left(\mathsfbfit{J} + \mathsfbfit{J}^\mathsf{T}\right)}_{\mathsfbfit{E}} + \underbrace{\frac{1}{2}\left(\mathsfbfit{J} - \mathsfbfit{J}^\mathsf{T}\right)}_{\mathsfbfit{\Omega}},\] where \(\mathsfbfit{E}\) is a symmetric tensor (called the rate of strain tensor) and \(\mathsfbfit{\Omega}\) is an antisymmetric tensor.

The excellent fluid mechanics tradition is to print tensors of rank two and higher in sans serif bold italic: \(\mathsfbfit{A}\), \(\mathsfbfit{B}\), \(\normalsize{𝞼}\), etc. You can do your bit by double underlining your rank-two tensors in your handwriting: \(\uline{\uline{A}}\), \(\uline{\uline{B}}\), \(\uline{\uline{\sigma}}\). You’ll never be confused again.

Let’s find \(\mathsfbfit{E}\) and \(\mathsfbfit{\Omega}\) for the ‘planar shear’ flow \(\mathbfit{u}= \begin{pmatrix} y\\0 \end{pmatrix}\): \[\begin{aligned} \mathsfbfit{J} &= \begin{pmatrix} \mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} & \mathchoice{\frac{\partial u}{\partial y}}{\partial u/\partial y}{\partial u/\partial y}{\partial u/\partial y}\\[0.8ex] \mathchoice{\frac{\partial v}{\partial x}}{\partial v/\partial x}{\partial v/\partial x}{\partial v/\partial x} & \mathchoice{\frac{\partial v}{\partial y}}{\partial v/\partial y}{\partial v/\partial y}{\partial v/\partial y} \end{pmatrix} = \begin{pmatrix} 0 & 1\\ 0 & 0 \end{pmatrix},\\ \implies \mathsfbfit{E} &= \frac12 \left(\mathsfbfit{J} + \mathsfbfit{J}^\mathsf{T}\right) = \frac{1}{2}\begin{pmatrix} 0 & 1\\ 1 & 0 \end{pmatrix},\\ \mathsfbfit{\Omega} &= \frac12 \left(\mathsfbfit{J} - \mathsfbfit{J}^\mathsf{T}\right) = \frac{1}{2}\begin{pmatrix} 0 & 1\\ -1 & 0 \end{pmatrix}. \end{aligned}\]

Going back to our Taylor expansion then, [eqn:taylor], our velocity just away from our reference point \(\mathbfit{x}\), and therefore representing the deformation to \(D\), is \[\begin{align} %\DDt{}(\v{x} + \delta\v{x}) &= \mathbfit{u}(\mathbfit{x} + \delta\mathbfit{x}, t) \approx \underset{\color{C0}(\rm i)}{\mathbfit{u}(\mathbfit{x}, t)} + [\underset{\color{C1}(\rm ii)}{\mathsfbfit{E}(\mathbfit{x},t)} + \underset{\color{C2}(\rm iii)}{\mathsfbfit{\Omega}(\mathbfit{x},t)}]\cdot\delta\mathbfit{x}. \label{eqn:decompdx} \end{align}\] So there are three components:

Consider again the planar shear flow \(\mathbfit{u}= \begin{pmatrix} y\\0 \end{pmatrix}\). How does a fluid element at \(\mathbfit{x}_0 = (x_0, y_0)\) deform in this flow?

We have \[\begin{aligned} \color{C0}(\rm i)\quad && \mathbfit{u}(\mathbfit{x}_0, t) & = \begin{pmatrix} y_0 \\ 0 \end{pmatrix} \\ \color{C1}(\rm ii)\quad && \mathsfbfit{E}(\mathbfit{x}_0,t)\cdot\delta\mathbfit{x} &= \frac{1}{2} \begin{pmatrix} \delta y \\ \delta x \end{pmatrix} \\ \color{C2}(\rm iii)\quad && \mathsfbfit{\Omega}(\mathbfit{x}_0,t)\cdot\delta\mathbfit{x} &= \frac{1}{2} \begin{pmatrix} \delta y \\ - \delta x \end{pmatrix} , \end{aligned}\] and if we plot (ii) and (iii) as vector fields, we can see that the shear, \(\mathbfit{u}\), is a shift plus a combination of a squeeze and a rotation:

imageimageimage

Let’s see algebraically how we recover the same behaviour. The flow element at \((x_0,y_0)\) is:

  • Bodily advected: at a rate \(y_0\) in the \(x\)-direction,

  • Stretched and squeezed: To find the eigenvalues of \(\mathsfbfit{E}\) describing the stretching, we solve \[\det(\mathsfbfit{E}-\lambda\mathsfbfit{I}) = 0 \implies \begin{vmatrix}-\lambda & 1/2 \\ 1/2 & -\lambda\end{vmatrix} = 0 \implies \lambda_{1,2} = \pm \frac12,\] and we can work out that the normalised eigenvectors (the principal axes) are \[\widehat{\mathbfit{v}}_1 = \frac{1}{\sqrt{2}}\begin{pmatrix} 1\\ 1 \end{pmatrix}, \qquad \widehat{\mathbfit{v}}_2 = \frac{1}{\sqrt{2}}\begin{pmatrix} 1\\ -1 \end{pmatrix}.\] So locally the flow will stretch a fluid element in the \(\widehat{\mathbfit{v}}_1\) direction, and compress it in the \(\widehat{\mathbfit{v}}_2\) direction (recall the particle trajectories section). An initially circular fluid element would be deformed into an ellipse.

  • Rotated: The angular velocity for the rotation is \[\frac12\mathbfit{\omega} = \frac12\bm{\nabla}\times\mathbfit{u} = \frac12\begin{vmatrix}\widehat{\mathbfit{e}}_x&\widehat{\mathbfit{e}}_y&\widehat{\mathbfit{e}}_z\\\mathchoice{\frac{\partial}{\partial x}}{\partial/\partial x}{\partial/\partial x}{\partial/\partial x} & \mathchoice{\frac{\partial}{\partial y}}{\partial/\partial y}{\partial/\partial y}{\partial/\partial y} & \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}\\y & 0 & 0\end{vmatrix} = -\frac12\widehat{\mathbfit{e}}_z\]from which we find \(\tfrac12\mathbfit{\omega}\times\delta\mathbfit{x} = \tfrac12 ( \delta y \widehat{\mathbfit{e}}_x- \delta x \widehat{\mathbfit{e}}_y) = \mathsfbfit{\Omega}\cdot\delta\mathbfit{x}\) as expected.

Since this flow was incompressible, we must have \(\bm{\nabla}\cdot\mathbfit{u} = \operatorname{tr}(\mathsfbfit{E}) = \lambda_1 + \lambda_2 = 0\). This means we must have one positive and one negative eigenvalue (at least): i.e. in an incompressible flow with rate of strain, the flow must be squeezed in one direction and stretched in another other.

The decomposition, [eqn:decompdx], is the fluid version of rigid body dynamics, where the motion of a body is described by translation and rotation. In fluids, we need a third term for stretching/compression.

The fact that the shear, which is a purely horizontal motion, consists of a squeeze and a rotation is perhaps a surprise. Where exactly is this rotation? To answer this, we dive into the quantity we introduced above, the vorticity

1.7 Vorticity and circulation

1.7.1 Vorticity

We have just seen the introduction of the vorticity, \[\mathbfit{\omega} = \bm{\nabla}\times\mathbfit{u}.\] Since it is twice the angular velocity of the fluid element, it is a measure of local rotation: how the fluid is swirling at each point in space. Flows where \(\bm{\nabla}\times\mathbfit{u}=\mathbf{0}\) everywhere are called irrotational.

Let’s calculate the vorticity for \[\mathbfit{u}(\mathbfit{x}) = -ky \widehat{\mathbfit{e}}_x+ kx \widehat{\mathbfit{e}}_y.\] (You might recognise this as a rigid body anticlockwise rotation, \(\mathbfit{u}=kr\widehat{\mathbfit{e}}_\theta\).)

image

The vorticity is \[\mathbfit{\omega}(\mathbfit{x}) = \bm{\nabla}\times\mathbfit{u} = 2k\widehat{\mathbfit{e}}_z.\]

So we have a rotating flow, and we have vorticity. But these do not necessarily coincide! We have to be careful not to judge vorticity – which is local rotation at every point – based on ‘overall’ rotation vibes. Here are a couple of illustrative examples:

In our shear flow example, \[\mathbfit{u}(\mathbfit{x}) = y \widehat{\mathbfit{e}}_x,\] we saw the vorticity was \[\mathbfit{\omega}(\mathbfit{x}) = \bm{\nabla}\times\mathbfit{u} = -\widehat{\mathbfit{e}}_z,\] which is not zero. Fluid elements in the shear flow are rotating even though the velocity of each fluid particle is purely in a straight line!

The way to picture vorticity is to think of little paper windmills thrown into the flow:

image

If the windmills rotate, there is vorticity. In this case, the flow above each windmill in the top half-plane is faster than the flow beneath it, so naturally the windmills rotate clockwise.

Now consider a slightly different version of our first example, the so-called line vortex, \[\mathbfit{u} = \frac{k}{r}\widehat{\mathbfit{e}}_\theta\] in cylindrical coordinates \((r,\theta,z)\). The flow is spinning very fast close to the \(z\)-axis, and then the velocity is slower the further out we go: this is not the solid body rotation from earlier.

image

Away from \(r=0\) we have \[\mathbfit{\omega} = \bm{\nabla}\times\mathbfit{u} = \frac1r \begin{vmatrix} \widehat{\mathbfit{e}}_r& r \widehat{\mathbfit{e}}_\theta& \widehat{\mathbfit{e}}_z\\[0.5ex] \mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} & \mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} & \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}\\[0.5ex] u_r & r u_\theta & u_z \end{vmatrix} = \frac1r \begin{vmatrix} \widehat{\mathbfit{e}}_r& r \widehat{\mathbfit{e}}_\theta& \widehat{\mathbfit{e}}_z\\[0.5ex] \mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} & \mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} & \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}\\[0.5ex] 0 & k & 0 \end{vmatrix} = \mathbf{0}.\] So a line vortex has no vorticity, apart from at \(r=0\) where the vorticity is infinite. Even though the fluid is rotating around the \(z\)-axis, the fluid elements themselves at each \(\mathbfit{x}\) are not rotating around \(\mathbfit{x}\).

We can sort of see this with our windmills,

image

where essentially the high speed on the inside of the windmills is offset by the large amount of slow speed on the outside of the windmills, so they don’t spin. The best demonstration though, is the video on the Wikipedia article for vorticity.

The line vortex’s property of ‘high spin near the centre, not much spin away from the centre’ makes it a simple model for tornadoes, whirlpools and slightly more mundane things like emptying a bath. We will demonstrate the destructive power of tornadoes shortly when we prove an important result about vorticity conservation.

In Problem Sheet 1, you will see a way of removing the line vortex’s problematic singularity at \(r=0\) by replacing the flow near the \(z\)-axis by a solid body rotation: this creates a so-called Rankine vortex.

1.7.2 Circulation

These curious examples highlight that vorticity is local. If we want to quantify ‘how much rotation’ there is inside a region, vorticity alone is the wrong measurement. We need circulation.

Let \(C\) be a simple, smooth, closed curve in the fluid. Then the circulation around \(C\) is \[\begin{equation} \mathit{\Gamma} = \oint_C \mathbfit{u}\cdot{\mathrm d}\mathbfit{x}, \label{circulation-line-integral} \end{equation}\] that is, it counts how much \(\mathbfit{u}\) is in the direction of the curve, as we go around the curve.

image image
lots of circulation no circulation

If \(S\) denotes a surface spanning \(C\) (with its normal pointing to match the right-hand rule on \(C\)) then Stokes’ theorem gives \[\begin{align} \mathit{\Gamma} = \oint_C \mathbfit{u}\cdot{\mathrm d}\mathbfit{x}& = \int_S\bm{\nabla}\times\mathbfit{u}\cdot{\mathrm d}\mathbfit{S}\\& = \int_S\mathbfit{\omega}\cdot{\mathrm d}\mathbfit{S}. \label{circulation-surface-integral} \end{align}\] So the circulation is a measure of the overall rotation of the fluid in a certain region.

Let’s go back to our line vortex, where \[\mathbfit{u}=\frac{k}{r}\widehat{\mathbfit{e}}_\theta.\] Let’s calculate the circulation here. Our first instinct might be to use the surface integral we just introduced, [circulation-surface-integral], but perhaps it’s not clear yet how to deal with an \(\mathbfit{\omega}\) which is zero everywhere apart from at the origin.

Instead let’s first use the line integral, [circulation-line-integral]. Let’s suppose \(C\) is the circle \(r=R\). In polar coordinates, \({\mathrm d}\mathbfit{x} = {\mathrm d}r \, \widehat{\mathbfit{e}}_r+ r \, {\mathrm d}\theta \, \widehat{\mathbfit{e}}_\theta+ {\mathrm d}z \, \widehat{\mathbfit{e}}_z\) in general, so \[\begin{aligned} \mathit{\Gamma} = \oint_C \mathbfit{u}\cdot{\mathrm d}\mathbfit{x} &= \oint_C \frac{k}{r}\widehat{\mathbfit{e}}_\theta\cdot({\mathrm d}r \, \widehat{\mathbfit{e}}_r+ r \, {\mathrm d}\theta \, \widehat{\mathbfit{e}}_\theta+ {\mathrm d}z \, \widehat{\mathbfit{e}}_z)\\ \end{aligned}\]and for the circle of radius \(R\) specifically,\[\begin{align} & = \int_0^{2\pi}\frac{k}{R}R\,{\mathrm d}\theta = 2\pi k. \label{circulation-result} \end{align}\] This is independent of \(R\) which suggests that all the circulation is generated at the origin. We call \(\mathit{\Gamma}\) the ‘strength’ of the line vortex.

Notice how there is a non-zero circulation around \(C\) even though \(\mathbfit{\omega}=\mathbf{0}\) at every point both on \(C\) and inside \(C\), except for the origin. We can conclude that the singularity in \(\mathbfit{\omega}\) must therefore take the form of a Dirac delta function. Recall from AMV that the two-dimensional delta function \(\delta(\mathbfit{x})\) is a generalised function (a distribution) that vanishes everywhere except at \(\mathbfit{x}=\mathbf{0}\) and satisfies \[\begin{equation} \int_{\mathbb{R}^2} \delta(\mathbfit{x})\,{\mathrm d}\mathbfit{x} = 1 \quad \iff \quad \int_0^\infty\int_0^{2\pi}\delta(r,\theta)\,r\,{\mathrm d}r\,{\mathrm d}\theta = 1. \label{delta-function} \end{equation}\] We found that the circulation around our circle is independent of its radius, \(R\), so let’s take \(R\to\infty\) to calculate the circulation in the whole plane. For the line vortex, we have from [circulation-surface-integral], \[\begin{aligned} \mathit{\Gamma} = \int_S \mathbfit{\omega}\cdot{\mathrm d}\mathbfit{S} &= \int_S \mathbfit{\omega}\cdot \widehat{\mathbfit{n}} \, {\mathrm d}S \\ &= \int_0^\infty\int_0^{2\pi}\omega_z(r,\theta)\,r\,{\mathrm d}r\,{\mathrm d}\theta, \end{aligned}\] which has to equal the constant \(2\pi k\) from [circulation-result]. Comparing with [delta-function], we see we can write the vorticity of the line vortex as \[\begin{equation} \label{line-vortex-vorticity} \mathbfit{\omega} = 2\pi k\delta(r)\widehat{\mathbfit{e}}_z. \end{equation}\]

Although we might think this singularity is nasty, actually it’s quite neat: we have seen that we can represent a circulation over a whole region by a single delta function – a line vortex. We will see shortly that there are other types of singularities – those representing sources and sinks – and we can build interesting flows from them.

1.7.3 Vortex tubes

The line vortex is a pretty good model of real-life vortices if we zoom out a bit, since it is capable of producing lots of circulation, and typically most vorticity is near the centre of a real-life vortex anyway. But up close, ‘near’ can still be quite large: real-life vortices like tornadoes or whirlpools really do have vorticity within a reasonable distance of the centre. In tornadoes, this high-vorticity area coincides (due to a pressure drop and subsequent condensation) with the cloud you can see:

image

And of course, it would ultimately be very strange if all real-world rotating flows happened to be described by the line vortex’s velocity, \(\mathbfit{u}=(k/r)\widehat{\mathbfit{e}}_\theta\). We’ve already seen that commonplace rigid body rotation is described by a different equation, \(\mathbfit{u} = kr\widehat{\mathbfit{e}}_\theta\).

We can learn more by instead considering our vortex to have thickness. We can draw a curve in the fluid, like we did for circulation earlier, and ask how the circulation inside it is conserved throughout the flow.

So let’s take that curve, and again consider the vorticity at each point. But this time, we draw a line parallel to the vorticity at each point on the curve: just like how we defined streamlines as being parallel to velocity, but this time the lines are parallel to vorticity instead. If we consider our rigid body planar flow from before, for example, where \(\mathbfit{\omega}(\mathbfit{x})=2k\widehat{\mathbfit{e}}_z\), we get the world’s worst birthday cake:

image

We can keep drawing these lines, making them longer so that as we follow them, they are always parallel to \(\mathbfit{\omega}(\mathbfit{x},t)\) at every \(\mathbfit{x}\) at a fixed time: again, exactly like streamlines but this time for vorticity. These lines are called vortex lines – not to be confused with the line vortex we saw earlier – or sometimes vortex filaments. Taking the bundle of lines that go through \(C\), we end up with a wall of lines called a vortex tube.

What might one of these look like for a 3D flow?

Consider the rigid body planar rotation from earlier, but this time in 3D scaled by \(z\), \[\mathbfit{u}(\mathbfit{x}) = zr\widehat{\mathbfit{e}}_\theta.\] The higher you go, the faster you spin. The vorticity is \[\mathbfit{\omega} = \frac1r \begin{vmatrix} \widehat{\mathbfit{e}}_r& r \widehat{\mathbfit{e}}_\theta& \widehat{\mathbfit{e}}_z\\ \mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} & \mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} & \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z} \\ 0 & zr^2 & 0 \end{vmatrix} = -r \widehat{\mathbfit{e}}_r+ 2z \widehat{\mathbfit{e}}_z.\] Drawing a curve \(C\) at the bottom and following our vortex lines, our vortex tube is:

image

The circulation around our original \(C\) turns out to be the same for all closed curves \(C\) around the tube, allowing us to define the vortex tube’s strength by this circulation, \(\mathit{\Gamma}\).

To confirm this, let’s pick two closed curves, \(C_1\) and \(C_2\), around the same vortex tube:

image

Labelling the surfaces at the ends of the tube \(S_1\) and \(S_2\), and the tubular surface by \(S_3\), then we can consider the difference between the two circulations \[\begin{aligned} \mathit{\Gamma}_2 - \mathit{\Gamma}_1 &= \int_{S_2}\mathbfit{\omega}\cdot{\mathrm d}\mathbfit{S} - \int_{S_1}\mathbfit{\omega}\cdot{\mathrm d}\mathbfit{S} \\ &= \int_{S_2}\mathbfit{\omega}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}{S} + \int_{S_1}\mathbfit{\omega}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}S \quad \text{because we want $\widehat{\mathbfit{n}}$ to point outward}\\ &= \int_{S_2}\mathbfit{\omega}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}{S} + \int_{S_1}\mathbfit{\omega}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}S + \int_{S_3}\underbrace{\mathbfit{\omega}\cdot\widehat{\mathbfit{n}}}_{=0}{\mathrm d}S \quad \text{because $\widehat{\mathbfit{n}} \perp \mathbfit{\omega}$ on $S_3$}\\ &= \int_{S_1+S_2+S_3}\mathbfit{\omega}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}{S}\\ &= \int_V \bm{\nabla}\cdot\mathbfit{\omega} \, {\mathrm d}V \qquad \text{by the divergence theorem}\\ &= 0 \qquad \text{because $\bm{\nabla}\cdot\mathbfit{\omega}\equiv0$ always.} \end{aligned}\] So the two arbitrarily-chosen circulations are the same, and hence the strength of the vortex tube is well defined.

We’ve used the fact that vorticity is divergence-free here: you can convince yourself this is true since \[\bm{\nabla}\cdot\mathbfit{\omega} = \bm{\nabla}\cdot(\bm{\nabla}\times\mathbfit{u}) \equiv 0,\] using the ‘div curl = 0’ identity at the end there, which Wikipedia reminds us is ‘a special case of the vanishing of the square of the exterior derivative in the De Rham chain complex’ (obviously).

This result was first proven in 1858 by Hermann von Helmholtz when he introduced ‘vortex filaments’. The paper is 30 pages long, we’ve done it in a few lines. Well done us.

Interesting consequences

The fact that vortex tubes have a conserved strength means that when a tube narrows, the vorticity inside must increase. This is known as vortex stretching and should be fairly intuitive from what you know about tornadoes.

Speaking of tornadoes, this result also implies that vortex tubes can’t just end in the middle of a domain: the strength would somehow have to disappear! Instead, vortex tubes either have to travel until they hit the end of a domain, like a tornado touching the Earth, or else they form beautiful rings. A terrific example of a vortex tube forming a ring is a smoke ring, like the one emitted from Mt Etna below, or the bubble ring emitted by the beluga whale on the right (did she do it on porpoise?).

image image

1.7.4 Flow reconstruction

This small section is provided in 2024–25 for your own interest.

As vortex rings demonstrate, it can often be easier to think about fluid flow in terms of the vorticity structures present rather than the flow itself. This leads us to wonder: if we prescribe \(\mathbfit{\omega}\), can we always recover \(\mathbfit{u}\)?

If the fluid is incompressible, \(\bm{\nabla}\cdot\mathbfit{u}=0\), then there exists a vector function \(\mathbfit{A}\) such that \[\mathbfit{u} = \bm{\nabla}\times\mathbfit{A}.\] This is like what we did when we derived the stream function (there, \(\mathbfit{A}\) was \(\psi \widehat{\mathbfit{e}}_z\)). The vorticity is therefore \[\mathbfit{\omega} = \bm{\nabla}\times\mathbfit{u} = -{\nabla^2}\mathbfit{A},\] which is Poisson’s equation for each component of the vector equation. If you’re taking PDEs, you’ll see that we can solve this by using the Green’s function, which gives us \[\mathbfit{A} = \frac{1}{4\pi}\int_{V} \frac{\mathbfit{\omega}(\mathbfit{x}')}{|\mathbfit{x}-\mathbfit{x}'|} {\mathrm d}V',\] and so the velocity is \[\mathbfit{u} = \bm{\nabla}\times \mathbfit{A} = \frac{1}{4\pi}\int_V \frac{\mathbfit{\omega}(\mathbfit{x}')\times(\mathbfit{x}-\mathbfit{x}')}{|\mathbfit{x}-\mathbfit{x}'|^3}{\mathrm d}V' =:\mathbfit{u}_v,\] where we have been able to happily bring the curl inside the integral because \(\bm{\nabla}\) is \({\mathrm d}\mathbfit{x}\), whereas the integral is \({\mathrm d}\mathbfit{x}'\).

This looks good – problem solved? Ah, but wait! Notice that \[\mathbfit{u} \quad \text{and} \quad \mathbfit{u} + \bm{\nabla}\phi,\] for some \(\phi\), have the same curl, since \[\bm{\nabla}\times\bm{\nabla}\phi \equiv 0 \quad \text{for all }\phi.\] This additional component, \(\bm{\nabla}\phi\), is called a potential flow with its defining characteristic being that it has no vorticity. We will take a look at potential flows properly in the next section.

The general solution is therefore \[\mathbfit{u} = \bm{\nabla}\phi + \mathbfit{u}_v.\] This is the Biot–Savart law. Where \(\mathbfit{u}_v\) carries the vorticity information, \(\phi\)’s job is to sort the boundary conditions. Setting the boundary conditions in your problem will set the conditions on \(\phi\), which solve the problem uniquely.

1.8 Potential flows

We saw earlier that if a flow has no vorticity anywhere, then it can be called irrotational. This doesn’t mean there is no rotation in the flow – recall the line vortex – but this turns out to be a special case which is remarkably useful. Irrotational means \[\bm{\nabla}\times \mathbfit{u} = \mathbf{0},\] which we saw when introducing the stream function means that \(\mathbfit{u}\) is a conservative vector field. Conservative vector fields can be written as the gradient of a scalar field, so therefore there exists a \(\phi = \phi(\mathbfit{x},t)\) such that \[\mathbfit{u} = \bm{\nabla}\phi.\] This scalar \(\phi\) can encode our vector velocity and is known as the velocity potential.

At this point, you might be wondering what the velocity potential does that the stream function doesn’t, since both are scalars where you can recover the velocity by differentiation. But recall that the stream function required (i) incompressibility and (ii) 2D flow. The potential has a different condition, (i) irrotationality, and (ii) works in 2D and 3D.

Incompressibility, however, continues to be a good condition for interesting problems and if we also require this, \(\bm{\nabla}\cdot\mathbfit{u}=0\), then \[\bm{\nabla}\cdot\mathbfit{u} = \bm{\nabla}\cdot\bm{\nabla}\phi = {\nabla^2}\phi = 0,\] which is Laplace’s equation.

So incompressible, irrotational flows can be solved by ‘simply’ solving Laplace’s equation with appropriate boundary conditions on \(\phi\) (or conditions at infinity). Such flows are called potential flows.

Show that, given a 2D flow, the stream function \(\psi\) also satisfies Laplace’s equation. (But in general, note that the boundary conditions on \(\psi\) will be different to \(\phi\).)

The lovely thing about potential flows is that Laplace’s equation is linear. So if we have one solution to Laplace’s equation, we can add it to another, and get another valid solution. This principle, that of superposition, allows us to build flows, and is what we alluded to earlier in 1.7.2.

You might have noticed that, in 2D, given \[u = \mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x}, \quad v = \mathchoice{\frac{\partial\phi}{\partial y}}{\partial\phi/\partial y}{\partial\phi/\partial y}{\partial\phi/\partial y},\] that \[\begin{aligned} u &= \mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x} = \mathchoice{\frac{\partial\psi}{\partial y}}{\partial\psi/\partial y}{\partial\psi/\partial y}{\partial\psi/\partial y} \\ v &= \mathchoice{\frac{\partial\phi}{\partial y}}{\partial\phi/\partial y}{\partial\phi/\partial y}{\partial\phi/\partial y} = -\mathchoice{\frac{\partial\psi}{\partial x}}{\partial\psi/\partial x}{\partial\psi/\partial x}{\partial\psi/\partial x}. \end{aligned}\] Do these equations look familiar? If so, it’s because \(\phi\) and \(\psi\) satisfy the Cauchy–Riemann equations from complex analysis. It is possible to consider all the analysis here (for 2D flows) using a complex potential \(w = \phi + \mathrm{i}\psi\), although we won’t since complex analysis is not a prerequisite for this course. It is very neat, though.

What might these boundary conditions look like? On a stationary solid wall, we once again want no normal flow, \[\mathbfit{u}\cdot\widehat{\mathbfit{n}} = 0.\] But if we have a solid body which is moving with velocity \(\mathbfit{U}\), then we want the velocity of the fluid at the surface of the body to match the velocity of the body, \[\mathbfit{u}\cdot\widehat{\mathbfit{n}} = \mathbfit{U}\cdot\widehat{\mathbfit{n}}.\] Since \(\mathbfit{u}=\bm{\nabla}\phi\), \[\bm{\nabla}\phi\cdot\widehat{\mathbfit{n}} = \mathbfit{U}\cdot\widehat{\mathbfit{n}},\] i.e. the velocity potential satifies Neumann boundary conditions along the surface of the solid body.

We said we can build flows from solutions, so what are they?

1.8.1 Solutions to Laplace’s equation

So long as we have compatible boundary conditions, we can solve Laplace’s equation using separation of variables. This is true for all dimensions and for any coordinate system, but we’re going to look at 2D polar coordinates. Then, if \(\phi(r,\theta)=R(r)\mathit{\Theta}(\theta)\), \[\begin{aligned} {\nabla^2}\phi = \frac{1}{r}\mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r}\left(r \mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}\right) + \frac{1}{r^2}\mathchoice{\frac{\partial^2 \phi}{\partial\theta^2}}{\partial^2 \phi/\partial\theta^2}{\partial^2 \phi/\partial\theta^2}{\partial^2 \phi/\partial\theta^2} &= 0 \\ \implies \frac{\mathit{\Theta}}{r}\mathchoice{\frac{{\mathrm d}}{{\mathrm d}r}}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}\left(r \mathchoice{\frac{{\mathrm d}R}{{\mathrm d}r}}{{\mathrm d}R/{\mathrm d}r}{{\mathrm d}R/{\mathrm d}r}{{\mathrm d}R/{\mathrm d}r}\right) + \frac{R}{r^2}\mathchoice{\frac{{\mathrm d}^2 \mathit{\Theta}}{{\mathrm d}\theta^2}}{{\mathrm d}^2 \mathit{\Theta}/{\mathrm d}\theta^2}{{\mathrm d}^2 \mathit{\Theta}/{\mathrm d}\theta^2}{{\mathrm d}^2 \mathit{\Theta}/{\mathrm d}\theta^2} &= 0 \\ \implies \frac{r}{R}\left(r R'\right)' &= -\frac{\mathit{\Theta}''}{\mathit{\Theta}}. \end{aligned}\] The key idea is that the left-hand side is a function of \(r\) only, and the right-hand side is a function of \(\theta\) only. So if we fix some \(r\) and vary \(\theta\), the right-hand side can’t change (because \(r\) is fixed), and vice-versa. This implies the equation is equal to a constant, \(\lambda\): \[\frac{r}{R}\left(r R' \right)' = -\frac{\mathit{\Theta}''}{\mathit{\Theta}} = \lambda.\] You’ll remember from Calculus I that the solutions to this equation depend on whether \(\lambda\) is positive, zero or negative.

Case I, \(\lambda>0\):

If we say \(\lambda=\alpha^2 > 0\), the problem for \(\mathit{\Theta}(\theta)\) is \[-\frac{\mathit{\Theta}''}{\mathit{\Theta}} = \alpha^2 \implies \mathit{\Theta}''+\alpha^2 \mathit{\Theta} = 0.\] Which is, of course, simple harmonic motion: \[\mathit{\Theta}(\theta) = C \cos(\alpha\theta) + D \sin(\alpha\theta).\]

The velocity should be \(2\pi\)-periodic, i.e. \(\mathbfit{u}(\theta) = \mathbfit{u}(\theta+2\pi)\), since adding \(2\pi\) to the polar angle represents the same place in the fluid! This translates as needing \(\mathit{\Theta}\) to be \(2\pi\)-periodic and so here we need \(\alpha\) to be an integer: \(\alpha=n\).

Meanwhile, the \(R\) equation is \[\frac{r}{R}\left(r R'\right)' = n^2.\] Expanded, this is \[r^2 R'' + r R' - n^2 R = 0.\] This is a Cauchy–Euler type second-order ODE (another friend from Calc I), and if we substitute in \(R=ar^m\) then \[[m(m-1)+m- n^2]ar^m = 0 \implies m^2 = n^2 \implies m = \pm n.\] So \[R(r) = Ar^n + Br^{-n}.\]

Case II, \(\lambda=0\):

In this case, our \(\mathit{\Theta}\) equation is \[\mathit{\Theta}'' = 0 \implies \mathit{\Theta}(\theta) = C_0\theta + D_0,\] and our \(R\) equation is \[rR' = A_0 \implies R' = \frac{A_0}{r} \implies R(r) = A_0 \log r + B_0.\] You might have noticed, hang on, \(\mathit{\Theta}\) doesn’t look very \(2\pi\)-periodic here: doesn’t \(C_0\) have to be zero? This is an interesting subtlety that only appears in 2D, and relates to a valid flow where we allow a jump in \(\theta\), which we have in fact already seen (revealed in the next section!). Given, as said, we want \(\mathbfit{u}\) to be periodic, this specifically means we want both components of \[\mathbfit{u}=\bm{\nabla}\phi = \mathit{\Theta} R' \widehat{\mathbfit{e}}_r+ \frac{1}{r}R\mathit{\Theta}' \widehat{\mathbfit{e}}_\theta\] to be periodic. The second term is sorted since \(\mathit{\Theta}'=C_0\) is clearly periodic as it’s a constant. In the first term, we can get away with a non-periodic \(\mathit{\Theta}\) if \(R'=0\). In other words, either \(A_0\) or \(C_0\) have to be zero.

Case III, \(\lambda < 0\):

You can show for yourself that the ‘\(\mathit{\Theta}'\) is periodic’ condition fails here.

The general solution to Laplace’s equation is therefore \[\begin{equation} \label{laplace-solution} \phi(r,\theta) = (A_0\log r + B_0)(C_0\theta + D_0 ) + \sum_{n=1}^\infty (A_nr^n + B_nr^{-n})(C_n\cos n\theta+D_n\sin n\theta). \end{equation}\] So anything that fits this mould is a valid incompressible, irrotational flow. Let’s meet the team.

1.8.2 Main characters of potential flow

Line sources and sinks:

The only axisymmetric potential, \(\phi=\phi(r)\), is the solution to [laplace-solution] when \(n=0\), \[\phi(r) = m \log r + C,\] where \(m\) and \(C\) are constants. Just like the stream function, the final constant \(C\) is arbitrary so we can set it to zero. What is the velocity represented here? \[\mathbfit{u} = \bm{\nabla}\phi = \mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}\widehat{\mathbfit{e}}_r+ \frac{1}{r}\mathchoice{\frac{\partial\phi}{\partial\theta}}{\partial\phi/\partial\theta}{\partial\phi/\partial\theta}{\partial\phi/\partial\theta}\widehat{\mathbfit{e}}_\theta= \frac{m}{r}\widehat{\mathbfit{e}}_r.\] This is a line source (\(m>0\)) or a sink (\(m<0\)) with strength \(m\), located at the origin. In fact, you saw this if you did the exercise which included [line-source-exercise], where you worked out that \(2m\pi\) was the flux produced by such a source.

image image
line source line sink
Line vortex:

The only solution which is just a function of \(\theta\) is again when \(n=0\), \[\begin{equation} \label{line-vortex-potential} \phi(\theta) = k\theta \; (+\,C) \end{equation}\] and in fact we recover something we’ve seen already! The velocity is \[\mathbfit{u} = \bm{\nabla}\phi = \mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}\widehat{\mathbfit{e}}_r+ \frac{1}{r}\mathchoice{\frac{\partial\phi}{\partial\theta}}{\partial\phi/\partial\theta}{\partial\phi/\partial\theta}{\partial\phi/\partial\theta}\widehat{\mathbfit{e}}_\theta= \frac{k}{r}\widehat{\mathbfit{e}}_\theta:\] it’s the famous line vortex, located at the origin. As we saw when we first introduced it, \(k\) is related to the circulation, \(k=\mathit{\Gamma}/2\pi\).

Uniform stream:

Somewhat boringly, a uniform flow also satisfies Laplace’s equation. For example, \[\phi(x) = Ux \implies \mathbfit{u}=U \widehat{\mathbfit{e}}_x,\] which clearly solves Laplace’s equation in Cartesian coordinates (\(\mathchoice{\frac{\partial^2 \phi}{\partial x^2}}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2} + \mathchoice{\frac{\partial^2 \phi}{\partial y^2}}{\partial^2 \phi/\partial y^2}{\partial^2 \phi/\partial y^2}{\partial^2 \phi/\partial y^2} = 0\)), but you can see its polar form also fitting the mould, \(\phi(r,\theta) = Ur\cos\theta\).

1.8.3 Flow past a cylinder

Let’s consider a static cylinder of radius \(a\) in a uniform flow with velocity \((U,0)\) at infinity. No flow can get into the cylinder, so we can ask ourselves: what is the velocity everywhere in the flow?

image

The upstream condition implies that away from the cylinder, we expect \(\mathbfit{u}=(U,0)\) which means \(\phi=Ux\). In polar coordinates, \[\phi(r\to\infty)=Ux=Ur\cos\theta.\] On the surface of the cylinder, we have the no normal flow condition. The normal to a cylinder is the radial direction, so we have \[\bm{\nabla}\phi\cdot\widehat{\mathbfit{n}}\bigr|_{r=a}=\left.\mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}\right|_{r=a}=0.\] What parts of our general mould, [laplace-solution], fits these conditions?

Well, actually, not much! The only bit that fits the form of the \(r\to\infty\) condition is \[\phi(r,\theta) = (A_1r + B_1r^{-1})(C_1\cos \theta),\] and comparing the constants, we see it has to be \[\phi(r,\theta) = (Ur + B_1r^{-1})\cos \theta.\] Now for the condition on the surface of the cylinder, we have that at \(r=a\), \[\begin{aligned} \mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r} = (U - B_1a^{-2})\cos\theta &= 0 \\ \implies B_1 &= Ua^2. \end{aligned}\] So our final solution for a cylinder in a uniform flow is \[\begin{equation} \label{cylinder-in-uniform-flow} \phi = U\left(1 + \frac{a^2}{r^2}\right)r\cos\theta. \end{equation}\]

If we work out the velocity, \(\mathbfit{u}=\bm{\nabla}\phi\), we can plot the flow:

image

(the yellow circles mark stagnation points). Curiously, this also gives a valid flow inside the cylinder: in the context of our problem, this flow can be ignored as it just represents a ‘virtual’ flow which is compatible with the boundary condition on the cylinder.

This internal flow is actually a combination of two of the main characters we’ve seen already. You will have a chance to think about this in Problem Sheet 2.

1.8.4 Flow past a rotating cylinder

Things get more interesting if we now let the cylinder rotate! Recalling again that we can just add solutions to Laplace’s equation, we can add [cylinder-in-uniform-flow] to the line vortex, [line-vortex-potential]: \[\begin{equation} %\label{cylinder-in-uniform-flow} \phi = U\left(1 + \frac{a^2}{r^2}\right)r\cos\theta + \frac{\mathit{\Gamma}}{2\pi}\theta. \end{equation}\] What does this do? Well note that since we added on a term which only involves \(\theta\), the no normal flow condition around the cylinder of \(\mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}=0\) is still satisfied. If you think about what the line vortex is, this shouldn’t be a surprise.

A good way to understand these flows is to look for the stagnation points. Recalling the unfortunate fluid mixing problem in Problems Class 1, stagnation points can mark where fluid separates, and streamlines on either side can head in different directions around an obstacle. We can work out the velocity, \[\begin{aligned} \mathbfit{u} = \bm{\nabla}\phi &= \mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}\widehat{\mathbfit{e}}_r+ \frac1r \mathchoice{\frac{\partial\phi}{\partial\theta}}{\partial\phi/\partial\theta}{\partial\phi/\partial\theta}{\partial\phi/\partial\theta}\widehat{\mathbfit{e}}_\theta\\ &= U\left(1-\frac{a^2}{r^2}\right)\cos\theta \, \widehat{\mathbfit{e}}_r+ \left[\frac{\mathit{\Gamma}}{2\pi r}-U\left(1+\frac{a^2}{r^2}\right)\sin\theta\right]\widehat{\mathbfit{e}}_\theta, \end{aligned}\] and then look for where \(u_r=u_\theta = 0\).

We can see that \(u_r=0\) if \(r=a\) (not surprising!). Then \(u_\theta=0\) if \[\begin{equation} \label{u-theta-zero-gamma} \mathit{\Gamma} = 4\pi U a \sin \theta, \end{equation}\] so our two stagnation points are at \[r=a, \quad \sin\theta = \frac{\mathit{\Gamma}}{4\pi U a}.\] We can mark these and plot the flow. In this picture, we’ve chosen \(\mathit{\Gamma}<0\) (for interesting application reasons coming shortly) and so the stagnation points have \(\theta<0\):

image

So the cylinder is rotating, bringing most of the flow over the top in the same direction, but some flow underneath still goes against the direction of the cylinder. Do we always expect this to be the case? Surely not if we spin the cylinder fast enough…

You might also smell a rat if you realise that because \(\lvert\sin\theta\rvert\leq 1\), [u-theta-zero-gamma] only has a solution if \(|\mathit{\Gamma}|<4\pi U a\) (assuming \(U>0\)). So while our solution is good for low circulation, if the circulation is too large, something else is happening! What could that be?

The other option for \(u_r=0\) is, of course, when \(\cos\theta=0\), i.e. \(\theta = \pm\pi/2\). Under this condition, setting \(u_\theta=0\) gives us \[r^2 \mp \frac{\mathit{\Gamma}}{2\pi U}r +a^2 = 0.\] The case \(\theta=\pi/2\) gives us the negative branch of this equation. Since \(\mathit{\Gamma}\) is negative, we have all positive coefficients and hence there are no positive real solutions for the radius, \(r\). It is typically good for radii to be real and positive so we can discard this case.

However, \(\theta=-\pi/2\) gives us the positive branch of the equation, leading to the solutions \[r = a\left[\frac{|\mathit{\Gamma}|}{4\pi U a} \pm \sqrt{\left(\frac{\mathit{\Gamma}}{4\pi U a}\right)^2 - 1}\right].\] Given that \(|\mathit{\Gamma}| > 4\pi U a\), we get two real, positive roots: one greater than \(a\) and one less than \(a\) (a general property of expressions of the form \(a[b\pm\sqrt{b^2-1}]\)). We are only interested in the solution for \(r>a\), since that is the one that represents flow outside the cylinder.

All this gives us a flow that looks like:

image

The stagnation point is now below the cylinder.

What’s going on here? If we are in the frame of the cylinder, then this setup is equivalent to a tennis, cricket or golf ball heading leftward (into the wind), rotating backwards as it moves. This is backspin. Sports fans among you will know that backspin generates lift! This is due to the Magnus effect, and is because of a difference in pressure.

But hey, we haven’t spoken about pressure yet. So let’s get onto that quickly, covering one last thing before we do.

You will demonstrate that backspin generates lift in Problem Sheet 3.

Of course, tennis, cricket and golf balls are spheres and this example is with a cylinder. But you can do all of this in 3D with a sphere and find a qualitatively similar result.

1.8.5 Method of images

In the last examples, we saw how a ‘virtual’ flow inside the cylinder – and therefore outside of the fluid domain – meant that the solution for the fluid potential in the entire plane matched the appropriate boundary conditions.

This was neat because, in general, solving Laplace’s equation in \(\mathbb{R}^2\) is easy, but solving it in a more complicated domain is hard. If we can instead add fictitious sources/sinks/vortices into \(\mathbb{R}^2\) to replicate the effect of a more complicated domain, we make life much easier for ourselves. This is called the method of images.

The classic example is of a line source near a wall.

Suppose we have a line source of strength \(m\) placed at the position \((x,y) = (d,0)\) near a wall at \(x=0\).

image

In the absence of the wall, the potential from the source is \[\phi = m\log\bigl[|\mathbfit{x}-(d,0)|\bigr] = \frac{m}{2}\log\left[(x-d)^2+y^2 \right].\] See how this is a generalisation of the case where the source is at the origin, when \(\phi=m\log r\). What does this mean for the velocity where the wall should be? The velocity from the point source, \(\mathbfit{u}=\bm{\nabla}\phi\), has \(x\)-component \[u = \mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x} = \frac{m}{2}\frac{2(x-d)}{(x-d)^2+y^2},\] and where \(x=0\), quite clearly \(u\neq 0\).

The boundary condition for a wall, \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\), is quite clearly not satisfied! To solve this problem, we can place a source of equal strength \(m\) outside of the domain, reflected in the wall, at \((-d,0)\).

image

By symmetry, this new source will create a velocity in the opposite horizontal direction at the wall and should cancel out our real source’s velocity in the \(x\)-direction, satisfying the boundary condition for a wall.

The combined velocity potential is \[\phi = \frac{m}{2}\left\{\log\left[(x-d)^2+y^2 \right] + \log\left[(x+d)^2+y^2 \right]\right\}\] with \[u = \mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x} = \frac{m}{2}\left\{\frac{2(x-d)}{(x-d)^2+y^2} + \frac{2(x+d)}{(x+d)^2+y^2} \right\},\] which at \(x=0\) gives \[u|_{x=0} = \frac{m}{2}\left\{\frac{-2d + 2d}{d^2+y^2}\right\} = 0.\] We can also work out the velocity of the fluid along the wall: \[v|_{x=0} = \frac{2my}{d^2+y^2}.\] Where is it fastest?

In fact, the method of images works for more than just a straight wall. If the motion of the fluid in the plane is due to a distribution of singularities – our main characters – and there exists a curve \(C\) in the plane with no flow across it, then the system of singularities on one side of \(C\) is the image of the system on the other side.

The following two diagrams show the image system of a line source inside (i) a quadrant, and (ii) a wedge with angle \(\pi/4\).

image image

Quick question: does this work for a wedge with an arbitrary angle \(\alpha\)? No, because you have to be able to reflect enough times to fill the plane without adding reflected singularities back into your original wedge. Mathematically this means \(\alpha = \pi/n\) for some integer \(n\).

Convince yourself of this by trying to work out the positions of the reflections for a line source in a wedge with angle \(2\pi/3\) (which won’t work) and angle \(\pi/3\) (which will). Place the source asymmetrically inside the wedge so you don’t accidentally look at the special symmetric case.

Let’s have a look now at a system involving a line vortex: the idea is the same but we just have to be careful that rotation direction is reflected:

A line vortex of strength \(k\) sits at \((0,a)\) above a wall at \(x=0\).

image

The velocity potential is \[\phi = k \tan^{-1}\left(\frac{y-a}{x}\right) - k\tan^{-1}\left(\frac{y+a}{x}\right).\] If you like, you can show that the vertical velocity is zero at the wall, as we would hope, since this is the boundary condition for a wall.

But perhaps a bit more interesting is the horizontal velocity in general…(stay with me!) \[\begin{aligned} u = \mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x} &= k \cdot \frac{1}{\left(\frac{y-a}{x}\right)^2+1} \cdot \frac{-(y-a)}{x^2} - k \cdot \frac{1}{\left(\frac{y+a}{x}\right)^2+1} \cdot \frac{-(y+a)}{x^2} \\ &= \frac{k(a-y)}{(y-a)^2+x^2}+\frac{k(a+y)}{(y+a)^2+x^2}. \end{aligned}\] The first term is the velocity from the physical line vortex, if the wall was not there. The second term is the velocity from the image.

What’s the horizontal velocity of the fluid at the vortex centre? The first term clearly doesn’t contribute because it’s from the vortex itself, but if we work out the second term at \((0,a)\), we get \[u = \frac{2ka}{(2a)^2}=\frac{k}{2a}.\] Hence the vortex moves itself to the right when placed next to a wall! You can intuit this from thinking about the streamlines from the image: as the image has clockwise circulation, it is ‘sending’ the fluid around the physical line vortex to the right.

image

Recall that one reason we are interested in line vortices is because – if you zoom out enough – they’re pretty good approximations to real-life vortices, like hurricanes. And this last example demonstrates that line vortices aren’t fixed in place – they are instead moved by the flow, which may include the effects of other vortices, or just their reflections in some physical boundary.

If you want to predict the movement of hurricanes, then, it might be enough just to track their centres, and model how those move. This motivates the idea of tracking vorticity, which we will get to in the next chapter, once we have decided which forces we want our fluids to experience.

2 Dynamics of ideal fluids

In the first chapter, we derived expressions that describe how fluids move: quantities like velocity and circulation, as well as slightly less intuitive quantities like vorticity and the stream function. We saw that we have to be careful with perspective in describing rates of change.

What we haven’t yet done is describe why these fluids move; we haven’t yet derived the equations that govern their motion. The missing ingredient is force. Fluids can experience, broadly, two types of force:

One special type of surface force is the friction-like force between layers of fluid that create the fluid’s viscosity.

Despite this, we’re going to start our journey into dynamics by looking at fluids that are assumed to have no viscosity! These are called inviscid. If they’re also incompressible, they are called ideal. Of course, these do not actually exist in nature, but there are plenty of scenarios where the internal friction that causes viscosity is less important than the other forces the fluid is experiencing. In these cases, it’s OK to assume the viscosity is zero, and we will see that this produces good, useful models. We will make this idea concrete in Epiphany when we do some nondimensionalisation, but for now you can think of water at human-scale speeds as being a good prototype.

Let’s start, however, by saying something very general about fluids in general. There are two basic physical laws that govern a fluid, and we’ve seen one of them already! They are

  1. Conservation of mass ([continuity-equation-general])

  2. Conservation of momentum (Newton’s second law).

Newton’s second law provides two challenges for us: how do we describe acceleration, and what are, and how do we describe, the forces?

2.1 Conservation of momentum

2.1.1 The momentum equation

As we did for conservation of mass, consider again a fixed volume \(V\) of fluid with surface \(S\). The momentum is \[\int_V \rho \mathbfit{u} \, {\mathrm d}V.\] The momentum changes for two reasons. The first is the application of forces – the classical mechanics bit of Newton’s second law. The second reason harks back to our conservation of mass derivation in 1.4. Once again, the volume is fixed, but fluid particles can enter and leave the volume. In doing so, they can add and subtract momentum from \(V\).

image

Quickly looking back at the conservation of mass derivation, we can note that mass is a scalar, whereas here, momentum is a vector. The same procedure (divergence theorem, product rule) will work if we start with a vector but we’d have to use the tensor version of these tools. That’s OK, but to make life easier we will instead show that the \(i\)th component of momentum, \[\int_V \rho u_i \, {\mathrm d}V\] is conserved (a scalar!), and this of course will imply that the (vector) momentum is also concerned.

The momentum change in \(V\) per unit time, is \[\begin{aligned} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t} \int_V \rho u_i \, {\mathrm d}V &= -\int_S \underbrace{\rho u_i \underbrace{\mathbfit{u} \cdot \widehat{\mathbfit{n}}}_{\substack{\text{speed of flow}\\\text{in $\widehat{\mathbfit{n}}$-direction}}} \underbrace{{\mathrm d}S}_{\text{area}}}_{\text{momentum flux through ${\mathrm d}S$}} + \int_V F_i \, {\mathrm d}V \\ &= - \int_S \rho u_i\mathbfit{u}\cdot \,{\mathrm d}\mathbfit{S}+ \int_V F_i \, {\mathrm d}V, \end{aligned}\] remembering that the minus sign on the surface integral is because particles leaving the volume represent momentum loss. We’ll deal with the force bit shortly: \(\mathbfit{F}\) for now is the total force on \(V\) per unit volume.

Because the volume is fixed, we can again differentiate under the integral sign on the left-hand side and use the divergence theorem on the surface integral to get \[\int_V \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}[\rho u_i] \, {\mathrm d}V = - \int_V \bm{\nabla}\cdot[\rho u_i\mathbfit{u}] \, {\mathrm d}V + \int_V F_i \, {\mathrm d}V.\] We can use the product rule on the left-hand side, and additionally use the product rule for divergence on the right-hand side, after choosing how to bracket the three factors \(\rho u_i \mathbfit{u}\) into two bits: \[\bm{\nabla}\cdot[\rho u_i\mathbfit{u}] = \bm{\nabla}\cdot[u_i (\rho \mathbfit{u})] = \rho\mathbfit{u}\cdot\bm{\nabla}u_i + u_i \bm{\nabla}\cdot(\rho \mathbfit{u}).\] This leaves us with \[\int_V \left[ {\color{orange}\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t}u_i} + \rho \mathchoice{\frac{\partial u_i}{\partial t}}{\partial u_i/\partial t}{\partial u_i/\partial t}{\partial u_i/\partial t} \right] {\mathrm d}V = \int_V \bigl[ - \rho\mathbfit{u}\cdot\bm{\nabla}u_i - {\color{orange}u_i \bm{\nabla}\cdot(\rho \mathbfit{u})} + F_i \bigr] {\mathrm d}V.\] The orange terms on each side cancel from the continuity equation, [continuity-equation-integral], leaving us with \[\begin{aligned} \int_V \rho \mathchoice{\frac{\partial u_i}{\partial t}}{\partial u_i/\partial t}{\partial u_i/\partial t}{\partial u_i/\partial t} {\mathrm d}V &= \int_V \bigl[-(\rho\mathbfit{u}\cdot\bm{\nabla})u_i + F_i \bigr] {\mathrm d}V \end{aligned}\] which we can rewrite with the material derivative, [material-derivative], to find \[\int_V \rho\mathchoice{\frac{\mathrm{D} u_i}{\mathrm{D} t}}{\mathrm{D} u_i/\mathrm{D} t}{\mathrm{D} u_i/\mathrm{D} t}{\mathrm{D} u_i/\mathrm{D} t} {\mathrm d}V = \int_V F_i \, {\mathrm d}V,\] or back in vector form, \[\int_V \rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t} {\mathrm d}V = \int_V \mathbfit{F} \, {\mathrm d}V.\] Surprise! It’s \(\mathbfit{F}=m\mathbfit{a}\)!

Now’s it time to think about what the forces are that act on our fluid volume.

As it was for the conservation of mass, it is also possible to derive the same result from the Lagrangian perspective, where you consider the momentum on a moving, deforming fluid element with constant mass.

2.1.2 Body forces

As we said at the top of the chapter, we consider that there are two types of forces. Body forces act everywhere on a fluid element, and you will be familiar with them from classical mechanics. It turns out to be somewhat convenient to write body forces instead as accelerations, \[\int_V \mathbfit{F}_\text{body} \, {\mathrm d}V = \int_V \rho \mathbfit{f} \, {\mathrm d}V,\] where \(\mathbfit{f}\) contains these accelerations, but hopefully you can see this is just a notation choice.

A common body force is gravity, \(\mathbfit{f} = -g\widehat{\mathbfit{e}}_z\), but other examples might be magnetic forces if the fluid conducts electricity, or inertial ‘forces’ such as the Coriolis and centrifugal forces when the fluid is in a rotating reference frame (something you’ll see in Geophysical and Astrophysical Fluid Dynamics IV). If \(\mathbfit{f} = \mathbf{0}\) we say the system is unforced.

2.1.3 Pressure

If we consider two touching fluid elements, or fluid volumes, why do they not just merge into each other? At the microscale, fluid molecules are bouncing off each other, all the way along our fluid element’s surface.

image

This is pressure, and from a fluid element’s perspective, it is pushing inwards (i.e. in the normal direction) all over the surface, \[\int_V \mathbfit{F}_\text{pressure} \, {\mathrm d}V = \int_S -p \widehat{\mathbfit{n}} \, {\mathrm d}S = \int_S -p \, {\mathrm d}\mathbfit{S}.\]

image

Pressure is serious business! From a problem-solving perspective, \(p(\mathbfit{x},t)\) is initially unknown to us; we have to find it at the same time as finding \(\mathbfit{u}(\mathbfit{x},t)\).

At this point, you will realise that our equations will involve both density, \(\rho\), and pressure, \(p\). You must find a way to distinguish these two letters in your handwriting; you could try a hook on the bottom of \(\rho\), either outwards or inwards (\(\varrho\)).

2.1.4 The stress tensor

This term, we are only going to consider body forces and pressure, but we can extend the idea of pressure to set up some notation for next term.

We said that pressure only acts normal to the surface, \[\begin{equation} \int_V \mathbfit{F}_\text{pressure} \, {\mathrm d}V = \int_S -p \, {\mathrm d}\mathbfit{S}, \label{f-pressure} \end{equation}\] but in general, we can have forces acting in any direction on the surface of a fluid element. Friction, for example, acts tangentially to surfaces and we will need that next term to introduce viscosity. We can encode forces acting on any surface by introducing the stress tensor or Cauchy stress tensor, \(\mathsfbfit{\normalsize{𝞼}}\), which is a \(3\times3\) rank two tensor, \[\normalsize{𝞼} = (\sigma_{ij}) = \begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13}\\ \sigma_{21} & \sigma_{22} & \sigma_{23}\\ \sigma_{31} & \sigma_{32} & \sigma_{33} \end{pmatrix}.\]

The rank of a tensor refers to the number of dimensions, or free indices, it has: a scalar is a rank 0 tensor, a vector is rank 1, a matrix is rank 2, etc. This is a different concept to the definition of rank in linear algebra (the dimension of the vector space spanned by the columns of a matrix).

Physically, the index \(i\) of \(\sigma_{ij}\) gives the coordinate direction in which the force acts, and the index \(j\) gives the orientation of the surface it is acting on. To find the stress on a surface with normal \(\widehat{\mathbfit{n}}\), take \(\normalsize{𝞼}\cdot\widehat{\mathbfit{n}}\), which gives a vector with components \(\sigma_{ij}n_j\), i.e. \[\int_V \mathbfit{F}_\text{stress} \, {\mathrm d}V = \int_S \mathsfbfit{\normalsize{𝞼}} \cdot \widehat{\mathbfit{n}} \, {\mathrm d}S = \int_S \mathsfbfit{\normalsize{𝞼}} \cdot {\mathrm d}\mathbfit{S}.\]

image

Suppose we want the stress on the surface with the blue arrows above. Our normal is \(\widehat{\mathbfit{n}}=\widehat{\mathbfit{e}}_x\) and hence \[\normalsize{𝞼}\cdot\widehat{\mathbfit{n}} = \begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13}\\ \sigma_{21} & \sigma_{22} & \sigma_{23}\\ \sigma_{31} & \sigma_{32} & \sigma_{33} \end{pmatrix}\begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} \sigma_{11}\\ \sigma_{21} \\ \sigma_{31} \end{pmatrix}.\]

Some sources (e.g. Wikipedia) define \(\normalsize{𝞼}\) as the transpose of what we’ve said here. We will see next term that \(\normalsize{𝞼}\) is symmetric, so it doesn’t actually matter. The convention we’ve chosen means the above example works as matrix–vector multiplication rather than vector–matrix multiplication.

To specify \(\normalsize{𝞼}\), we need a model for how our particular fluid behaves. If the only internal force we want is pressure, which acts normal to the surfaces, then we can see from the diagram that we just want \(\sigma_{11}\), \(\sigma_{22}\) and \(\sigma_{33}\) to be nonzero. And specifically, we want them to be \(-p(\mathbfit{x},t)\) (negative because pressure points inwards), so in an inviscid fluid, the stress is \[\mathsfbfit{\normalsize{𝞼}} = -p\mathsfbfit{I} \quad \text{ or } \quad \sigma_{ij} = -p\delta_{ij}.\]

Remember that \(p(\mathbfit{x},t)\) is still a function! You may be forgiven for thinking ‘doesn’t \(\sigma_{11}\) on the blue side cancel out the \(-\sigma_{11}\) on the opposite side when you integrate over all the sides?’ The answer is not necessarily, because (in this case) the \(x\)-coordinate is different, and \(p\) could depend on \(x\).

2.1.5 The momentum equation revisited

Putting it all together, then, we have \[\begin{aligned} \int_V \rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t} {\mathrm d}V & = \int_V \mathbfit{F} \, {\mathrm d}V \\ &= \int_S \mathsfbfit{\normalsize{𝞼}} \cdot {\mathrm d}\mathbfit{S} + \int_V \rho \mathbfit{f} \, {\mathrm d}V \\ &= \int_{V}\left[\bm{\nabla}\cdot\normalsize{𝞼}^{\mathsf{T}} + \rho \mathbfit{f} \right]{\mathrm d}V \quad \textrm{(by the divergence theorem)},\\ &= \int_{V}\left[ - \bm{\nabla}p + \rho \mathbfit{f}\right]{\mathrm d}V. \end{aligned}\] In the second and third lines there we have used that \(\bm{\nabla}\cdot \normalsize{𝞼}^{\mathsf{T}}\) is a vector with components \(\displaystyle \bigl(\bm{\nabla}\cdot \normalsize{𝞼}^{\mathsf{T}}\bigr)_i = \nabla_j\sigma^{\mathsf{T}}_{ji} = \mathchoice{\frac{\partial\sigma_{ij}}{\partial x_j}}{\partial\sigma_{ij}/\partial x_j}{\partial\sigma_{ij}/\partial x_j}{\partial\sigma_{ij}/\partial x_j}\).

Of course, we didn’t need to go via the stress tensor to get this result where we just have pressure. [f-pressure] with the divergence theorem gives us \(-\bm{\nabla}p\) directly, but for next term it will be useful to have seen this.

Now, assuming smoothness of the integrand, the only way this result is possible for an arbitrary domain \(V\) is if \(\rho\), \(\mathbfit{u}\) and \(p\) obey the PDE \[\begin{equation} \rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t} = - \bm{\nabla}p + \rho\mathbfit{f} \qquad \iff \qquad \boxed{\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = - \frac{1}{\rho}\bm{\nabla}p + \mathbfit{f}}. \label{eqn:mom} \end{equation}\] The form with a general stress is often known as the (Cauchy) momentum equation. The particular form we have here with pressure alone is known as the Euler equations (the plural is a relic from when it was thought of as three separate scalar equations).

2.2 Incompressible Euler equations

Since the body force \(\mathbfit{f}\) is imposed, [continuity-equation-general] and [eqn:mom] constitute a set of four equations in 3D, but we have five unknowns: \(\rho\), \(u\), \(v\), \(w\), and \(p\). We therefore need a fifth equation to define a complete system. This must come from additional physics.

The simplest choice is to assume the fluid has uniform, constant density \(\rho=\rho_0\) which is therefore incompressible. This is a reasonable assumption for liquids but not always for gases.

For \(\rho=\rho_0\), the continuity equation simplifies and we have the system \[\begin{align} \bm{\nabla}\cdot\mathbfit{u} &= 0,\label{eqn:inceul1}\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} &= -\frac{1}{\rho_0}\bm{\nabla}p + \mathbfit{f}, \label{eqn:inceul2} \end{align}\] called the incompressible Euler equations. There are still four equations but now only four unknowns, \(u\), \(v\), \(w\) and \(p\). Our aim is to find them.

What about boundary conditions? Since inviscid fluids (incompressible or not) feel no friction from the boundaries, fluid is free to flow tangential to these boundaries. Therefore, we can only impose that \(\mathbfit{u}\cdot\widehat{\mathbfit{n}} = 0\), i.e. that there is no flow through the boundaries.

First let us look at some simple steady solutions. Recall ‘steady’ means \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}=\mathbf{0}\) and ‘solutions’ means \(\mathbfit{u}\) and \(p\).

Cup of tea (abandoned, cold, sad): Suppose we have a mug containing a volume of tea, \[V=\{\mathbfit{x}\in\mathbb{R}^3 : x^2 + y^2 \leq R^2, -h\leq z\leq 0\},\] sitting under gravity \(\mathbfit{f}=-g\widehat{\mathbfit{e}}_z\). Realistic boundary conditions would be: \[\begin{aligned} \text{At $z=-h$ (bottom of cup):}\quad& \widehat{\mathbfit{n}}=-\widehat{\mathbfit{e}}_z\text{ and }\mathbfit{u}\cdot\widehat{\mathbfit{n}} = 0.\\ \text{At $r=R$ (side of cup):}\quad& \widehat{\mathbfit{n}}=\widehat{\mathbfit{e}}_r\text{ and } \mathbfit{u}\cdot\widehat{\mathbfit{n}} = 0. \end{aligned}\] We could allow for motion of the top surface (see later), but for simplicity let’s assume that \(\mathbfit{u}\cdot\widehat{\mathbfit{n}} = 0\) there also.

image

One possible velocity which satisfies these boundary conditions is for the tea to just be static, \[\mathbfit{u}=\mathbf{0}.\] We then ask,

  1. Is the continuity equation satisfied?

  2. What does the pressure have to be in order for \(\mathbfit{u}=\mathbf{0}\) to be a solution?

The answer to the first question is trivially yes! The continuity equation, \(\bm{\nabla}\cdot\mathbfit{u}=0\), is indeed automatically satisfied. To work out the pressure, we look at the momentum equation, [eqn:inceul2], which becomes, component-wise, \[\begin{aligned} {} [\widehat{\mathbfit{e}}_x] && 0 &= -\frac{1}{\rho_0}\mathchoice{\frac{\partial p}{\partial x}}{\partial p/\partial x}{\partial p/\partial x}{\partial p/\partial x} && \implies p \neq p(x),\\ [\widehat{\mathbfit{e}}_y] && 0 &= -\frac{1}{\rho_0}\mathchoice{\frac{\partial p}{\partial y}}{\partial p/\partial y}{\partial p/\partial y}{\partial p/\partial y} && \implies p \neq p(y),\\ [\widehat{\mathbfit{e}}_z] && 0 &= -\frac{1}{\rho_0}\mathchoice{\frac{\partial p}{\partial z}}{\partial p/\partial z}{\partial p/\partial z}{\partial p/\partial z} -g && \implies p(z)=-\rho_0 g z + C. \end{aligned}\] The constant \(C\) is determined by setting the pressure at the surface \(z=0\) equal to atmospheric pressure, \(p_{\text{atm}}\) (about 14 psi in old money). This gives us \[\qquad p(z)=p_{\text{atm}} - \rho_0 gz.\] This solution to the Euler equations is called hydrostatic equilibrium. Note that the pressure increases as \(z\) becomes more negative, since there is a greater weight of tea pushing down from above.

image

If we want, we can work out the total force on an object submerged in a fluid from the pressure solution. Then we know from [f-pressure] that \[\begin{aligned} \int_{V_\text{object}} \hspace{-2ex} \mathbfit{F}_\text{pressure} \, {\mathrm d}V &= \int_{S_\text{object}} \hspace{-2ex} -p \, \,{\mathrm d}\mathbfit{S}\\ &= \int_{V_\text{object}} \hspace{-2ex} -\bm{\nabla}p \, {\mathrm d}V\\ &= \int_{V_\text{object}} \hspace{-2ex} \rho_0 g \widehat{\mathbfit{e}}_z\, {\mathrm d}V = \rho_0 g V \widehat{\mathbfit{e}}_z, \end{aligned}\] where \(V\) is the volume of the object. And what is \(\rho_0 g V \widehat{\mathbfit{e}}_z\)? It’s (negative) the weight of the displaced fluid! This force is called buoyancy – whether an object sinks or floats in a fluid depends on whether its weight is greater than or less than its buoyancy, \[\rho_{\text{object}} g V \gtrless \rho_{0} g V \implies \rho_{\text{object}}\gtrless \rho_{0},\] i.e. whether its density is greater than or less than the density of the tea.

image

You may have heard this result before. Indeed, we have made it through all this vector calculus to find something discovered in 246 bc – this is Archimedes’ principle!

With our egos suitably deflated, here’s something else we can do to our cup of tea. Remember, when we look for solutions to the Euler equations, we are always trying to find \(\mathbfit{u}\) and \(p\).

Cup of tea (stirred, not shaken): Another possible velocity, which still fits the boundary conditions, is an axisymmetric flow, \[\mathbfit{u}=G(r)\widehat{\mathbfit{e}}_\theta\] in cylindrical coordinates \((r,\theta,z)\).

image

We again ask:

  1. Is the continuity equation satisfied?

  2. What does the pressure have to be in order for \(\mathbfit{u}\) to be a solution?

We can see that the continuity equation is satisfied if we write down the divergence in cylindrical coordinates: \[\begin{equation} \bm{\nabla}\cdot\mathbfit{u} = \frac{1}{r}\mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r}(ru_r) + \frac{1}{r}\mathchoice{\frac{\partial u_\theta}{\partial\theta}}{\partial u_\theta/\partial\theta}{\partial u_\theta/\partial\theta}{\partial u_\theta/\partial\theta} + \mathchoice{\frac{\partial u_z}{\partial z}}{\partial u_z/\partial z}{\partial u_z/\partial z}{\partial u_z/\partial z} = 0. \label{div-in-cylind} \end{equation}\]

If this expression feels wrong, it’s because you’ve got used to us writing that the gradient operator in cylindrical polars is \[\begin{equation} \bm{\nabla}= \widehat{\mathbfit{e}}_r\mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} + \frac{\widehat{\mathbfit{e}}_\theta}{r} \mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} + \widehat{\mathbfit{e}}_z\mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}, \label{grad-in-cylindrical} \end{equation}\] and this doesn’t appear to be what we have here. But [div-in-cylind] is correct: when we dot the gradient operator with \(\mathbfit{u}\) in cylindrical polars, we have to differentiate the unit vectors in \(\mathbfit{u}\) too, which leads to this form.

Let’s now work out what the momentum equation looks like. The first term is \[\begin{aligned} \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} &= 0, \end{aligned}\] then we need \((\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u}\) in cylindrical coordinates. For \((\mathbfit{u}\cdot\bm{\nabla})\), we just dot \(\mathbfit{u}\) with [grad-in-cylindrical], leading us to \[\begin{aligned} (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} &= \left(u_r\mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} + \frac{u_\theta}{r}\mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} + u_z\mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}\right)\left(u_r\widehat{\mathbfit{e}}_r+ u_\theta\widehat{\mathbfit{e}}_\theta+ u_z\widehat{\mathbfit{e}}_z\right)\\ & = \frac{G}{r}\mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta}(G\widehat{\mathbfit{e}}_\theta) = \frac{G^2}{r}\mathchoice{\frac{\partial\widehat{\mathbfit{e}}_\theta}{\partial\theta}}{\partial\widehat{\mathbfit{e}}_\theta/\partial\theta}{\partial\widehat{\mathbfit{e}}_\theta/\partial\theta}{\partial\widehat{\mathbfit{e}}_\theta/\partial\theta} = -\frac{G^2}{r}\widehat{\mathbfit{e}}_r. \end{aligned}\] So the momentum equation becomes \[-\frac{G^2}{r}\widehat{\mathbfit{e}}_r= - \frac{1}{\rho_0}\bm{\nabla}p -g\widehat{\mathbfit{e}}_z.\] Every time we look at a fluid under gravity (a very common case!), the final \(-g\widehat{\mathbfit{e}}_z\) term is going to show up. As we saw in the abandoned tea scenario, the pressure always adapts to cancel it out. This motivates us to explicitly write the pressure term as ‘the pressure which will cancel out gravity’ plus ‘the rest’, then just solve for ‘the rest’. Specifically, we set \[p(\mathbfit{x}) = p_h(z) + p_d(\mathbfit{x}),\] where \(p_h=p_\text{atm}-\rho_0 gz\) is the hydrostatic pressure from before, and \(p_d\) is the so-called dynamic pressure. The pressure gradient is therefore \[\begin{aligned} \bm{\nabla}p &= \bm{\nabla}p_h + \bm{\nabla}p_d \\ &= - \rho_0 g \widehat{\mathbfit{e}}_z+ \bm{\nabla}p_d, \end{aligned}\] and hence in this problem, the momentum equation becomes \[-\frac{G^2}{r}\widehat{\mathbfit{e}}_r= - \frac{1}{\rho_0}\bm{\nabla}p_d.\] Component-wise, this says \[\begin{aligned} {} [\widehat{\mathbfit{e}}_\theta] && 0 &= \frac{1}{\rho_0 r}\mathchoice{\frac{\partial p_d}{\partial\theta}}{\partial p_d/\partial\theta}{\partial p_d/\partial\theta}{\partial p_d/\partial\theta} &&\implies p_d \neq p_d(\theta),\\ [\widehat{\mathbfit{e}}_z] && 0 &= \frac{1}{\rho_0}\mathchoice{\frac{\partial p_d}{\partial z}}{\partial p_d/\partial z}{\partial p_d/\partial z}{\partial p_d/\partial z} &&\implies p_d \neq p_d(z).\\ [\widehat{\mathbfit{e}}_r] && \frac{G^2}{r} &= \frac{1}{\rho_0}\mathchoice{\frac{\partial p_d}{\partial r}}{\partial p_d/\partial r}{\partial p_d/\partial r}{\partial p_d/\partial r} &&\implies p_d(r) = \int\rho_0\frac{G(r)^2}{r}\,{\mathrm d}r. \end{aligned}\] So we have our pressure, \(p_d\), and our velocity, \(\mathbfit{u}\). If we want, we can say the full pressure, \(p\), is \[p(\mathbfit{x}) = p_\text{atm} - \rho_0 gz + \int \rho_0 \frac{G(r)^2}{r} \, {\mathrm d}r.\] Job done.

If the tea is spinning as a rigid body, then \[\mathbfit{u} = r\widehat{\mathbfit{e}}_\theta.\] Given that the surface of the tea will have constant pressure, can you show that the height of the tea \(z(r)\) is a paraboloid?

In general, given a known velocity \(\mathbfit{u}\) we can find the corresponding \(p\) by taking the divergence of the momentum equation, which leads to \[{\nabla^2}p = \rho_0\bm{\nabla}\cdot\bigl(\mathbfit{f}-(\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u}\bigr).\] This is a Poisson equation which, with the addition of boundary conditions \(\widehat{\mathbfit{n}}\cdot\bm{\nabla}p=0\), determines \(p\). Since it is an elliptic PDE, a change of \(\mathbfit{u}\) at one location instantly affects the pressure, and therefore the acceleration of the fluid everywhere else. In this sense, ideal fluids ‘violate special relativity’.

2.3 Conservation of energy

You will have seen in classical mechanics that you can often solve problems indirectly by comparing conserved quantities at different times during some motion. For a falling ball, for example, you may have said that gravitational potential energy has to convert into kinetic energy – total energy is conserved – and therefore you were able to find the speed of the falling ball.

The same technique can be applied to the incompressible Euler equations, which admit several conserved quantities.

2.3.1 Kinetic energy

Just as how kinetic energy of a particle in classical mechanics is \(\frac12 m v^2\), for a fluid occupying a fixed region \(V\), it is \[E = \frac12\int_V\rho_0|\mathbfit{u}|^2 \,{\mathrm d}V.\] Is this conserved? Well, \[\begin{aligned} \mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} &=\rho_0 \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t} \int_V \frac12 |\mathbfit{u}|^2 \, {\mathrm d}V \\ &= \rho_0 \int_V \frac12 \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} (\mathbfit{u}\cdot\mathbfit{u}) \, {\mathrm d}V \quad \text{(because $V$ is fixed)}\\ &= \rho_0 \int_V \mathbfit{u}\cdot\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} \, {\mathrm d}V. \end{aligned}\] Substituting in the expression for \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}\) from the Euler equation, [eqn:mom], we have \[\begin{aligned} \mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = \rho_0 \int_V \mathbfit{u}\cdot\left[-(\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} -\frac{1}{\rho_0}\bm{\nabla}p+\mathbfit{f} \right] {\mathrm d}V. \end{aligned}\] We’re now going to make the questionable decision to substitute in the vector identity \[\begin{equation} (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = (\bm{\nabla}\times\mathbfit{u})\times\mathbfit{u} + \frac12\bm{\nabla}\left(|\mathbfit{u}|^2\right), \label{u-dot-grad-u} \end{equation}\] but notice that when we dot it with \(\mathbfit{u}\), the cross product part disappears. Therefore \[\begin{aligned} \mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = \rho_0 \int_V \mathbfit{u}\cdot\left[-\frac12\bm{\nabla}\left(|\mathbfit{u}|^2\right) -\frac{1}{\rho_0}\bm{\nabla}p+\mathbfit{f} \right] {\mathrm d}V. \end{aligned}\]

We can make progress if we take the body force \(\mathbfit{f}\) to be conservative, i.e. we can write it as \(\mathbfit{f} = -\bm{\nabla}\mathit{\Phi}\) (conventionally we pick the minus sign here). This is a restriction, but it’s an OK restriction because many forces, including gravity, can be written this way. Then \[\mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = -\rho_0 \int_V \mathbfit{u}\cdot \bm{\nabla}\underbrace{\left[ \frac{1}{2}|\mathbfit{u}|^2 + \frac{p}{\rho_0} + \mathit{\Phi} \right]}_{:=H(\mathbfit{x},t)} {\mathrm d}V,\] where we’re introducing the scalar function \(H(\mathbfit{x},t)\).

We can bring the \(\mathbfit{u}\) inside the gradient by using the (rearranged) product rule and the fact that the fluid is incompressible, \[\mathbfit{u}\cdot\bm{\nabla}H = \bm{\nabla}\cdot(H\mathbfit{u}) - H\underbrace{\bm{\nabla}\cdot\mathbfit{u}}_{=0},\] to get \[\begin{equation} \mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = -\rho_0 \int_V \bm{\nabla}\cdot(H\mathbfit{u}) {\mathrm d}V = -\rho_0 \int_S H\mathbfit{u}\cdot \,{\mathrm d}\mathbfit{S}, \label{almost-bern} \end{equation}\] and if we specify that there is no flow through the walls of the volume (i.e. \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\)), then \[\mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = 0.\] Great! So kinetic energy is conserved when an ideal fluid sits in a conservative body force and has no normal flow. Conservation of kinetic energy makes physical sense, since an ideal incompressible fluid has no internal friction or heating to dissipate the energy.

If the flow is steady, we have a stronger result…

2.3.2 Bernoulli’s principle

Given the body force is conservative, we can use our new favourite vector identity to write the momentum equation, [eqn:mom], as \[\begin{align} \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}+(\bm{\nabla}\times\mathbfit{u})\times\mathbfit{u}&=-\bm{\nabla}\left[\frac{p}{\rho_0}+\frac12 |\mathbfit{u}|^2 + \mathit{\Phi}\right] \label{eqn:b1} \\ &= -\bm{\nabla}H. \end{align}\] If the flow is steady, \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} = 0\) and additionally we can dot both sides with \(\mathbfit{u}\) to get \[0 = \mathbfit{u}\cdot\bm{\nabla}H.\] \(H\) is known as the energy head, and this equation shows contours of \(H\) are parallel to \(\mathbfit{u}\): \(H\) is constant along streamlines.

This is Bernoulli’s principle: in an incompressible steady flow of an ideal fluid, with conservative body force \(\mathbfit{f}=-\bm{\nabla}\mathit{\Phi}\), then \[\begin{aligned} \boxed{H :=\frac{1}{2}|\mathbfit{u}|^2 + \frac{p}{\rho_0} + \mathit{\Phi}} \end{aligned}\] is constant along streamlines.

This is really a statement about conservation of total energy, \[H = \text{kinetic} + \text{`internal'} + \text{potential},\] per unit mass. Bernoulli described this effect in 1738, but it was Euler who derived the expression in 1752. Euler has too many things already named after him, so we don’t mind giving Bernoulli the credit here.

Pitot tube: This is a device used on aircraft to measure airspeed (the photo shows one on the side of an Airbus A380, just below the cockpit window).

image image

Consider the streamline going from the outside to the inside. Bernoulli’s theorem says \[\frac12u_1^2 + \frac{p_1}{\rho_0} = 0 + \frac{p_2}{\rho_0} \qquad \implies \qquad u_1 = \sqrt{\frac{2(p_2 - p_1)}{\rho_0}},\] which is pretty nifty.

You might be thinking, ‘is air really incompressible at flight speeds?’ It turns out that incompressibility is a reasonable approximation for air up to about 230 , or Mach 0.3. Long-distance aircraft fly at about 550 , so we will revisit this problem next term when we study compressible fluids. It turns out that at 550 , you would expect an error in this calculation of about 7%, so this is still a pretty good model.

Mug of tea with a leak: Consider our mug from before, with a top surface of area \(A\). A tiny hole with area \(a\) is drilled in the side at the base.

image

Assuming that \(a\) is small enough that the flow is approximately steady, how does \(u\) depend on \(h\)?

First, let’s check our intuition. The exit speed, \(u\), should be higher if there is more tea in the mug, since there is more tea above the hole pushing the tea out. So larger \(h\) should mean larger \(u\). How do we get there?

Conservation of mass: We can make a simple argument about the volume flux at the exit and surface: \[\begin{aligned} \text{volume flux at exit} &= \text{volume flux at surface}\\ u a &= U A \\ \implies U &= \frac{ua}{A} \quad \quad (\ll u \text{ if } a \ll A). \end{aligned}\] We can now use Bernoulli if we have some streamlines. We can sketch these in: particles at the surface will eventually go through the exit hole. Then \[\begin{aligned} \text{$H$ at exit} &= \text{$H$ at surface}\\ \frac12 u^2 + \frac{p_\text{atm}}{\rho_0} + 0 &= \frac12 U^2 + \frac{p_\text{atm}}{\rho_0} + gh \\ \implies u^2 - U^2 &= 2gh \\ \implies u^2\left[1-\left(\frac{a}{A}\right)^2\right] &= 2gh \\ \implies u^2 &\approx 2gh \quad \text{for }a/A\ll1 \\ \implies u &\approx \sqrt{2gh}. \end{aligned}\] So the leak reduces in speed as the volume inside the container drops. But hang on – does the form of the result seem familiar to something in classical mechanics? Since the pressure at the surface is the same as the pressure at the exit, the pressure energy terms cancel and the problem is the same (for \(a\ll A\)) as a freefalling particle!

You might be worried that \(u\) is not very steady, since \(h\) changes over time, and Bernoulli requires steady flow. But this is why we said that the exit hole had to be small enough that the flow was approximately steady. In the next chapter, we’ll see what Bernoulli looks like for unsteady flows.

2.4 Vorticity dynamics

In the first chapter, we found that some flows were more easily described by vorticity rather than velocity, like when we had line vortices representing tornadoes in potential flow. But so far, our momentum equation, \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = -\frac{1}{\rho_0}\bm{\nabla}p + \mathbfit{f},\] has only shown how \(\mathbfit{u}\) evolves. We may therefore ask if there is an equivalent equation for vorticity.

Let’s once again take a conservative body force, \(\mathbfit{f} = -\nabla\mathit{\Phi}\), and use the same vector identity which got us to the first stage in deriving Bernoulli’s principle in [eqn:b1], \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}+(\bm{\nabla}\times\mathbfit{u})\times\mathbfit{u}=-\bm{\nabla}\left[\frac{p}{\rho_0}+\frac12 |\mathbfit{u}|^2 + \mathit{\Phi}\right].\] Give we want an evolution equation for vorticity, we are naturally minded to take the curl of this. The right-hand side is completely taken out, since \(\bm{\nabla}\times\bm{\nabla}(\text{stuff})=\mathbf{0}\), leaving us with \[\begin{equation} \boxed{\mathchoice{\frac{\partial\mathbfit{\omega}}{\partial t}}{\partial\mathbfit{\omega}/\partial t}{\partial\mathbfit{\omega}/\partial t}{\partial\mathbfit{\omega}/\partial t} + \bm{\nabla}\times(\mathbfit{\omega}\times\mathbfit{u}) = \mathbf{0}.} \label{eqn:vort} \end{equation}\] This is called the vorticity equation. It is analogous to the momentum equation but describes the conservation of angular momentum.

The vorticity equation is a neat way of looking at the fluid because it eliminates the pressure \(p\). As remarked earlier, we can always reconstruct \(p\) once we know \(\mathbfit{u}\), and we can recover \(\mathbfit{u}\) from \(\mathbfit{\omega}\) using the Biot–Savart law.

We can also write this with the material derivative by using another vector identity, \[\begin{aligned} \bm{\nabla}\times(\mathbfit{\omega}\times\mathbfit{u}) &= \mathbfit{\omega}{\underbrace{\bm{\nabla}\cdot\mathbfit{u}}_{=0}} - \mathbfit{u} {\underbrace{\bm{\nabla}\cdot\mathbfit{\omega}}_{=0}} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{\omega} - (\mathbfit{\omega}\cdot\bm{\nabla})\mathbfit{u}\\ &= (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{\omega} - (\mathbfit{\omega}\cdot\bm{\nabla})\mathbfit{u}, \end{aligned}\] where we used the fact that the fluid is incompressible, and the fact that \(\bm{\nabla}\cdot\bm{\nabla}\times(\text{stuff}) = 0\), in the first line. Thus \[\begin{equation} \mathchoice{\frac{\partial\mathbfit{\omega}}{\partial t}}{\partial\mathbfit{\omega}/\partial t}{\partial\mathbfit{\omega}/\partial t}{\partial\mathbfit{\omega}/\partial t} +( \mathbfit{u}\cdot\bm{\nabla})\mathbfit{\omega} = (\mathbfit{\omega}\cdot\bm{\nabla})\mathbfit{u} \quad \iff \quad \boxed{\mathchoice{\frac{\mathrm{D} \mathbfit{\omega}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{\omega}/\mathrm{D} t}{\mathrm{D} \mathbfit{\omega}/\mathrm{D} t}{\mathrm{D} \mathbfit{\omega}/\mathrm{D} t} = (\mathbfit{\omega}\cdot\bm{\nabla})\mathbfit{u}.} \label{eqn:lagvort} \end{equation}\] There’s an interesting observation here: fluid elements with no vorticity do not gain any as they move with the fluid. (This is Helmholtz’s third theorem.) So where does vorticity come from, given this holds for any conservative body force? The answer is the viscosity which we have ignored.

For a two-dimensional time-dependent flow, we have \[\mathbfit{\omega} = \omega\widehat{\mathbfit{e}}_z\implies (\mathbfit{\omega}\cdot\bm{\nabla}) = \omega \mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z} \implies (\mathbfit{\omega}\cdot\bm{\nabla})\mathbfit{u} = \mathbf{0},\] since \(\mathbfit{u}\) has no \(z\)-component. In the vorticity equation, we are therefore conveniently left with \[\begin{equation} \mathchoice{\frac{\mathrm{D} \omega}{\mathrm{D} t}}{\mathrm{D} \omega/\mathrm{D} t}{\mathrm{D} \omega/\mathrm{D} t}{\mathrm{D} \omega/\mathrm{D} t} = 0. \label{ddt-omega-zero} \end{equation}\] In other words, the vorticity of each fluid particle is conserved in 2D flow, and is simply advected along the particle path: it is a ‘material scalar’.

Line vortices revisited: This is why the line vortices we saw in potential flow were just advected by the overall flow, being moved around by other vortices or their images. We can calculate the direction of motion of a given line vortex at a given position and time by considering the flow from all the other vortices at this position. This interaction leads to things like the self propulsion of vortex pairs, or vortices travelling along walls like we saw earlier. Below you can see the evolution of four asymmetric line vortices: note how they group into two travelling pairs.
image image image

Incidentally, because \(\mathbfit{u}\) is 2D and incompressible, we have a stream function, \(\mathbfit{u} = \bm{\nabla}\times\psi\widehat{\mathbfit{e}}_z\). We can write \(\omega\) directly in terms of this stream function: \[\begin{align} \omega &= \widehat{\mathbfit{e}}_z\cdot\mathbfit{\omega} \\ &= \widehat{\mathbfit{e}}_z\cdot\bm{\nabla}\times \mathbfit{u}\\ &= \widehat{\mathbfit{e}}_z\cdot\bm{\nabla}\times(\bm{\nabla}\times\psi\widehat{\mathbfit{e}}_z) = -{\nabla^2}\psi. \label{eqn:om2} \end{align}\]

These results about vorticity being a material scalar are nice, but they are telling us about individual fluid elements. Can we say something about regions?

2.4.1 Circulation dynamics

We saw in 1.7.2 that if we want to quantify the amount of rotation in a region, we don’t use vorticity, which is local, but instead we measure circulation, \[\begin{aligned} \mathit{\Gamma} = \int_C \mathbfit{u} \cdot {\mathrm d}\mathbfit{x}. \end{aligned}\] Now consider a curve \(C(t)\) which evolves with the flow of the underlying fluid. How does the circulation evolve in time?

image

Firstly, since \(C\) evolves with the flow, this means we want to use the time derivative that follows the flow: \(\mathchoice{\frac{\mathrm{D} }{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}\). This also allows us to bring it under the integral sign. It then acts on \(\mathbfit{u}\cdot{\mathrm d}\mathbfit{x}\) like the normal product rule: \[\begin{align} \mathchoice{\frac{\mathrm{D} \mathit{\Gamma}}{\mathrm{D} t}}{\mathrm{D} \mathit{\Gamma}/\mathrm{D} t}{\mathrm{D} \mathit{\Gamma}/\mathrm{D} t}{\mathrm{D} \mathit{\Gamma}/\mathrm{D} t} &= \oint_{C(t)} \mathchoice{\frac{\mathrm{D} }{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t} (\mathbfit{u} \cdot {\mathrm d}\mathbfit{x})\\ &= \oint_{C(t)}\left[ \mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\cdot {\mathrm d}\mathbfit{x} + \mathbfit{u}\cdot\mathchoice{\frac{\mathrm{D} ({\mathrm d}\mathbfit{x})}{\mathrm{D} t}}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}\right].\label{DDtGamma} \end{align}\] We can bring in the Euler equation with a conservative body force, \(\mathbfit{f} = -\bm{\nabla}\mathit{\Phi}\), for the first term, \[\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t} = -\bm{\nabla}\left[\frac{p}{\rho_0} + \mathit{\Phi}\right].\] The first term in [DDtGamma] is therefore \[\begin{aligned} \oint_{C(t)}\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\cdot {\mathrm d}\mathbfit{x} &= \oint_{C(t)}-\bm{\nabla}\left[\frac{p}{\rho_0} + \mathit{\Phi}\right] \cdot {\mathrm d}\mathbfit{x} \\ & = 0, \end{aligned}\] since this is an integral of a continuous gradient around a closed loop (a property of conservative vector fields).

The first term was zero because of the Euler equations, but the second term, \[\begin{aligned} \oint_{C(t)}\mathbfit{u}\cdot\mathchoice{\frac{\mathrm{D} ({\mathrm d}\mathbfit{x})}{\mathrm{D} t}}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}, \end{aligned}\] will, in fact, always be zero. Let’s see why.

What is \(\mathchoice{\frac{\mathrm{D} ({\mathrm d}\mathbfit{x})}{\mathrm{D} t}}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}\)? It’s the rate of change of the length of a line segment, which is the difference in the speeds of the ends: so it’s actually just \({\mathrm d}\mathbfit{u}\)! So \[\begin{aligned} \oint_{C(t)}\mathbfit{u}\cdot\mathchoice{\frac{\mathrm{D} ({\mathrm d}\mathbfit{x})}{\mathrm{D} t}}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t}{\mathrm{D} ({\mathrm d}\mathbfit{x})/\mathrm{D} t} &= \oint_{C(t)}\mathbfit{u}\cdot{\mathrm d}\mathbfit{u} \\ &= \frac 12 \oint_{C(t)} {\mathrm d}(|\mathbfit{u}|^2) = 0, \end{aligned}\] since this is integrating an exact derivative around a curve.

Putting both sides together, we have Kelvin’s circulation theorem: in an ideal, incompressible fluid with conservative body force, the circulation around a closed material curve \(C(t)\) is constant in time: \[\mathchoice{\frac{\mathrm{D} \mathit{\Gamma}}{\mathrm{D} t}}{\mathrm{D} \mathit{\Gamma}/\mathrm{D} t}{\mathrm{D} \mathit{\Gamma}/\mathrm{D} t}{\mathrm{D} \mathit{\Gamma}/\mathrm{D} t} = 0.\]

You are most likely to have seen the consequences of this watching aeroplanes. Here’s how, but first, flight school 101.

How does an aeroplane fly? Aeroplane wings are designed so that air travels faster over the top of them than below. By Bernoulli’s theorem (assuming it’s valid), this produces lower pressure above the wing than below, creating lift.

image

Incidentally, you might have heard an explanation for why the air travels faster over the top that says the air that splits at the front of the wing has to meet its other half at the same time behind the wing. The distance over the top of the wing is longer, so it goes faster. With some thought, you might see that this specific argument is bogus. There’s no physical rule that says the splitting air particles have to rejoin their lost twins, otherwise we would never go hunting for shortcuts when stuck in traffic. In Problems Class 3, we will see the more subtle reason, related to streamline curvature.

Starting vortex: Since an aeroplane needs faster flow above its wing than below, there must be a negative circulation around its wing. Kelvin’s theorem therefore implies that, for an aeroplane to start from rest (with \(\mathit{\Gamma}=0\) around its wing) in ideal air, it must shed a starting vortex of opposite sign, so as to conserve circulation overall.

image

Aeroplanes do indeed shed starting vortices, although thanks to Helmholtz’s first theorem, their creation actually requires the presence of viscosity (non-idealness) near the surface of the wing.

Wing tip vortices: Thinking about the circulation around the wing and in the starting vortex, we therefore get a vortex tube all along the wing, and another vortex tube (rotating in the opposite direction) just behind it. We know from 1.7.3 that vortex tubes cannot end in mid-air, so in 3D the two tubes connect at the ends, forming a closed loop (like the smoke rings). The connecting tube at the end of the wing is said to contain wing tip vortices.

image

It is these wing tip vortices which are visible when an aircraft passes through clouds at landing and takeoff (and are different from contrails created by the engines that produce cloud lines in the sky). Were air an ideal fluid these vortices would stretch across the globe! Instead, they viscously decay over a few minutes after a plane passes. Small planes can be flipped over by the wing tip vortices of large aircraft, so pilots (and air traffic control) generally give each other a lot of space.

image

3 Water waves

We now combine what we’ve learnt about the incompressible Euler equations with what we’ve learnt about potential flows, as we take a look at an important class of solutions to the incompressible Euler equations: free surface water waves.

We will consider a layer of water \(\{(x,y,z):-h<z<\eta(x,y,t)\}\), so that the bed \(z=-h\) is flat and the undisturbed water surface is \(z=0\). The free surface of the water is \(z=\eta(x,y,t)\), which is now an unknown.

image

3.1 Governing equations

We will assume that the water is an inviscid, incompressible, and this time irrotational fluid, and that the only body force is gravity, \(\mathbfit{f}=-g\widehat{\mathbfit{e}}_z\). The irrotational assumption is valid because at rest – the stable state for this system – there is no vorticity in the fluid, and we saw in 1.7.3 that vorticity can’t come from nowhere in an ideal fluid. Then our body force choice says the system is governed entirely by gravity trying to equilibrise whatever motion the fluid happens to be in.

Mathematically, recall incompressible means \(\bm{\nabla}\cdot\mathbfit{u}=0\); and recall irrotational means \(\bm{\nabla}\times\mathbfit{u}=\mathbf{0}\). Irrotational means (as the domain is simply connected) we can write \(\bm{\nabla}\phi\) for some potential \(\phi(x,y,z,t)\). Combined, we can say – just as we did in 1.8 – that we have potential flow, which is governed by Laplace’s equation, \[\begin{equation} \boxed{{\nabla^2}\phi = 0 \qquad \textrm{in $-h< z<\eta$}.} \label{eqn:ww1} \end{equation}\]

We said when we first investigated potential flow that the boundary conditions really set the behaviour of the fluid. Indeed, this is true for all PDEs. So what are the boundary conditions for \(\phi\)?

No flow through the floor:

In other words, \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\) on \(z=-h\), which gives \[\begin{equation} \mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} = 0 \quad \textrm{on $z=-h$}. \label{eqn:ww4} \end{equation}\]

Now we need to deal with the open surface, but because it’s moving, we need to say two things: where it is, and what’s happening there. So our boundary conditions continue:

No flow through the surface at \(z=\eta(x,y,t)\):

We again want \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\) but this time \(\widehat{\mathbfit{n}}\) is more awkward, because it changes with time. Instead, spot that saying ‘no flow through the surface’ is the same as saying a particle on the surface stays on the surface. In other words, if \(\mathbfit{u}=(u,v,w)\), \[\begin{align} \mathchoice{\frac{\mathrm{D} \eta}{\mathrm{D} t}}{\mathrm{D} \eta/\mathrm{D} t}{\mathrm{D} \eta/\mathrm{D} t}{\mathrm{D} \eta/\mathrm{D} t} = \mathchoice{\frac{\mathrm{D} z}{\mathrm{D} t}}{\mathrm{D} z/\mathrm{D} t}{\mathrm{D} z/\mathrm{D} t}{\mathrm{D} z/\mathrm{D} t} \qquad &\iff\qquad \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} + \mathbfit{u}\cdot\bm{\nabla}\eta = w \label{eqn:kinb}\\ &\iff\qquad \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} + \bm{\nabla}\phi\cdot\bm{\nabla}\eta = \mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} \quad \textrm{on $z=\eta$}. \label{eqn:ww3} \end{align}\] This is called the kinematic boundary condition.

Another way to see this is that there is nothing ‘surface-y’ about the line \(z=\eta\) up until this point: it’s just a line we’ve drawn in \(\mathbb{R}^2\). This statement is saying that we are going to take all the particles that happen to be along \(z=\eta\) and track their vertical motion: the surface will be defined as the vertical positions of those particles. Remember, as always, that \(\mathchoice{\frac{\mathrm{D} }{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}\) tracks particles.

Constant pressure at the surface:

Just like we did for the cup of tea, we can set the pressure at the surface to be a constant of our choice: let’s have \(p=0\) on \(z=\eta\). Constant pressure means we are neglecting both surface tension and also the effect of the wind in creating waves. How do we write this as a condition on \(\phi\)? This seems like an opportunity for Bernoulli, but Bernoulli so far is only a statement about steady flows. Recall that we derived Bernoulli, starting in [eqn:b1], by taking the momentum equation, \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = -\frac{1}{\rho_0}\bm{\nabla}p + \mathbfit{f},\] and applying our favourite vector identity along with assuming a conservative body force, \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}+(\bm{\nabla}\times\mathbfit{u})\times\mathbfit{u}=-\bm{\nabla}\left[\frac{p}{\rho_0}+\frac12 |\mathbfit{u}|^2 + \mathit{\Phi}\right].\] You might additionally recall we called the term in the square brackets the pressure head, \(H\), and then used the fact that \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}=\mathbf{0}\) to start simplifying. Not so this time!

Instead, we can use that the fluid is irrotational, so \(\bm{\nabla}\times\mathbfit{u} = \mathbf{0}\); and that the flow is a potential flow, \(\mathbfit{u}=\bm{\nabla}\phi\), so \(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} = \bm{\nabla}(\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t})\). This gives us \[\begin{aligned} \bm{\nabla}\left[\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + \frac{p}{\rho_0} + \frac{1}{2}|\bm{\nabla}\phi|^2 + gz\right] &= \mathbf{0}\\ \implies \mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + \frac{p}{\rho_0} + \frac{1}{2}|\bm{\nabla}\phi|^2 + gz &= C(t). \end{aligned}\] In fact, we can just set \(C(t)=0\) by incorporating it into \(\phi\), since adding a uniform function of time to \(\phi\) does not change \(\mathbfit{u} = \bm{\nabla}\phi\). (Explicitly, \(\phi \to \phi + \int C \, {\mathrm d}t\) is the transformation.) This gives us Bernoulli’s principle for unsteady potential flow, \[\begin{equation} \boxed{\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + \frac{p}{\rho_0} + \frac{1}{2}|\bm{\nabla}\phi|^2 + gz = 0.} \label{bernoulli-potential} \end{equation}\] If we evaluate this at the fluid surface, we get the dynamic boundary condition, \[\begin{align} \mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + \frac{1}{2}|\bm{\nabla}\phi|^2 + g\eta &= C(t) \quad \textrm{on $z=\eta$}. \label{eqn:ww2} \end{align}\]

Our combined system is therefore: \[\begin{align} {\nabla^2}\phi &= 0 && \quad \textrm{in $-h< z <\eta$}, \label{eqn:ww-1}\\ \mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} &= 0 && \quad \textrm{on $z=-h$}, \label{eqn:ww-2}\\ \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} + \bm{\nabla}\phi\cdot\bm{\nabla}\eta &= \mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} && \quad\textrm{on $z=\eta$},&&\text{(kinematic b.c.)} \label{eqn:ww-3}\\ \mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + \frac12 | \bm{\nabla}\phi |^2 + g\eta &= 0 &&\quad\textrm{on $z=\eta$}.&&\text{(dynamic b.c.)} \label{eqn:ww-4} \end{align}\]

3.2 Linearisation

The full system, [eqn:ww-1], [eqn:ww-2], [eqn:ww-3] and [eqn:ww-4], is nonlinear and difficult to solve, but we can find approximate solutions by assuming that changes in \(\eta\) and \(\phi\) are small and approximating [eqn:ww-1], [eqn:ww-2], [eqn:ww-3] and [eqn:ww-4] by linearisation.

In a linearisation, you pick a fixed value for each of your variables, and consider a small perturbation around that value, \[\begin{aligned} \eta(x,y,t) &\to \eta_0 + \varepsilon\eta_1(x,y,t), \\ \phi(x,y,z,t) &\to \phi_0 + \varepsilon\phi_1(x,y,z,t), \end{aligned}\] where \(\varepsilon\ll 1\). You make these substitutions, including in their derivatives, and ignore anything of order \(\varepsilon^2\) and smaller. You end up with equations involving \(\eta_0\), \(\eta_1\), \(\phi_0\) and \(\phi_1\) without any quadratic terms or higher, which is why it’s called a linearisation.

Now, here, we’re looking for small-amplitude waves. So let’s perturb around the solution when the fluid is at rest – an equilibrium – i.e. when \(\eta_0 = 0\) and \(\phi_0\) is just a constant so that \(\mathbfit{u} = \bm{\nabla}\phi = \mathbf{0}\): \[\begin{align} \eta &\to 0 + \varepsilon\eta_1, \\ \phi &\to \phi_0 + \varepsilon\phi_1. \label{perturbation} \end{align}\]

Our system therefore becomes, dividing through by \(\varepsilon\), \[\begin{aligned} {\nabla^2}\phi_1 &= 0 &&\quad \textrm{in $-h< z <\varepsilon\eta_1$},\\ \mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z} &= 0 &&\quad \textrm{on $z=-h$},\\ \mathchoice{\frac{\partial\eta_1}{\partial t}}{\partial\eta_1/\partial t}{\partial\eta_1/\partial t}{\partial\eta_1/\partial t} + {\color{orange}\varepsilon\bm{\nabla}\phi_1\cdot\bm{\nabla}\eta_1} &= \mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z} &&\quad \textrm{on $z=\varepsilon\eta_1$},\\ \mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + {\color{orange}\frac12\varepsilon|\bm{\nabla}\phi_1|^2} + g\eta_1 &= 0 &&\quad \textrm{on $z=\varepsilon\eta_1$}, \end{aligned}\] and we now neglect the orange terms that still have an \(\varepsilon\) in front of them.

Secondly, we use Taylor series to expand the derivatives of \(\phi_1\) at the free surface about the fixed plane \(z=\eta_0=0\), which gives \[\begin{aligned} &\left.\mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}\right|_{z=\varepsilon\eta_1} = \left.\mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}\right|_{z=0} + {\color{orange}\varepsilon\eta_1 \left.\mathchoice{\frac{\partial^2 \phi_1}{\partial z^2}}{\partial^2 \phi_1/\partial z^2}{\partial^2 \phi_1/\partial z^2}{\partial^2 \phi_1/\partial z^2}\right|_{z=0}} + \cdots,\\ &\left.\mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}\right|_{z=\varepsilon\eta_1} = \left.\mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}\right|_{z=0} + {\color{orange}\varepsilon\eta_1 \left.\mathchoice{\frac{\partial^2 \phi_1}{\partial z \partial t}}{\partial^2 \phi_1 /\partial z \partial t}{\partial^2 \phi_1 /\partial z \partial t}{\partial^2 \phi_1 /\partial z \partial t}\right|_{z=0}} + \cdots. \end{aligned}\] To be consistent, we again neglect the orange terms with \(\varepsilon\) in front of them, leaving us with a fully linearised system. In a cheeky final act to make notation easier, we remove the subscript 1s: \[\begin{align} {\nabla^2}\phi &= 0 &&\quad \textrm{in $-h< z<0$},\label{eqn:wws1}\\ \mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} &= 0 &&\quad \textrm{on $z=-h$},\label{eqn:wws4}\\ \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} &= \mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} &&\quad \textrm{on $z=0$}, \label{eqn:wws3}\\ \mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + g\eta &= 0 &&\quad \textrm{on $z=0$}.\label{eqn:wws2} \end{align}\]

3.3 Travelling waves in an infinite domain

 

3.3.1 Solution for a specific wavenumber

So we have our simplified, linearised system. Let us first look for separable travelling plane wave solutions of the form \[\begin{equation} \phi(x,z,t) = X(x-ct)Z(z). \label{sep-of-vars} \end{equation}\]

You might remember that travelling waves have this form because the wave equation, \[\mathchoice{\frac{\partial^2 u}{\partial t^2}}{\partial^2 u/\partial t^2}{\partial^2 u/\partial t^2}{\partial^2 u/\partial t^2} = c^2 \mathchoice{\frac{\partial^2 u}{\partial x^2}}{\partial^2 u/\partial x^2}{\partial^2 u/\partial x^2}{\partial^2 u/\partial x^2},\] which governs how mechanical waves behave, has the general solution \[u(x,t) = F(x-ct) + G(x+ct),\] i.e. it is composed (if we assume, wlog, \(c>0\)) of a right-travelling function \(F\) and a left-travelling function \(G\).

You will spot that nothing in this definition requires a wave to be periodic. Indeed, they don’t!* A wave is simply a propagating disturbance, like a Mexican wave. If the shape of the wave travels in one direction only, it’s called a travelling wave. However, waves can certainly be periodic, and indeed we will shortly see that we need periodic waves to fit our problem’s boundary conditions.

* Technically, you can do a Fourier decomposition on any solution, turning it into the sum of an infinite number of periodic solutions, but ‘to the eye’ this does not look periodic.

In other words, we look for waves moving at a constant phase speed \(c\) in the \(x\)-direction.

Substituting this into [eqn:wws1] gives \[\begin{align} 0 = {\nabla^2}\phi &= \mathchoice{\frac{\partial^2 \phi}{\partial x^2}}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2} + \mathchoice{\frac{\partial^2 \phi}{\partial z^2}}{\partial^2 \phi/\partial z^2}{\partial^2 \phi/\partial z^2}{\partial^2 \phi/\partial z^2} \\ &= X''Z + X Z'' \qquad \implies - \frac{X''}{X} = \frac{Z''}{Z} = \lambda,\label{vars-sepd} \end{align}\] for some constant \(\lambda\). You will recall this technique – separation of variables – from 1.8. We then have to go through the cases where \(\lambda\) is negative, zero and positive…unless we can decide now which case we want from the boundary conditions.

We can see straight away that when we solve [vars-sepd], one of \(X\) and \(Z\) will be periodic (sin and cos); and the other will be non-periodic (sinh and cosh). Which do we want?

Looking at the original diagram on , we would be happy with a solution which is periodic in \(x-ct\) (in other words, if you freeze time, you’d get a solution which is periodic in \(x\)); and looking at the floor and kinematic boundary conditions, [eqn:wws4] and [eqn:wws3], \[\begin{align} XZ'=0 &\quad\text{on }z=-h, \label{bc2}\\ XZ'=\mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} & \quad\text{on }z=0, \end{align}\] we don’t want a periodic solution in \(Z\). We therefore set \(\lambda=k^2\), and start by solving \[\frac{Z''}{Z} = k^2, \quad Z'(-h) = 0.\] The general solution to the equation is of course \[Z(z) = A\cosh kz + B\sinh kz,\] for constants \(A\) and \(B\), but it could equally be \[Z(z) = A\cosh[k(z+h)] + B\sinh[k(z+h)].\] Choosing this form makes implementing the first boundary condition, \(Z'(-h)=0\), easy: we end up with \(B=0\) and so \[Z(z) = A\cosh\big[k(z+h)\big].\] Meanwhile, the \(X\) equation gives us \[\begin{align} \qquad X(x-ct) &= \widetilde{C}\cos[k(x-ct)] + \widetilde{D}\sin[k(x-ct)] \label{minus-can-be-absorbed} \end{align}\] or equivalently \[\begin{aligned} X(x-ct) &= C \cos[k(x-ct) + \alpha]. \end{aligned}\] Since we can set \(t=0\) to be any reference point we want, we can choose it to be such that the phase, \(\alpha\), is zero, and hence \[\begin{aligned} X(x-ct) &= C \cos[k(x-ct)] = C \operatorname{Re}\bigl\{ \mathrm{e}^{\mathrm{i}k (x-ct)} \bigr\}. \end{aligned}\] Using the exponential form might see like overkill here, but it will prove a bit more convenient in the long run, especially next term when we look at instability. Practically we can treat it like a normal exponential throughout our calculations; we just need to remember to take the real part at the end.

Our solution, for a given \(k\), is therefore \(\phi=XZ\): \[\phi(x,z,t) = \operatorname{Re}\,\Bigl\{ A(k) \underbrace{\cosh\bigl[k(z+h)\bigr]}_{Z(z)}\underbrace{\mathrm{e}^{\mathrm{i}k (x-ct)}}_{X(x-ct)} \Bigr\},\] for a combined, real constant \(A(k)\). What does this mean? Read on…

3.3.2 The dispersion relation

Think about the form of our solution for \(\phi\): this is a periodic wave (\(X\)) with an amplitude (\(Z\)) that decreases exponentially with depth. By taking \(k>0\) without loss of generality (since the sign can be absorbed into the constants in [minus-can-be-absorbed]), we can interpret \(k\) as the wavenumber: the spatial frequency, equal to \(2\pi/\lambda\), where \(\lambda\) is the wavelength. (This interpretation requires \(k>0\) since wavelengths are inherently positive, although of course mathematically, negative \(k\) is fine.) To illustrate the role of \(k\), here’s \(\phi(x,0,0)\) for two different \(k\) values where \(A(k)\equiv1\):

image

However, we will see that \(c\) and \(k\) are not independent, since we also need to satisfy the kinematic and dynamic boundary conditions on the surface, [eqn:wws2] and [eqn:wws3]. Differentiating the dynamic condition by \(t\) and then combining the two conditions, we have \[\begin{aligned} 0 &= \mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} + g\mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} \\ &= \mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} + g\mathchoice{\frac{\partial\phi}{\partial z}}{\partial\phi/\partial z}{\partial\phi/\partial z}{\partial\phi/\partial z} \qquad \textrm{on $z=0$}. \end{aligned}\] Substituting our solution \(\phi(x,z,t)\) into this condition gives \[\begin{equation} -c^2k^2\cosh(kh)X + gk\sinh(kh)X = 0, \label{eqn:dispcond} \end{equation}\] and introducing the frequency \(\omega= ck\), we see that \(\omega\) (or \(c\)) and \(k\) must satisfy the dispersion relation, \[\begin{equation} \boxed{\omega^2 = gk\tanh(kh).} \label{eqn:disp} \end{equation}\] This says that the phase speed of wave crests, \(c\), depends on their wavenumber, \(k\). This equivalently says that the speed of a wave depends on its wavelength, \[c^2 = \frac{g\lambda}{2\pi} \tanh\left(\frac{2\pi h}{\lambda}\right).\] Waves of different wavelength travel at different speeds. For this reason, water waves are called dispersive.

This is a little unusual, and is not the case for sound or light waves. Even waves on a stretched string are non-dispersive: their speed depends only on the tension in the string and its mass density.

We can then find the solution for the free surface \(\eta(x,t)\) by rearranging the dynamic boundary condition, [eqn:wws2], \[\begin{align} \eta(x,t) &= -\frac{1}{g}\left.\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t}\right|_{z=0} \\ & = \operatorname{Re}\left[\frac{\mathrm{i}\omega}{g}\phi(x,0,t)\right] \\ & = -\frac{A(k)\omega}{g}\cosh(kh)\,\operatorname{Im}\big[\mathrm{e}^{\mathrm{i}(kx-\omega t)}\big]\\ & = -\frac{A(k)\omega}{g}\cosh(kh)\sin(kx - \omega t). \label{eqn:eta} \end{align}\] Since the frequency, \(\omega\), is fixed by the dispersion relation, we can see that the solution has two ‘unknowns’: the wavenumber, \(k\), and the amplitude constant, \(A(k)\). Shortly we will use the principle of superposition to say that the full, general solution is the sum of these solutions over all possible values of \(k\), and the constants \(A(k)\) will be set by whatever initial condition is imposed (effectively how much energy is put into the system!). You will have come across this idea when you first studied separation of variables. But for now let’s look at some consequences of the dispersion relation.

Those familiar with PDEs may be confused by the fact that a ‘wave’ solution \(\phi\) satisfies the Laplace equation \({\nabla^2}\phi=0\) rather than the classical wave equation, \[\mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}=c^2{\nabla^2}\phi.\] But in fact the waves are in the free surface height: you can see from [eqn:eta] that \[\mathchoice{\frac{\partial^2 \eta}{\partial t^2}}{\partial^2 \eta/\partial t^2}{\partial^2 \eta/\partial t^2}{\partial^2 \eta/\partial t^2}=c^2\mathchoice{\frac{\partial^2 \eta}{\partial x^2}}{\partial^2 \eta/\partial x^2}{\partial^2 \eta/\partial x^2}{\partial^2 \eta/\partial x^2}.\]

What does the dispersion relation, \[\omega^2 = gk\tanh(kh) \iff c^2 = \frac{g\lambda}{2\pi} \tanh\left(\frac{2\pi h}{\lambda}\right),\] mean in practice? The best thing to do here is to plot \(c\) against \(\lambda\). As we do so, there are two important limiting cases. Recall we can take \(k>0\) without loss of generality.

  1. Deep water, \(kh\gg 1\). As \(k\to\infty\), the dispersion relation becomes \[\begin{equation} \omega^2 = gk\tanh(kh) \to gk. \label{disp-rel-deep} \end{equation}\] So the wave speed \(c\to\sqrt{g/k}\sim\sqrt{\lambda}\) becomes independent of \(h\). This makes intuitive sense: the waves are so far away from the bottom that they don’t feel the bed. This also says long waves travel faster than short waves.

  2. Shallow water/long wavelength, \(kh\to 0\). In this limit, \[\omega^2 = gk\tanh(kh) \to gk^2h,\] so these waves travel at a constant speed \(c=\sqrt{gh}\).

The following plot shows how the dispersion relation [eqn:disp] matches to the deep (dashed blue) and shallow (dotted orange) approximations:

image

Where are the shallow and deep water approximations useful in the real world?

Shallow: Why do waves come in parallel to the shore? As ocean waves approach the shore, they enter the shallow water regime. As \(c\sim \sqrt{gh}\), the shallower the water, the slower they go. This means that waves always turn round so that they approach the shore parallel. Here you can see this in action at Nose’s Point in Seaham on a cold November morning:

image image

Shallow: Tsunamis: Tsunamis can have wavelengths of up to \(200\,\mathrm{km}\). If we consider the Pacific Ocean to be ‘only’ \(5\,\mathrm{km}\) deep, then the shallow water approximation clearly holds and \[c = \sqrt{gh} \approx \sqrt{10\times5000}\,\,\mathrm{ms^{-1}} \approx 500\,\mathrm{mph}.\] This is about the same speed as a Boeing 737!

Deep: Ocean swell with wavelength \(\lambda=\) 300 m: These are small-amplitude low-frequency waves generated by distant storms. The wavelength is small compared to an ocean depth of about \(5\,\mathrm{km}\) away from continental margins. The deep water approximation suggests a frequency \(\omega = \sqrt{gk} \approx 0.4\,\mathrm{s^{-1}}\).

A classic paper by Snodgrass et al. in 1966 showed that ocean swell from storms in the Southern Ocean can propagate all the way across the Pacific to Alaska. This highlights the physics which motivates our studies of waves – fluids can propagate energy across huge distances without actually having to move all that much.

3.3.3 Group velocity

As we’ve seen, our solution has a wavenumber \(k\), a constant which essentially we can choose. Because our governing equation, \({\nabla^2}\phi=0\), is linear, the general solution, then, is the sum of all possible solutions for all possible \(k\)s (this is the principle of superposition), \[\begin{equation} \phi(x,z,t) = \int_{-\infty}^\infty A(k)\underbrace{\cosh\big[k(z+h)\big]}_{Z(z)}\,\underbrace{\mathrm{e}^{\mathrm{i}(kx-\omega t)}}_{X(x-ct)}\,{\mathrm d}k. \label{eqn:wwgen} \end{equation}\] The integral is here, doing our summation over \(k\) for us, since there is no restriction that \(k\) is an integer.

What might \(\phi\) look like if we plotted it? If you have a specific function in mind, the Fourier integral theorem tells us that the function can be expressed as a sum of sine and cosine waves, each with its own wavenumber and coefficient. This is precisely the approach we’re using to construct our general solution, meaning \(\phi\) could take on virtually any form. The coefficients \(A(k)\), referred to as Fourier coefficients, determine the contribution of each wave to the overall function.

Suppose, then, that we have some localised bump in the fluid, \(\eta\), coming from a potential, \(\phi\):

image

This bump is a wave packet, formed by summing wave modes with a range of wavenumbers. But the dispersion relation has told us that waves with different wavenumbers travel at different speeds. So, just like at the start of a marathon, as the packet moves forwards, it spreads out:

image

image

image

The question is, at what speed is the whole packet moving?

We can make progress by knowing that in a localised wave packet, \(A(k)\) is typically clustered around one value, \(k_0\). Here’s \(A(k)\) for the example above (a so-called Gaussian wave packet):

image

Now, since \[\eta(x,t) = -\frac{1}{g}\left.\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t}\right|_{z=0},\] we can see that \(A(k)\) is shared between \(\eta\) and \(\phi\): the clustering around \(k_0\) is therefore also shared.

This gives us licence to Taylor expand \(\omega(k)\) around \(k_0\), \[\omega(k) \approx \omega(k_0) + (k-k_0)c_g, \qquad \text{where} \quad c_g=\left.\frac{{\mathrm d}\omega}{{\mathrm d}k}\right|_{k=k_0},\] and to see what happens when we put this approximation into [eqn:wwgen]: \[\begin{aligned} \phi(x,z,t) &\approx \int_{-\infty}^\infty A(k)\cosh\big[k(z+h)\big]\mathrm{e}^{\mathrm{i}kx - \mathrm{i}\omega(k_0)t - \mathrm{i}(k-k_0)c_g t}\,{\mathrm d}k\\ &= \underbrace{\mathrm{e}^{\mathrm{i}(k_0x - \omega(k_0)t)}}_{\hspace{0cm}\color{C0}(\rm i)}\underbrace{\int_{-\infty}^\infty A(k)\cosh\big[k(z+h)\big]\mathrm{e}^{\mathrm{i}(k-k_0)(x-c_g t)}\,{\mathrm d}k}_{\hspace{0cm}\color{C1}(\rm ii)}. \end{aligned}\] This is:

  • A sinusoidal wave with wavenumber \(k_0\) and frequency \(\omega(k_0)\),

  • whose envelope travels with speed \(c_g\) in the \(x\)-direction (the speed of the \(k_0\)th mode).

It is the speed of the moving envelope which perhaps best characterises the behaviour of the dispersive wave:

image

and so \(c_g\) gets the special name of the group velocity. See that the wave packet disperses as the wave modes around \(k_0\) travel faster and slower.

More generally, it may be shown that energy propagates at the group velocity \(c_g(k) = \mathchoice{\frac{{\mathrm d}\omega}{{\mathrm d}k}}{{\mathrm d}\omega/{\mathrm d}k}{{\mathrm d}\omega/{\mathrm d}k}{{\mathrm d}\omega/{\mathrm d}k}\), which is calculated from the dispersion relation \(\omega(k)\). For dispersive waves, \(c_g\) depends on \(k\).

Although the surface is happily going up and down, what about the fluid itself? If we went for a swim, would we bob up and down on the surface, or would we be dragged under? We will answer this question in Problems Class 4.

3.4 Standing waves in a finite domain

Having been thoroughly scared off the ocean, we instead wonder if it is safe to try a swimming pool, or at least a body of water with finite width. So instead of an infinite layer of water in \(x\), we consider a finite domain \(\{(x,z) : -h < z < \eta(x,t), 0< x < L \}\) with rigid walls \(x=0\) and \(x=L\).

image

In such a domain, it does not make sense to look for travelling waves, so instead we look for standing waves of the form \[\phi(x,z,t) = X(x)Z(z)\sin(\omega t).\]

In addition to [eqn:wws1], [eqn:wws4], [eqn:wws3] and [eqn:wws2], we need to impose \(\displaystyle \mathbfit{u}\cdot\widehat{\mathbfit{n}}=\pm\mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x} = 0\) on the side walls.

Laplace’s equation, [eqn:wws1] separates in the same way as before, and again we find \[Z(z)=A\cosh\big[k(z+h)\big],\] but now the new boundary condition means that we must have \[X(x) = C\cos(kx) = C\cos\left(\frac{n\pi x}{L}\right) \quad \textrm{with $n\in\mathbb{Z}$}.\] The dispersion relation in the infinite domain, [eqn:disp], came from the boundary conditions at the surface, so that still holds here, but now \(k\) is now an integer and \[\begin{equation} \omega^2 = \frac{gn\pi}{L}\tanh\left(\frac{n\pi h}{L}\right) \quad \textrm{for $n\in\mathbb{Z}$}. \label{eqn:dispcont} \end{equation}\] So for a finite domain there is a discrete spectrum of possible wave frequencies, or normal modes.

The mode number \(n\) tells you how many oscillations there are across the container. The lowest order mode, \(n=1\), is called the fundamental mode.

We can again work out the free surface height: for a normal mode it is again given by [eqn:wws2], so \[\begin{aligned} \eta(x,t) &= -\frac{1}{g}\left.\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t}\right|_{z=0} \\ &= -\frac{1}{g} X(x) Z(0) \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}[\sin\omega t] \\ &= -\frac{A_n\omega}{g}\cos\left(\frac{n\pi x}{L}\right)\cosh\left(\frac{n\pi h}{L}\right)\cos(\omega t), \end{aligned}\] with \(\omega\) given by [eqn:dispcont] and some constant \(A_n\) given by the initial conditions.

And just as the general solution in an infinite domain could be written as an integral over a continuous set of frequencies, the general solution in a container can be written as a sum over the discrete set of normal modes.

One last thing to notice with this, though: see that in our expression for \(\eta(x,t)\) above, \[\cos\left(\frac{n\pi x}{L}\right)\cos(\omega t) = \frac{1}{2}\left[\cos\left(\frac{n\pi x}{L} - \omega t\right) + \cos\left(\frac{n\pi x}{L} + \omega t \right)\right].\] Although we started from a different ansatz to the infinite domain case, a normal mode is the same as a pair of counterpropagating travelling waves, bouncing off the walls of the container. Adding them up, they look like a standing wave! This Christmas miracle matches our intuition that the dispersion relation for standing waves is the same as for travelling waves.

Water waves are well-treated in Paterson, §§XIII.1–4, which adopts a similar derivation to ours. A more rounded approach is taken in Acheson, §§3.1–3.5, which includes some historical background.

What next?

This concludes our Michaelmas introduction to fluid mechanics. We will return to water waves in Epiphany when we look at instabilities in our system.

If you’re interested in ocean models, two big things are missing from our analysis so far. The first is the fact that the density of the ocean changes as you go down. This is mostly due to temperature, but in all our work so far we have assumed constant density, \(\rho_0\). We will see how this changes next term as you look at fluids that are compressible. Another missing ingredient is the fact that the Earth is rotating. This means if we are looking at geophysical scales, we have to include the Coriolis force. You will see the effect of that if you take Geophysical & Astrophysical Fluids IV next year.

Less important to the ocean, but very important to nearly all your experiences with fluids, is viscosity: the internal friction that makes liquids sticky! Next term we will derive the Navier–Stokes equations, the full version of the Euler equations that we’ve seen this term. We’ll solve them in some simple geometries and we’ll see how friction along boundaries cause fluids to slow down near them, leading to interesting behaviour.

Our adventures in fluid mechanics so far have been pretty heavy with vector calculus. This is because in fluid mechanics, our protagonist is \(\mathbfit{u}\), in the Eulerian reference frame (remember, we are bears). We have found equations that represent real, physical principles: conservation of mass, of momentum, of energy. Physics is hard and we have played with ideas that help us build intuition despite this: linearisation and assumptions like irrotationality and two-dimensionality. The study of fluid mechanics is a well-ploughed field and there are plenty of branches to discover. Let’s take a break, and continue our adventure in January.

Epiphany term

4 Instability

Welcome back! We pick up this term with a generalisation of the water wave analysis you did last term. In water waves there was an equilibrium which, when gently perturbed, set up oscillations about this equilibrium state. Because the resulting motion didn’t grow, we can say the equilibrium is stable. And as that state was stable to linear perturbations, it is known as linearly stable.

However, what if our initial state is not stable? What behaviour do we expect? Are some states more stable than others? Consider the analogy of a particle in a potential well.

image

We can see that (i) is stable to both small and large perturbations. The ball will oscillate back and forth in the well: if there’s friction, eventually it will lose energy and end up back in equilibrium; if not, it will oscillate forever. Either way, it is said to be linearly and nonlinearly stable. This is like the water wave configuration.

Setup (ii) is unstable to both small and large perturbations. Any perturbation will accelerate the ball downwards, extracting potential energy from the system and imparting it to the ball as kinetic energy.

Setup (iii) is the tricky one as it’s linearly stable, but nonlinearly unstable. A linear stability analysis of this system would fail to identify the stability of the system overall. There are some fluid states that fall into this category.

However, for what follows we’re going to ignore that and plough on with the study of linear stability in two common situations. In each case it will turn out that they are also nonlinearly unstable as well.

In other courses you may have seen two definitions of stability: asymptotic stability, where any perturbed motion decays, and Lyapunov stability, where any perturbed motion doesn’t grow. Here, we will talk about stability in the Lyapunov sense.

Meanwhile, the connection between small/large perturbations and ‘linear/nonlinear’ stability is that a linear approximation of the curve either side of the ball will pick up the correct behaviour for a small perturbation, but not necessarily for a large perturbation – which, of course, you can see in (iii).

4.1 The Rayleigh–Taylor instability

We start with an instability that occurs at an interface between two fluids of different density. As in water waves we suppose the two fluids are incompressible and irrotational, with initial density \[\rho(x,z,0) = \begin{cases} \rho_1 & \text{for }z>0,\\ \rho_2 & \text{for }z<0, \end{cases}\] and downward gravitational body force as shown in the left-hand picture:

image

This is just a generalisation of the water wave configuration, where now there is a second fluid above the interface. The right-hand picture shows the situation after the interface is disturbed, where \(z=\eta(x,t)\) is the interface (so \(\eta(x,0)=0\)). If the system is stable, then the perturbation will result in a wave as we’ve seen. If not, the perturbation will grow exponentially. Let’s see when this occurs.

image

The governing equations are similar to those for water waves, except that we don’t have constant \(p\) along the interface.

Potential flow for both fluids:

Assuming irrotational flow, we have \(\mathbfit{u}_1=\bm{\nabla}\phi_1\) and \(\mathbfit{u}_2=\bm{\nabla}\phi_2\) with \[\begin{aligned} {\nabla^2}\phi_1 &= 0 &\quad \text{for $z>\eta$},\\ {\nabla^2}\phi_2 &= 0 &\quad \text{for $z<\eta$}. \end{aligned}\]

Then we have the three boundary conditions:

No motion far away from the interface:

We will assume \[\begin{aligned} \mathbfit{u}_1\to \mathbf{0} \implies \phi_1\to 0 & \quad \text{as }z\to\infty,\\ \mathbfit{u}_2\to \mathbf{0} \implies \phi_2 \to 0& \quad \text{as }z\to-\infty. \end{aligned}\]

No flow through the interface at \(z=\eta(x,t)\):

The kinematic boundary condition holds at the interface, so \[\mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z} = \mathchoice{\frac{\mathrm{D} \eta }{\mathrm{D} t}}{\mathrm{D} \eta /\mathrm{D} t}{\mathrm{D} \eta /\mathrm{D} t}{\mathrm{D} \eta /\mathrm{D} t}= \mathchoice{\frac{\partial\phi_2}{\partial z}}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z} \quad \text{on $z=\eta$}.\]

Continuous pressure at the interface:

Bernoulli’s principle for unsteady potential flow, [bernoulli-potential], told us that \[\begin{align} \mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} + \frac{p}{\rho_0} + \frac{1}{2}|\bm{\nabla}\phi|^2 + gz &= 0\label{bern-for-rt-1} \end{align}\] throughout the fluid, where \(\phi\), \(p\) and \(\rho_0\) are the local velocity potential, pressure and density. Unlike for water waves, we do not assume the pressure is constant (wlog \(p=0\)) at the interface, but we do assume that \(p\) is continuous there. We can rearrange for \(p\) below and above the interface, \[\begin{aligned} p_1 &= -\left[\rho_1\mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + \frac{\rho_1}{2}|\bm{\nabla}\phi_1|^2 + \rho_1gz\right], \\ p_2 &= -\left[\rho_2\mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} + \frac{\rho_2}{2}|\bm{\nabla}\phi_2|^2 + \rho_2gz\right], \end{aligned}\] and match \(p_1=p_2\) at the boundary to find the new dynamic boundary condition, \[\rho_1\mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + \frac{\rho_1}{2}|\bm{\nabla}\phi_1|^2 + \rho_1g\eta = \rho_2\mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} + \frac{\rho_2}{2}|\bm{\nabla}\phi_2|^2 + \rho_2g\eta \quad \text{at $z=\eta$}.\]

Linearisation:

Now we linearise the equations and consider small disturbances to the steady state \(\eta = 0\). Similar to water waves, linearising these equations leads to \[\begin{align} {\nabla^2}\phi_1 &= 0 &&\quad \text{for $z>0$}, \label{eqn:linrt1}\\ {\nabla^2}\phi_2 &= 0 &&\quad \text{for $z<0$},\label{eqn:linrt2}\\ \phi_1, \phi_2 &\to 0 && \quad \text{as $z\to\infty,-\infty$},\\ \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} &= \mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z} = \mathchoice{\frac{\partial\phi_2}{\partial z}}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z} &&\quad \text{on $z=0$},\label{eqn:linrt3}\\ \rho_1\mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + \rho_1g\eta &= \rho_2\mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} + \rho_2g\eta &&\quad \text{on $z=0$}.\label{eqn:linrt4} \end{align}\]

We haven’t done the full \(\varepsilon\) expansion here, but if we wanted to, we could notate it like \(\phi_1 \to (\phi_1)_0 + \varepsilon(\phi_1)_1\), ultimately dropping the final subscript to get back to \(\phi_1\). To avoid confusion with the double subscript, we’ll do linearisation implicitly from now on.

Solutions:

As for water waves, we can look for travelling wave solutions that are periodic in the \(x\)-direction, \[\phi_1(x,z,t) = Z_1(z)\mathrm{e}^{\mathrm{i}(kx - \omega t)}.\] for the potential above the interface. Substituting this into [eqn:linrt1] and using the boundary condition \(\phi_1\to 0\) as \(z\to\infty\) shows that \[Z_1(z) = A_1\mathrm{e}^{-kz} \implies \phi_1(x,z,t) = A_1\mathrm{e}^{-kz}\mathrm{e}^{\mathrm{i}(kx - \omega t)}.\] Below the interface, we need an ansatz that has the same \(x\)-dependence so that it moves in phase with the fluid above the interface. Trying \[\phi_2(x,z,t) = Z_2(z)\mathrm{e}^{\mathrm{i}(kx - \omega t)},\] combined with \(\phi_2\to0\) as \(z\to -\infty\), gives \[\phi_2(x,z,t) = A_2\mathrm{e}^{kz}\mathrm{e}^{\mathrm{i}(kx - \omega t)}.\] The two potentials, in addition to being in phase in the \(x\)-direction, match at \(z=0\) (where we will linearise around) and decay away from the interface in both directions.

For the interface itself, we could rearrange the dynamic boundary condition for \(\eta\), [eqn:linrt4], as we did last term. A slightly shorter approach is to spot that \(\eta\) should be of the form \[\eta(x,t)=\eta_0\mathrm{e}^{\mathrm{i}(kx-\omega t)},\] and to use that as an ansatz. Substituting this into [eqn:linrt3] gives \[-\mathrm{i}\omega\eta_0 = -kA_1 = kA_2.\] So we need \(A_1 = -A_2 = A\) and \[\begin{equation} \eta(x,t) = \frac{kA}{\mathrm{i}\omega}\mathrm{e}^{\mathrm{i}(kx-\omega t)}.\label{eta-for-rt} \end{equation}\]

If you’re unconvinced by our ansatz approach for \(\eta\), derive \(\eta\) as we did last term (combining the dynamic and kinematic boundary conditions) and see how the \(\mathrm{e}^{\mathrm{i}(kx-\omega t)}\) term comes with us.

Dispersion relation:

Finally, substituting our expressions for \(\phi_1\), \(\phi_2\) and \(\eta\) into [eqn:linrt4] gives \[\begin{align} -\mathrm{i}\omega\rho_1A + \rho_1g\frac{kA}{\mathrm{i}\omega} = \mathrm{i}\omega\rho_2A + \rho_2g\frac{kA}{\mathrm{i}\omega}\\ \implies \quad \boxed{\omega^2 = \frac{\rho_2 - \rho_1}{\rho_1 + \rho_2}gk.} \label{eqn:rtdisp} \end{align}\] This is the dispersion relation for linear waves at the interface. It tells us that the system will support travelling waves, with phase speed \(c=\omega/k\), provided that \(\rho_2>\rho_1\) (so that \(\omega\) is real). In other words, the system is stable if the lower fluid is denser.

Recall that the dispersion relation for water waves in deep water is, from [disp-rel-deep], \(\omega^2=gk\). So these new waves are the same as water waves, but with a modified phase speed. In fact, when \(\rho_1=0\) the dispersion relation reduces to exactly the dispersion relation for waves on the surface of deep water (which makes sense, right?).

But if we put the the denser fluid on top, \(\rho_1 > \rho_2\), then \[\omega = \pm \mathrm{i}\sigma, \qquad \text{with } \sigma = \sqrt{\frac{\rho_1-\rho_2}{\rho_1 + \rho_2}gk}.\] (Note the sign change inside the square root here!) What does this mean for our interface?

If we go back to [eta-for-rt], we know that the interface height behaves as \(\eta \sim \mathrm{e}^{\mathrm{i}\omega t}\). If \(\omega\) is real, our perturbation produces travelling waves, but if \(\omega\) has any imaginary part the perturbation will exponentially grow or decay depending upon the sign. In short, we have ended up with is a straightforward way to assess if the perturbation will grow or oscillate!

If \(\rho_1>\rho_2\), then, the corresponding perturbations will take the form \(\eta(x,t) \sim \mathrm{e}^{\pm \sigma t}\), and will therefore exhibit exponential growth (taking the positive root). We call \(\sigma\) the growth rate. The instability this represents is called the Rayleigh–Taylor instability.

It should make intuitive sense that such a system is unstable. If you’ve ever turned a drink upside down you’ve seen this first hand! The instability acts to reduce the potential energy of the system by attempting to interchange the denser fluid on top with the less dense fluid underneath. The fastest growing perturbations have the largest \(k\) (and shortest wavelength). In practice, surface tension and viscosity stabilise the highest wavenumbers.

How do we know that the system is not nonlinearly stable though? In the full system the nonlinear terms could in theory kick in to stop the exponential growth. Well, practical experience is one, but we can also solve the Euler equations numerically to check.

Numerical solution of the nonlinear equations. Here the discretised Euler equations have been solved with periodic side boundaries using a publicly available code. Let’s consider a stable and unstable case where we’ve given the initial equilibrium a small perturbation to get things started. Black and white shows higher and lower density, respectively.

1. Stable (\(\rho_1=1\), \(\rho_2=3\)): Here the interface just oscillates at the frequency of the perturbation.

image image image

2. Unstable (\(\rho_1=3\), \(\rho_2=1\)): Here we observe the Rayleigh–Taylor instability. Notice how the disturbances develop first at small scales, because small scales (large \(k\)) have the largest growth rate \(\sigma\).

image image image image image

The code used above is written in MPI Fortran and is available from https://warwick.ac.uk/fac/sci/physics/research/cfsa/people/tda/larexd/. These simulations run in a few minutes on an average laptop (if you can endure Fortran).

Although Lord Rayleigh originally investigated the problem described above, it is named also for G. I. Taylor because he recognised that this instability will occur more generally whenever a dense fluid is accelerated into a less dense fluid. For example, it is responsible for the filamentary structure in supernova remnants such as the Crab nebula:

image

Here denser gas is pushing outward, driven not by gravity but by the blast wave from the explosion.

4.2 The Kelvin–Helmholtz instability

We now look at another instability that occurs at an interface between two fluids, but this time, the fluids are moving horizontally at different speeds. The fluid in this area (a layer) is being sheared, and such shear layers are formed all the time in the atmosphere and oceans. And not just on our planet! Think about the striped cloud layers of for example Jupiter or Saturn.

Generally, shear layers have some (finite) thickness where the flow changes from one speed to another. If you think about the windmills from last term, you’ll see that there is therefore some (finite) vorticity in the shear region:

image

However, we will assume here that layer is concentrated to an interface, i.e. that there is a discontinuous jump in speed from one side of the interface to the other. The interface itself has an infinite vorticity and is what is know as a vortex sheet (being the generalisation of a vortex line). The flow is given by \[\mathbfit{u}(x,z,0) = \begin{cases} U_1\widehat{\mathbfit{e}}_x& \text{for }z > 0,\\ U_2\widehat{\mathbfit{e}}_x& \text{for }z < 0, \end{cases}\] where we assume \(U_1\) and \(U_2\) are constants. Again we assume that both fluids are inviscid and incompressible. For simplicity we will assume both flows have the same density, \(\rho=\rho_0\), but this assumption can be relaxed (giving a more complex dispersion relation).

image

Before we begin, note that unlike in Rayleigh–Taylor, the interface isn’t initially stationary. Given that we’re perturbing around the static equilibrium (\(\phi\) constant), it would be good if this were the case. To fix this, we shift to a reference frame moving at the average speed of the two flows, \(\tfrac12(U_1+U_2)\). In this frame, the interface appears stationary and \[\mathbfit{u}(x,z,0) = \begin{cases} U\widehat{\mathbfit{e}}_x& \text{for }z > 0,\\ -U\widehat{\mathbfit{e}}_x& \text{for }z < 0, \end{cases}\] where \(U=\tfrac12(U_1-U_2)\). This also simplifies our equations!

image

At first glance, shifting to this reference frame makes it seem obvious that the interface at equilibrium has speed \(0\), since the speeds above and below it (\(U\) and \(-U\)) average to zero. However, this holds true only because the densities on both sides are equal. The real condition is that the energy above and below has to average to zero. We will explore this in Problems Class 5.

Denoting the interface again as \(z=\eta(x,t)\), with \(\eta(x,0)=0\), the governing equations are similar to Rayleigh–Taylor:

Potential flow for both fluids:

We again assume that the perturbed flow is irrotational and incompressible, so that \[\begin{aligned} \mathbfit{u}_1&=U\widehat{\mathbfit{e}}_x+ \bm{\nabla}\phi_1,\\ \mathbfit{u}_2&=-U\widehat{\mathbfit{e}}_x+ \bm{\nabla}\phi_2, \end{aligned}\] with \[\begin{aligned} {\nabla^2}\phi_1 &= 0 &\quad \text{for $z>\eta$},\\ {\nabla^2}\phi_2 &= 0 &\quad \text{for $z<\eta$}. \end{aligned}\]

Uniform flow far away from the interface:

We will assume \[\begin{aligned} \mathbfit{u}_1\to U\widehat{\mathbfit{e}}_x\implies \phi_1\to 0 & \quad \text{as }z\to\infty,\\ \mathbfit{u}_2\to -U\widehat{\mathbfit{e}}_x\implies \phi_2 \to 0& \quad \text{as }z\to-\infty. \end{aligned}\]

No flow through the surface at \(z=\eta(x,t)\):

The kinematic boundary condition is the same as before, so \[\mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z} = \mathchoice{\frac{\mathrm{D} \eta}{\mathrm{D} t}}{\mathrm{D} \eta/\mathrm{D} t}{\mathrm{D} \eta/\mathrm{D} t}{\mathrm{D} \eta/\mathrm{D} t} = \mathchoice{\frac{\partial\phi_2}{\partial z}}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z} \quad \text{on $z=\eta$}.\]

Continuous pressure at the interface:

To apply Bernoulli’s principle for unsteady potential flow, [bern-for-rt-1], we have to convert our velocities into potentials, i.e. \[\mathbfit{u}_1 = \bm{\nabla}(U x + \phi_1), \quad \mathbfit{u}_2 = \bm{\nabla}(-U x + \phi_2).\] We then apply the principle on these potentials, \[\begin{aligned} \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}[U x + \phi_1] + \frac{p_1}{\rho_0} + \frac{1}{2}\big|\bm{\nabla}(U x + \phi_1)\big|^2 + gz &= 0& \quad \text{for }z>\eta, \\ \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}[-U x + \phi_2] + \frac{p_2}{\rho_0} + \frac{1}{2}\big|\bm{\nabla}(-U x + \phi_2)\big|^2 + gz &= 0& \quad \text{for }z<\eta. \end{aligned}\] Therefore at \(z=\eta\), matching \(p\) on both sides of the interface, we have \[\begin{aligned} \rho_0\mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + \frac{\rho_0}{2}\big|\underbrace{U \widehat{\mathbfit{e}}_x+ \bm{\nabla}\phi_1}_{\mathbfit{u}_1}\big|^2 + \rho_0g\eta &= \rho_0\mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} + \frac{\rho_0}{2}\big|\underbrace{-U \widehat{\mathbfit{e}}_x+ \bm{\nabla}\phi_1}_{\mathbfit{u}_2}\big|^2 + \rho_0g\eta. \end{aligned}\] The second term on the left-hand side expands like \[\begin{aligned} \big|U \widehat{\mathbfit{e}}_x+ \bm{\nabla}\phi_1\big|^2 &= U^2 + 2U\mathchoice{\frac{\partial\phi}{\partial x}}{\partial\phi/\partial x}{\partial\phi/\partial x}{\partial\phi/\partial x} + |\bm{\nabla}\phi_1 |^2, \end{aligned}\] and similarly on the right, giving us (after dividing through by \(\rho_0\)) \[\begin{align} \mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + \frac{U^2}{2} + U\mathchoice{\frac{\partial\phi_1}{\partial x}}{\partial\phi_1/\partial x}{\partial\phi_1/\partial x}{\partial\phi_1/\partial x} + \frac{1}{2}|\bm{\nabla}\phi_1|^2 &= \mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} + \frac{U^2}{2} - U\mathchoice{\frac{\partial\phi_2}{\partial x}}{\partial\phi_2/\partial x}{\partial\phi_2/\partial x}{\partial\phi_2/\partial x} + \frac{1}{2}|\bm{\nabla}\phi_2|^2. \label{us-dont-cancel} \end{align}\] The condition at \(z=\eta\) is therefore \[\begin{equation} \mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + U\mathchoice{\frac{\partial\phi_1}{\partial x}}{\partial\phi_1/\partial x}{\partial\phi_1/\partial x}{\partial\phi_1/\partial x} + \frac{1}{2}|\bm{\nabla}\phi_1|^2 = \mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} - U\mathchoice{\frac{\partial\phi_2}{\partial x}}{\partial\phi_2/\partial x}{\partial\phi_2/\partial x}{\partial\phi_2/\partial x} + \frac{1}{2}|\bm{\nabla}\phi_2|^2 . \label{eqn:khb} \end{equation}\]

Quick check on our equilibrium, where \(\phi=0\): does this equation still hold? Yes it does: we get \(0=0\). You might spot that it wouldn’t (the non-\(\phi\) terms in [us-dont-cancel] wouldn’t cancel) if we hadn’t moved to the average-energy frame of reference.

Linearisation:

The linearisation is now modified. As before, we have \[\begin{align} {\nabla^2}\phi_1 &= 0 \quad \text{for $z>0$}, \label{eqn:khlin1}\\ {\nabla^2}\phi_2 &= 0 \quad \text{for $z<0$}. \label{eqn:khlin2} \end{align}\] However, the kinematic boundary condition is now modified! If we expand \(\mathchoice{\frac{\mathrm{D} \eta}{\mathrm{D} t}}{\mathrm{D} \eta/\mathrm{D} t}{\mathrm{D} \eta/\mathrm{D} t}{\mathrm{D} \eta/\mathrm{D} t}\), we get \[\begin{aligned} \mathchoice{\frac{\mathrm{D} \eta }{\mathrm{D} t}}{\mathrm{D} \eta /\mathrm{D} t}{\mathrm{D} \eta /\mathrm{D} t}{\mathrm{D} \eta /\mathrm{D} t}&= \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} + (\mathbfit{u}_1\cdot\bm{\nabla})\eta \\ &= \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} + U \mathchoice{\frac{\partial\eta}{\partial x}}{\partial\eta/\partial x}{\partial\eta/\partial x}{\partial\eta/\partial x} + \bm{\nabla}\phi\cdot\bm{\nabla}\eta. \end{aligned}\] The final term will disappear in the linearisation as usual, but the second term does not! So the linearised form of the kinematic boundary condition is now \[\begin{align} \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} &= \mathchoice{\frac{\partial\phi_1}{\partial z}}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z}{\partial\phi_1/\partial z} - U\mathchoice{\frac{\partial\eta}{\partial x}}{\partial\eta/\partial x}{\partial\eta/\partial x}{\partial\eta/\partial x} \quad \text{on $z=0$} \label{eqn:khlin3a} \\ \text{and}\quad \mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} &= \mathchoice{\frac{\partial\phi_2}{\partial z}}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z}{\partial\phi_2/\partial z} + U\mathchoice{\frac{\partial\eta}{\partial x}}{\partial\eta/\partial x}{\partial\eta/\partial x}{\partial\eta/\partial x} \quad \text{on $z=0$}. \label{eqn:khlin3} \end{align}\] Linearising the dynamic boundary condition, [eqn:khb], gives \[\begin{equation} \mathchoice{\frac{\partial\phi_1}{\partial t}}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t}{\partial\phi_1/\partial t} + U\mathchoice{\frac{\partial\phi_1}{\partial x}}{\partial\phi_1/\partial x}{\partial\phi_1/\partial x}{\partial\phi_1/\partial x} = \mathchoice{\frac{\partial\phi_2}{\partial t}}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t}{\partial\phi_2/\partial t} - U\mathchoice{\frac{\partial\phi_2}{\partial x}}{\partial\phi_2/\partial x}{\partial\phi_2/\partial x}{\partial\phi_2/\partial x} \quad \text{on $z=0$}. \label{eqn:khlin4} \end{equation}\]

Solutions:

As for Rayleigh–Taylor, we can satisfy [eqn:khlin1] and [eqn:khlin2], as well as the boundary conditions at \(z\to\pm\infty\) with \[\phi_1(x,z,t) = A_1\mathrm{e}^{-kz}\mathrm{e}^{\mathrm{i}(kx-\omega t)}, \qquad \phi_2(x,z,t) = A_2\mathrm{e}^{kz}\mathrm{e}^{\mathrm{i}(kx-\omega t)}.\] Now trying our ansatz \(\eta(x,t)=\eta_0\mathrm{e}^{\mathrm{i}(kx-\omega t)}\) in the new kinematic boundary condition, [eqn:khlin3a] and [eqn:khlin3], gives \[\begin{aligned} -\mathrm{i}\omega\eta_0 &= -kA_1 - \mathrm{i}k\eta_0U,\\ -\mathrm{i}\omega\eta_0 &= kA_2 + \mathrm{i}k\eta_0U, \end{aligned}\] so we have \[A_1 = \mathrm{i}\eta_0\left(\frac{\omega}{k} - U\right), \qquad A_2 = \mathrm{i}\eta_0\left(- \frac{\omega}{k}-U \right).\]

Dispersion relation:

Putting this in [eqn:khlin4] then gives \[\begin{aligned} -\mathrm{i}\omega A_1 + \mathrm{i}k U A_1 &= -\mathrm{i}\omega A_2 - \mathrm{i}k UA_2 \\ \implies A_1(\omega - k U)&= A_2(\omega +kU) \\ \implies \left(\frac{\omega}{k}-U\right)(\omega - Uk) &= \left(-\frac{\omega}{k}-U\right)(\omega + Uk). \end{aligned}\] Multiplying out and grouping the terms, we finally get the dispersion relation, \[\begin{aligned} \boxed{\omega^2 + U^2 k^2 = 0}. \end{aligned}\] Thus, we have only exponentially growing (and decaying) modes with \[\omega = \pm \mathrm{i}\sigma \quad \text{where } \sigma = U k.\] The instability this represents is called the Kelvin–Helmholtz instability. We can see that the larger \(U\) (the bigger the difference between the flow rates in our shifted reference frame), the faster the instability. We also see that the largest wave numbers (shortest wavelengths) grow the fastest. In practice, surface tension, viscosity and a difference in density between the two layers can all have a stabilising effect.

So what drives the instability in this case? The flows each side of the interface act as a reservoir of kinetic energy. The instability acts to setup eddies between the two flows that feed off and are reinforced by each side. This lowers the kinetic energy of the system as a whole, and also mixes the two fluid regions. To see this properly we need to look at the non-linear evolution.

Numerical solution of the nonlinear equations. Again the discretised Euler equations are solves numerically with periodic side boundaries and a small perturbation to the initial condition to gets things underway. Fluid particles are coloured white and black on each side to show how the region mix.

The instability breaks the vortex sheet up into discrete vortices (the famous ‘cats eyes’), as shown by the evolution below:

image image image image

The grey areas occur because numerical error is smoothing out large gradients in the flow, inevitable due to the finite evolution. The true solution of the Euler equations would always have either black or white everywhere. In real fluids, however, viscosity will act in the same way to smooth out these discontinuities once they become thin enough. We’ll discuss this further later in the term.

‘Look, dear, it’s a Kelvin–Helmholtz instability!’ Amaze your friends by spotting the Kelvin–Helmholtz instability in clouds. Look for the clouds becoming distorted into breaking wave-like shapes!

image

The two examples above demonstrate that a great deal of intuition can be gained by examining the linear stability of fluid equilibria. The methodology used gives us a tool to test other configurations (see the problem sheet). However, it should alway be kept in mind the limitations of our assumptions. Proving stability/instability to one kind of perturbation (e.g. an irrotational and linear one as we have been assuming) does not necessarily mean the system is still stable/unstable to other kinds of perturbations or when further physics (e.g. surface tension, viscosity etc) are included.

The complex, chaotic motion that results from instabilities such as Rayleigh–Taylor or Kelvin–Helmholtz is called turbulence. Although the flow still obeys the same fluid equations, the sensitive dependence on initial conditions means that it cannot be analytically modelled in practice for long times. Instead, it needs to be modelled statistically (beyond the scope of this course).

The two instabilities are treated very lightly in Paterson, §§XIII.5, and as exercises in Acheson, chapter 3. Acheson §9.2 has a small amount more to say on Kelvin–Helmholtz.

5 Compressible flow

So far we have been considering incompressible fluids. This approximation works well for fluids like water and oil, but fails for gases in most contexts. As we’ll see, the key things that we gain by allowing the fluid to be compressible are sound waves and shocks. Before getting to these fun phenomena, we need to put our vector calculus hat back on and do some manipulations. It’s like it’s a third year course or something...

Recall the continuity and momentum equations for an inviscid fluid: \[\begin{align} \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \bm{\nabla}\cdot(\rho\mathbfit{u}) &= 0,\label{eqn:eul1}\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} &= - \frac{1}{\rho}\bm{\nabla}p + \mathbfit{f}.\label{eqn:eul2} \end{align}\] If the fluid is compressible, then this means \(\rho\) can vary in space and time: in particular, we can’t assume it is a known constant. Unfortunately, this means that the system is not now a closed one as there are 5 unknown functions (\(u, v, w, p, \rho\)) but only 4 equations.

To close the system, we need an additional physical equation. This is achieved through positing a dependence of pressure on density and/or temperature. The most general case is that of a baroclinic fluid, where pressure is related to both. Such flows are important in understanding for example cyclones. However, that is beyond the scope of this course.

5.1 Barotropic fluids

A simpler, but still incredibly useful approximation is when pressure depends solely on density: \[p = P(\rho).\] (We’ll use capital \(P\) here to try to make this more legible.) Such fluids are known as barotropic.

5.1.1 Conservation of energy

Having made this assumption, we now need to check whether this still leads to physical flows. In particular, energy of some form should still be conserved. For incompressible flows, we saw that kinetic energy was conserved, but this time that won’t be the case since kinetic energy can be converted to internal energy (effectively heat) by compressing the same mass into a smaller volume.

So let’s say make exactly that statement: in the absence of a body force, energy, \(E\), is conserved so long as we allow kinetic energy to convert into internal energy, \(e\). It turns out the exact form – we’ll prove it now – is \[\begin{align} \quad E = \int_V\rho\left(\frac{1}{2}|\mathbfit{u}|^2 + e(\rho)\right){\mathrm d}V, \quad \text{where} \quad e(\rho) = \int_0^\rho\frac{P(\sigma)}{\sigma^2}\,{\mathrm d}\sigma \label{E-is-conserved} \end{align}\] (assuming again that no fluid enters our control volume, i.e. \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\) on the boundary). We call \(e(\rho)\) the internal energy density or specific internal energy, meaning internal energy per unit mass. We will see shortly that we indeed experience it as heat.

Let’s now show we have the right form of \(e\) by proving \(E\) is conserved (take a deep breath). Consider each term of [E-is-conserved] separately, starting with the first term (kinetic energy). We’ll start in the same way we did for incompressible fluids in 2.3.1. Since the volume is fixed, we can take the derivative inside the integral to give \[\begin{aligned} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_V\frac12\rho|\mathbfit{u}|^2\;\mathrm{d}V&=\int_V\frac12\mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}\left(\rho|\mathbfit{u}|^2\right){\mathrm d}V\\ &= \int_V\left(\frac12|\mathbfit{u}|^2\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \rho\mathbfit{u}\cdot\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}\right){\mathrm d}V\\ &= \int_V\left[\frac12|\mathbfit{u}|^2\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \rho\mathbfit{u}\cdot\left(-(\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} - \frac{1}{\rho}\bm{\nabla}P \right)\right]{\mathrm d}V. \end{aligned}\] We use the same trick as for incompressible fluids and use the goated identity \[\begin{aligned} (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = (\bm{\nabla}\times\mathbfit{u})\times\mathbfit{u} + \frac12\bm{\nabla}(|\mathbfit{u}|^2), \end{aligned}\] along with the observation that the cross product term disappears when dotted with \(\mathbfit{u}\), to get \[\begin{aligned} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_V\frac12\rho|\mathbfit{u}|^2\;\mathrm{d}V&=\int_V\left[\frac12|\mathbfit{u}|^2\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} - \rho\mathbfit{u}\cdot\bm{\nabla}\left(\frac12|\mathbfit{u}|^2\right) - \mathbfit{u}\cdot\bm{\nabla}P \right]{\mathrm d}V. \end{aligned}\] The middle term on the right-hand side can be manipulated using the rearranged product rule for divergence, \[\begin{align} \mathbfit{A}\cdot\bm{\nabla}f = \bm{\nabla}\cdot(f \mathbfit{A})-f\bm{\nabla}\cdot\mathbfit{A}, \label{prod-rule-for-div} \end{align}\] and then the divergence theorem on the final term in the identity, to get \[\begin{aligned} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_V\frac12\rho|\mathbfit{u}|^2\;\mathrm{d}V&= \int_V\left[\frac12|\mathbfit{u}|^2\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \frac12|\mathbfit{u}|^2\bm{\nabla}\cdot\big(\rho\mathbfit{u}\big) - \mathbfit{u}\cdot\bm{\nabla}P \right]{\mathrm d}V - \int_{S}\frac12|\mathbfit{u}|^2\rho\mathbfit{u}\cdot\,{\mathrm d}\mathbfit{S}. \end{aligned}\] The first two terms on the right form a multiple of the continuity equation, so disappear, and the final term is integrating a multiple of \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}\) around the boundary. But \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\) on the boundary by our original setup of the problem, which leaves us with \[\begin{align} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_V\frac12\rho|\mathbfit{u}|^2\;\mathrm{d}V &= -\int_V\mathbfit{u}\cdot\bm{\nabla}P\;\mathrm{d}V.\label{eqn:prop1} \end{align}\] We can interpret this as saying kinetic energy is converted away when the pressure forces (\(-\bm{\nabla}P\)) act directly against the velocity. For what it’s worth, notice that this equation holds whether or not the fluid is barotropic.

Now consider the internal energy term in [E-is-conserved]. From the chain rule and the definition of \(e\), we have \[\begin{aligned} \mathchoice{\frac{\partial e}{\partial t}}{\partial e/\partial t}{\partial e/\partial t}{\partial e/\partial t} = \mathchoice{\frac{{\mathrm d}e}{{\mathrm d}\rho}}{{\mathrm d}e/{\mathrm d}\rho}{{\mathrm d}e/{\mathrm d}\rho}{{\mathrm d}e/{\mathrm d}\rho}\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} = \frac{P}{\rho^2}\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t}, \end{aligned}\] so \[\begin{aligned} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_V\rho e\;\mathrm{d}V&= \int_V\left(e\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \rho\mathchoice{\frac{\partial e}{\partial t}}{\partial e/\partial t}{\partial e/\partial t}{\partial e/\partial t} \right)\;\mathrm{d}V\\ &= \int_V\left(e + \frac{P}{\rho} \right)\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t}\;\mathrm{d}V\\ &= -\int_V\left(e + \frac{P}{\rho} \right)\bm{\nabla}\cdot\big(\rho\mathbfit{u}\big)\;\mathrm{d}V\\ &= \int_V\rho\mathbfit{u}\cdot\bm{\nabla}\underbrace{\left(e + \frac{P}{\rho} \right)}_{\text{function of $\rho$}}\;\mathrm{d}V- \int_{S}\left(e + \frac{P}{\rho} \right)\underbrace{\rho\mathbfit{u}\cdot\,{\mathrm d}\mathbfit{S}}_{\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0 \text{ on $S$}}\\ &= \int_V\rho\mathbfit{u}\cdot\left(\mathchoice{\frac{{\mathrm d}e}{{\mathrm d}\rho}}{{\mathrm d}e/{\mathrm d}\rho}{{\mathrm d}e/{\mathrm d}\rho}{{\mathrm d}e/{\mathrm d}\rho} + \frac{P'(\rho)}{\rho} - \frac{P}{\rho^2} \right)\bm{\nabla}\rho\;\mathrm{d}V\\ &= \int_V\rho\mathbfit{u}\cdot\left(\frac{P}{\rho^2} + \frac{P'(\rho)}{\rho} - \frac{P}{\rho^2} \right)\bm{\nabla}\rho\;\mathrm{d}V\\ &= \int_V\rho\mathbfit{u}\cdot\frac{P'(\rho)}{\rho}\bm{\nabla}\rho \;\mathrm{d}V\\ &= \int_V\mathbfit{u}\cdot\bm{\nabla}P\;\mathrm{d}V. \end{aligned}\] This is equal and opposite to [eqn:prop1], hence the total energy \(E\) is conserved! Phew…

Convince yourself that in the presence of a steady conservative force, \(\mathbfit{f} = -\bm{\nabla}\mathit{\Phi}\), the conserved quantity (and analogue of [E-is-conserved]) is \[\int_V \rho \left(\frac12 | \mathbfit{u} |^2 + e(\rho) + \mathit{\Phi}\right) {\mathrm d}V.\] Hint: use [prod-rule-for-div] with \(f=\mathit{\Phi}\), \(\mathbfit{A}=\rho\mathbfit{u}\).

5.1.2 A new Bernoulli

As with incompressible fluids, we can also find a conserved energy-related quantity along streamlines, generalising Bernoulli’s principle.

Recall that we derived Bernoulli’s principle in 2.3.2 by writing down the momentum equation for a conservative body force, \(\mathbfit{f}=-\bm{\nabla}\mathit{\Phi}\), \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = - \frac{1}{\rho} \bm{\nabla}p - \bm{\nabla}\mathit{\Phi},\] and then using our favourite vector identity on the second term to turn the whole right-hand side into \(\bm{\nabla}[\text{stuff}]\). Dotting the equation with \(\mathbfit{u}\) and assuming steady flow gave us the result. But this time, it’s a bit harder to write the pressure term in the form \(\bm{\nabla}[\text{stuff}]\) because \(\rho\) isn’t a constant.

That is, unless we just decide we can and see what happens. Let’s introduce \(h(\rho)\) so that the momentum equation becomes \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} = - \bm{\nabla}h - \bm{\nabla}\mathit{\Phi}.\] What does \(h\) have to be to make this work? Well, \[\begin{aligned} \bm{\nabla}h(\rho) &= \frac{1}{\rho}\bm{\nabla}P(\rho) \\ \mathchoice{\frac{{\mathrm d}h}{{\mathrm d}\rho}}{{\mathrm d}h/{\mathrm d}\rho}{{\mathrm d}h/{\mathrm d}\rho}{{\mathrm d}h/{\mathrm d}\rho}\bm{\nabla}\rho &= \frac{1}{\rho}\mathchoice{\frac{{\mathrm d}P}{{\mathrm d}\rho}}{{\mathrm d}P/{\mathrm d}\rho}{{\mathrm d}P/{\mathrm d}\rho}{{\mathrm d}P/{\mathrm d}\rho}\bm{\nabla}\rho \\ \mathchoice{\frac{{\mathrm d}h}{{\mathrm d}\rho}}{{\mathrm d}h/{\mathrm d}\rho}{{\mathrm d}h/{\mathrm d}\rho}{{\mathrm d}h/{\mathrm d}\rho} &= \frac{1}{\rho}\mathchoice{\frac{{\mathrm d}P}{{\mathrm d}\rho}}{{\mathrm d}P/{\mathrm d}\rho}{{\mathrm d}P/{\mathrm d}\rho}{{\mathrm d}P/{\mathrm d}\rho} \implies h(\rho) = \int_0^\rho\frac{P'(\sigma)}{\sigma}\,{\mathrm d}\sigma. \end{aligned}\] And the method in 2.3.2 now works to show that the energy head \(H\) generalises to \[H = h(\rho) + \frac{1}{2}|\mathbfit{u}|^2+\mathit{\Phi}.\]

Have a go at deriving the new form of \(H\) by following the steps in 2.3.2. The solution is provided in Problems Class 6.

5.1.3 Some thermodynamics

A very common model for pressure is \[P(\rho) = k\rho^\gamma,\] which represents an ideal gas undergoing an adiabatic process (no additional heat added). The constant \(\gamma\) is called the adiabatic index and depends on the number of degrees of freedom of the molecules making up the gas. Specifically, \(\gamma=(n_{\rm dof} + 2)/n_{\rm dof}\). Diatomic molecules such as \({\rm N}_2\) or \({\rm O}_2\) have \(n_{\rm dof}=5\) (3 translational + 2 rotational), so \(\gamma=\tfrac75=1.4\). Thus air has \(\gamma\approx 1.4\).

Furthermore, thermodynamics tells us that the entropy, \(S\), of an ideal gas satisfies \[S = c_V\log(P\rho^{-\gamma}) + \text{constant}.\] In the adiabatic ideal gas model, \(P\rho^{-\gamma}=k\) is constant. Thus, this assumption corresponds to assuming that no heat is transferred between fluid particles (\(\mathchoice{\frac{\mathrm{D} S}{\mathrm{D} t}}{\mathrm{D} S/\mathrm{D} t}{\mathrm{D} S/\mathrm{D} t}{\mathrm{D} S/\mathrm{D} t}=0\)). Heating/cooling of fluid in a region is purely through compression/expansion of the fluid (more or fewer particles), not heat transfer.

Meanwhile, the internal energy density, \(e\), is related to temperature by \[e = \frac{c_VT}{\mu},\] where \(c_V\) is the molar heat capacity at constant volume (how much energy you have to add to one mole of a substance to increase the temperature by one unit), and \(\mu\) is the mass per mole of a substance. For an ideal gas, \(c_V=\tfrac12n_\text{dof}R\), where \(R\approx \qty{8.3}{\J\per\K\per\mole}\) is the universal gas constant.

If you combine this relation with the definition of \(e\) in [E-is-conserved], you might be able to see this is a generalisation of ‘\(pV=nRT\)’ from A-level physics.

Toasty noses: Let’s try these out in practice. Consider a passenger jet flying over Durham en route to Schiphol. Assuming the air is an ideal gas, how hot does the nose of the jet liner get?

image

At the nose there is a stagnation point in the flow, so \(u_1=0\). Compared to a point just above the fuselage and ignoring gravity, Bernoulli tells us that \[h_1 = h_2 + \frac{1}{2}u^2_2,\] but we need to turn this into a statement about temperature. We know the temperature at cruising altitude is \(\approx \qty{-50}{\celsius}\). We also know that for an ideal gas, \[h(\rho) = \int_0^\rho \frac{P'(\sigma)}{\sigma}{\mathrm d}\sigma = \int_0^\rho k\gamma\sigma^{\gamma-2}\,{\mathrm d}\sigma = \frac{k\gamma}{\gamma-1}\rho^{\gamma-1} = \frac{\gamma P}{(\gamma-1)\rho},\] and \[\begin{equation} e(\rho) = \int_0^\rho \frac{P(\sigma)}{\sigma^2} {\mathrm d}\sigma = \int_0^\rho k\sigma^{\gamma-2}\,{\mathrm d}\sigma = \frac{k\rho^{\gamma-1}}{\gamma-1} = \frac{P}{(\gamma-1)\rho} = \frac{h(\rho)}{\gamma}. \label{e-of-rho} \end{equation}\] But we also have that \[e(\rho)= \frac{c_VT}{\mu} \implies h(\rho) = \frac{c_V\gamma T}{\mu}.\] We can now find a relation between the temperatures: \[T_1 = T_2 + \frac{u^2_2 \mu}{2\gamma c_V}.\] Let put in some numbers. Let’s say the jet is moving at \(\qty{500}{mph}\approx \qty{220}{\metre\per\s}\). We have for air (mostly nitrogen and oxygen) that \(\gamma = 1.4\) and \(\mu = \qty{0.029}{\kg\per\mole}\), and \(c_V = \frac{1}{2}n_\text{dof}R \approx \qty{21}{\joule\per\K\per\mole}\). We find then that \[T_1 = -50 + \frac{220^2\times 0.029}{2\times1.4\times21} = \qty{-26}{\celsius}.\] So at these speeds, only a mild heating occurs. Note that technically we should be using Kelvin, not Celsius, here, but they differ by a fixed number (\(\unit{\celsius} = \unit{\kelvin} - 273.15\)) so it doesn’t affect the result. What about higher speeds? Well, Concorde used to fly at around 605 m s−1 (Mach \(2.04\)). This equates to \[T_1 = -50 + \frac{605^2\times 0.029}{2\times1.4\times21} = \qty{130}{\celsius}!\] A lot hotter! The hot air would pass down by the side windows and passengers could actually feel the heat through the glass.

5.2 Sound waves

The most important new feature of a compressible fluid is that it supports pressure oscillations, or sound waves. As we’ve seen, linearisation is an excellent tool for studying waves. This is no exception.

5.2.1 Small-amplitude sound waves

We start from the unforced (\(\mathbfit{f}=\mathbf{0}\)) compressible barotropic Euler equations: \[\begin{align} \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \bm{\nabla}\cdot(\rho\mathbfit{u}) &= 0,\label{eqn:ceul1}\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u} &= -\frac{1}{\rho}\bm{\nabla}p,\label{eqn:ceul2}\\ p &= P(\rho). \end{align}\] We will consider disturbances around a base state with uniform density \(\rho_0\), uniform pressure \(p_0=P(\rho_0)\), and zero velocity. Replacing \(\rho\to\rho_0+\varepsilon\rho_1\), \(p\to p_0+\varepsilon p_1\) and \(\mathbfit{u} = \varepsilon\mathbfit{u}_1\) in [eqn:ceul1] and [eqn:ceul2] gives \[\begin{align} \varepsilon\mathchoice{\frac{\partial\rho_1}{\partial t}}{\partial\rho_1/\partial t}{\partial\rho_1/\partial t}{\partial\rho_1/\partial t} + \varepsilon\rho_0\bm{\nabla}\cdot\mathbfit{u}_1 + \varepsilon^2\bm{\nabla}\cdot(\rho_1\mathbfit{u}_1) &= 0,\label{eqn:ceul11}\\ \varepsilon\mathchoice{\frac{\partial\mathbfit{u}_1}{\partial t}}{\partial\mathbfit{u}_1/\partial t}{\partial\mathbfit{u}_1/\partial t}{\partial\mathbfit{u}_1/\partial t} + \varepsilon^2(\mathbfit{u}_1\cdot\bm{\nabla})\mathbfit{u}_1 &= -\frac{\varepsilon}{\rho_0+\varepsilon\rho_1}\bm{\nabla}p_1,\label{eqn:ceul12}\\ p_0+\varepsilon p_1 &= P(\rho_0+\varepsilon\rho_1).\label{eqn:ceul13} \end{align}\]

To linearise the awkward terms on the right-hand sides, we use Taylor expansion to write \[\frac{1}{\rho_0+\varepsilon\rho_1} = \frac{1}{\rho_0}\left( \frac{1}{1+\varepsilon\frac{\rho_1}{\rho_0}} \right) = \frac{1}{\rho_0}\left(1 - \varepsilon\frac{\rho_1}{\rho_0} + \varepsilon^2\frac{\rho_1^2}{\rho_0^2} + \cdots \right)\] and also \[\begin{aligned} P(\rho_0+\varepsilon\rho_1) &= P(\rho_0) + \varepsilon\rho_1 P'(\rho_0) + \frac{\varepsilon^2\rho_1^2}{2!}P''(\rho_0) + \cdots\\ &= p_0 + \varepsilon\rho_1 P'(\rho_0) + \frac{\varepsilon^2\rho_1^2}{2!}P''(\rho_0) + \cdots, \end{aligned}\] so that the linearised equations (at order \(\varepsilon\) and dropping the subscript \(1\)) are \[\begin{align} \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \rho_0\bm{\nabla}\cdot\mathbfit{u} &= 0,\label{eqn:lin1}\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} &= -\frac{1}{\rho_0}\bm{\nabla}p,\label{eqn:lin2}\\ p &= P'(\rho_0)\rho.\label{eqn:lin3} \end{align}\]

An equation for \(p\):

We can derive an equation for the pressure perturbation \(p\) by differentiating [eqn:lin1] with respect to time and substituting in [eqn:lin2]: \[\begin{aligned} \mathchoice{\frac{\partial^2 \rho}{\partial t^2}}{\partial^2 \rho/\partial t^2}{\partial^2 \rho/\partial t^2}{\partial^2 \rho/\partial t^2} = -\rho_0\bm{\nabla}\cdot\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} = {\nabla^2}p. \end{aligned}\] Substituting in \(\rho=p/P'(\rho_0)\) from [eqn:lin3] implies \[\boxed{ \mathchoice{\frac{\partial^2 p}{\partial t^2}}{\partial^2 p/\partial t^2}{\partial^2 p/\partial t^2}{\partial^2 p/\partial t^2} = c_0^2{\nabla^2}p \quad \text{with $c_0 = \sqrt{P'(\rho_0)}$}.}\] This is the three-dimensional wave equation and \(c_0\) is called the sound speed. Note that we can use this definition of \(c_0\) to rewrite [eqn:lin3] as \[\begin{equation} p = c_0^2 \rho. \label{p-in-terms-of-rho} \end{equation}\]

The speed of sound: Assuming an ideal gas, \(P(\rho)=k\rho^\gamma\), the sound speed is \[c_0=\sqrt{k\gamma\rho_0^{\gamma-1}}.\] What’s this in terms of temperature? Well, we know \(T=e\mu/c_V\) and we saw in [e-of-rho] that \[e(\rho_0) = \int_0^{\rho_0}\frac{P(\sigma)}{\sigma^2}{\mathrm d}\sigma = \frac{k\rho_0^{\gamma-1}}{\gamma-1}.\] So we can write \(c_0\) as a function of \(e\) and then introduce \(T\), \[c_0 = \sqrt{\gamma(\gamma-1)e(\rho_0)} = \sqrt{\gamma(\gamma-1)\frac{c_VT}{\mu}}.\] Given \(\gamma=(n_\text{dof}+2)/n_\text{dof}\) and \(c_V=\tfrac12n_{\rm dof}R\), we get \[c_0 = \sqrt{\frac{\gamma RT}{\mu}}.\] So, for an ideal a gas, the sound speed is only a function of temperature. For air, \(\gamma=1.4\), \(R=\qty{8.3}{\J\per\K\per\mole}\) and \(\mu=\qty{0.029}{\kg\per\mol}\), so \[c_0 = \begin{cases} \qty{332}{\metre\per\s} & \text{at $T=\qty{273}{\K}$ (\qty{0}{\celsius})},\\ \qty{344}{\metre\per\s} & \text{at $T=\qty{293}{\K}$ (\qty{20}{\celsius})}. \end{cases}\] You may well recognise these numbers as the speed of sound in air!

The dependence of sound speed on \(P'(\rho_0)\) also tells us when a fluid can be approximated as incompressible. In the incompressible limit, \(\rho=\rho_0\) for all values of \(p\). This corresponds to \(P'(\rho_0)\to \infty\), which implies the sound speed becomes infinite in the limit of incompressibility. All fluids allow some degree of compression, but if the travel time across the system is so short that any pressure perturbations rapidly equalise, we can assume incompressibility.

For example, water has \(c_0=\qty{1500}{\meter\per\second}\), so it can safely be assumed to be incompressible within my mug of tea, but not for instance when a submarine uses a radar ping to avoid hitting the bottom!

So we have a nice expression for how the pressure behaves, but in a physical system, we are still likely to have boundary conditions that are written in terms of the velocity. Let’s try to recover something more velocity-adjacent.

An equation for \(\phi\):

Taking the curl of [eqn:lin2], \[\begin{aligned} \bm{\nabla}\times \left(\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} \right) = \bm{\nabla}\times \left( -\frac{1}{\rho_0}\bm{\nabla}p \right) \implies \mathchoice{\frac{\partial\mathbfit{\omega}}{\partial t}}{\partial\mathbfit{\omega}/\partial t}{\partial\mathbfit{\omega}/\partial t}{\partial\mathbfit{\omega}/\partial t} &= \mathbf{0}, \end{aligned}\] shows that sound waves do not change the vorticity. So if we start with no vorticity, we continue to have no vorticity and we learnt in Michaelmas that this means we can express the velocity (for all time) in terms of a potential \[\mathbfit{u}(\mathbfit{x},t) = \bm{\nabla}\phi(\mathbfit{x},t),\] where \(\phi(\mathbfit{x}, t)\) in this context is known as the acoustic velocity potential. To find the equation satisfied by \(\phi\), note that [eqn:lin2] and [p-in-terms-of-rho] lead to \[\begin{align} \bm{\nabla}\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} &= -\bm{\nabla}\left(\frac{1}{\rho_0} p\right) \label{p-from-phi}\\ &= -\bm{\nabla}\left(c_0^2\frac{1}{\rho_0}\rho\right). \end{align}\] Differentiating with respect to time and substituting in [eqn:lin1], we get \[\begin{aligned} \bm{\nabla}\mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} = -\bm{\nabla}\left(c_0^2\frac{1}{\rho_0}\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t}\right) = \bm{\nabla}\Big(c_0^2{\nabla^2}\phi \Big). \end{aligned}\] Ignoring the arbitrary function of time (which, once again, does not affect \(\mathbfit{u}\)), we have \[\begin{equation} \boxed{ \mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} = c_0^2{\nabla^2}\phi.}\label{eqn:soundPhi} \end{equation}\] In other words, \(\phi\) satisfies the same wave equation as \(p\)!

Show that the density \(\rho\) satisfies this wave equation too.

Practical summary:

In acoustics, we solve a wave equation for allowable forms of \(\phi\) subject to given boundary conditions. We can then recover \(\mathbfit{u}\), \(p\) and \(\rho\) from \[\mathbfit{u}=\bm{\nabla}\phi, \quad p = -\rho_0\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t}, \quad \rho = \frac{1}{c_0^2}p,\] the latter two from [p-from-phi] and [p-in-terms-of-rho]. The initial conditions on \(\phi\) are typically set by \(\mathbfit{u}(\mathbfit{x},0)\) and \(p(\mathbfit{x},0)\).

5.2.2 1D travelling wave solutions

We’ll start with 1D and build up. If we assume that \(\phi=\phi(x,t)\), then [eqn:soundPhi] reduces to \[\begin{equation} \mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} = c_0^2\mathchoice{\frac{\partial^2 \phi}{\partial x^2}}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2}. \label{eqn:sound1d} \end{equation}\]

We’ve already seen last term that the wave equation admits travelling wave solutions of the form \[\begin{equation} \phi(x,t) = F(x-c_0t) + G(x+c_0t) \label{eqn:FG} \end{equation}\] and when given \(\phi(x,0)\) their particular forms can be found from a Fourier expansion. However, here we have two constraints on \(\phi\), given by specifying pressure, \(p\), as well as \(\mathbfit{u}\) at \(t=0\). Thus, we are trying to solve the initial value problem given by \[\begin{align} \mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} &= c_0^2\mathchoice{\frac{\partial^2 \phi}{\partial x^2}}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2},\\ \phi(x,0)&=\phi_0(x), & \quad \text{(a condition on $\mathbfit{u}$)} \label{sound-1d-c1} \\ \mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t}(x,0) &= \dot\phi_0(x). & \quad \text{(a condition on $p$)} \label{sound-1d-c2} \end{align}\] Let’s see what the solution looks like.

We first compute the two initial conditions. The first, [sound-1d-c1], is \[\begin{align} \phi_0(x) &= F(x) + G(x),\label{eqn:dal1} \end{align}\] The second condition, [sound-1d-c2], is \[\begin{align} \dot\phi_0(x) &= -c_0F'(x) + c_0G'(x), \label{eqn:dal2}\\ \implies \int_{a}^x\dot\phi_0(s)\,{\mathrm d}s &= -c_0F(x) + c_0G(x),\label{eqn:dal3} \end{align}\] where \(a\) is an arbitrary point. Solving [eqn:dal1] and [eqn:dal3] simultaneously gives \[\begin{align} F(x) = \frac{1}{2}\phi_0(x) - \frac{1}{2c_0}\int_{a}^x\dot\phi_0(s)\,{\mathrm d}s,\label{eqn:dalF}\\ G(x) = \frac{1}{2}\phi_0(x) + \frac{1}{2c_0}\int_{a}^x\dot\phi_0(s)\,{\mathrm d}s.\label{eqn:dalG} \end{align}\] This gives us the functional form for \(F\) and \(G\). Plugging this back into [eqn:FG] and assuming that \(a\) is between the diverging points defined by \(x-c_0t\) and \(x+c_0t\) we get \[\begin{aligned} \phi(x,t) &= \frac{1}{2}\phi_0(x-c_0t) - \frac{1}{2c_0}\int_{a}^{x-c_0t}\dot\phi_0(s)\,{\mathrm d}s + \frac{1}{2}\phi_0(x+c_0t) + \frac{1}{2c_0}\int_{a}^{x+c_0t}\dot\phi_0(s)\,{\mathrm d}s \\ &= \frac{1}{2}\Big[\phi_0(x-c_0t) + \phi_0(x+c_0t)\Big] + \frac{1}{2c_0}\int_{x-c_0t}^{x+c_0t}\dot\phi_0(s)\,{\mathrm d}s. \end{aligned}\] This elegant solution is known as D’Alembert’s solution. Let’s try it out!

Gaussian pulse: A (crude) model for a bursting balloon looks like \[u(x,0)=0, \quad p(x,0)=\rho_0\mathrm{e}^{-x^2/a^2}.\] Initially there is an excess of pressure inside the balloon, but all of the air is at rest.

These initial conditions correspond to \(\phi_0(x)=0\) (static air) and \[\dot\phi_0(x) = -\frac{1}{\rho_0} p(x,0) = -\mathrm{e}^{-x^2/a^2},\] (localised high pressure). Applying D’Alembert’s solution the evolution at later times is given by \[\begin{aligned} \phi(x,t) &= -\frac{1}{2c_0}\int_{x-c_0t}^{x+c_0t}\mathrm{e}^{-s^2/a^2}\,{\mathrm d}s\\ &= -\frac{1}{2c_0}\int_{0}^{x+c_0t}\mathrm{e}^{-s^2/a^2}\,{\mathrm d}s +\frac{1}{2c_0}\int_{0}^{x-c_0t}\mathrm{e}^{-s^2/a^2}\,{\mathrm d}s\\ &= \frac{a\sqrt{\pi}}{4c_0}\left[-\operatorname{erf}\left(\frac{x+c_0t}{a}\right) + \operatorname{erf}\left(\frac{x-c_0t}{a}\right)\right]. \end{aligned}\]

Here, \(\operatorname{erf}(x)\) is known as the error function, and is defined by \[\operatorname{erf}(x)=\frac{2}{\sqrt{\pi}}\int_{0}^{x}\mathrm{e}^{-s^2}\,{\mathrm d}s.\] It looks very similar to \(\tanh(x)\):

image

and has the same asymptotic properties: \(\lim_{x\to 0}\operatorname{erf}(x)\approx x\), \(\lim_{x\to \pm\infty}\operatorname{erf}(x) = \pm 1\).

Differentiating, we see that the corresponding pressure perturbation is \[p(x,t) = -\rho_0\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} = \frac{\rho_0}{2}\exp\left[-\frac{(x + c_0t)^2}{a^2}\right] + \frac{\rho_0}{2}\exp\left[-\frac{(x- c_0t)^2}{a^2}\right].\] As intuition would suggest, the initial disturbance launches two identical pressure pulses of the same shape moving in opposite directions at constant speed \(c_0\) (in the picture below \(a=c_0=\rho_0=1\)):

image

Looking at the evolution of \(p\) we can see the increase in pressure corresponds to the bunching up of fluid particles as they are accelerated into those ahead of them. The pressure then drops again as those ahead are accelerated further forward. This is the classic compression (high \(p\)) and rarefaction (low \(p\)) of sound waves which you might remember from GCSE.

How well does our linear approximation do when the full equations are solved?

Numerical solution of the nonlinear equations: Here we solve the same problem numerically using a publicly available code. We’ve set \(\gamma\) to \(1.4\) as in air. The code is initialised with a background density of \(1\) (or it crashes!). The plots below show the evolution of \(\rho\) and \(p\) for a small- and large-amplitude Gaussian pulse perturbation on top of this.

image

The small amplitude perturbation closely follows our linear approximation (which is a relief!). Notice that the sound speed corresponding to the background density \(\rho=1\) is \(c=\sqrt{\gamma\rho^{\gamma-1}}=\sqrt{\gamma}\approx 1.18\). So this is the (approximate) speed of the small-amplitude pulse. Similarly the linearised equations say that \(p=c_0^2\rho\), and indeed the amplitude of the initial pressure perturbation is about \(1.4\) times that of the density perturbation. So things check out.

However, in this nonlinear calculation the sound speed \(c\) can vary in space and time. In the large-amplitude case, the effect is to make the Gaussian pulses steepen, forming ‘shocks’ (the loud bang we hear when the balloon bursts). Here our linear approximation has failed. We will explore this nonlinear steepening in Section 2.3.

Once again, the code used above is written in MPI Fortran and is available from https://warwick.ac.uk/fac/sci/physics/research/cfsa/people/tda/larexd/.
These 1D simulations run in a few seconds on an average laptop.

5.2.3 1D standing wave solutions

Now we have an idea of the general properties of the waves, let start introducing more effects, starting with walls. Let’s assume the domain is now \(\{x : 0<x<L\}\). As for water waves, we can then look for standing wave solutions of the form \[\phi(x,t) = X(x)\sin(\omega t).\] Substituting this into our linear wave equation for \(\phi\) gives the ODE \[\begin{equation} -\omega^2X = c_0^2X'', \label{eqn:soundode} \end{equation}\] which of course has solution \[\begin{equation} X(x) = A \sin kx + B \cos kx, \quad k = \omega/c_0. \label{eqn:soundode-soln} \end{equation}\] The solution \(\phi\) must satisfy suitable boundary conditions at \(x=0\) and \(x=L\), which depend on the specific problem. These will either be in the form of a constraint on pressure or velocity.

“You play jazz flute?” The simplest model of a flute is a tube with two open ends where \(p=0\), but \(u\) is unconstrained. It is sufficient to model it in 1D as the flute is much longer than it is wide. The boundary conditions are on \(p\) and \[p(x,t) = -\rho_0\mathchoice{\frac{\partial\phi}{\partial t}}{\partial\phi/\partial t}{\partial\phi/\partial t}{\partial\phi/\partial t} = -\rho_0\omega X(x)\cos(\omega t),\] so in order to satisfy them, our solution, [eqn:soundode-soln], must be \[X(x) = A_n\sin\left(\frac{n\pi x}{L}\right) \quad \text{with $n\in\mathbb{Z}$},\] where the wavenumber \(k\) is now of the form \(k=n\pi/L\).

There is therefore a discrete spectrum of possible modes with \(\omega = c_0 k = c_0 n\pi /L\). Each mode has the form \[\phi(x,t) = A_n\sin\left(\frac{n\pi x}{L}\right)\sin\left(\frac{c_0 n\pi t}{L}\right).\] Note how the gradient of \(\phi\) (and so \(u\)) is non-zero at the ends, so the 1D column of air is overshooting and pulling back past the end of the tube (push pop anyone?).

image

The \(n=1\) mode is called the fundamental and higher \(n\) modes are called overtones. Experienced players can ‘overblow’ so as to excite the second harmonic (an octave higher) rather than the fundamental.

How does this measure up to a real flute? With \(c_0 = \qty{350}{\metre\per\s}\) (warm, moist air!) and \(L=\qty{0.66}{\m}\), our model predicts that the fundamental mode should have frequency \(\displaystyle\frac{\omega}{2\pi}= \frac{c_0}{2L} = \qty{265.2}{\Hz}\). In reality, a flute is constructed so that the fundamental mode is ‘middle C’ at \(\qty{261.6}{\Hz}\). (The remaining error mostly comes from the fact that \(p\) is not quite zero at the ends – in reality, it has to match some exterior flow.) Opening a hole in the flute effectively just makes it shorter, and we can see clearly that reducing \(L\) increases the frequency.

Later we will see that accounting for the cross-section of the tube doesn’t change the frequencies, but gives us a constraint on the flute’s diameter.

We see, therefore, that if the tube is open at the ends, we use the condition \(p=0\), and if the tube is closed, we use the condition \(\mathbfit{u}\cdot\widehat{\mathbfit{n}}=0\). There are further examples in Problem Sheet 6 and Additional Problem Sheet 5 for you to try.

5.2.4 3D travelling wave solutions

Let’s now generalise these concepts to 3D. In 1D, we saw that the wave equation, [eqn:soundPhi], admits a solution which is a superposition of a left-moving wave and a right-moving wave. In 3D, the solution will be a superposition of plane waves travelling in many different directions. Each component will have the form \[\phi(\mathbfit{x},t) = F(\mathbfit{k}\cdot\mathbfit{x} - \omega t)\] for some fixed vector \(\mathbfit{k}\) whose direction represents the direction of motion. Differentiating this expression, we have \[\begin{aligned} &\mathchoice{\frac{\partial^2 \phi}{\partial t^2}}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2}{\partial^2 \phi/\partial t^2} = \omega^2 F''(\mathbfit{k}\cdot\mathbfit{x} - \omega t),\\ &{\nabla^2}\phi = \mathchoice{\frac{\partial^2 \phi}{\partial x^2}}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2}{\partial^2 \phi/\partial x^2} + \mathchoice{\frac{\partial^2 \phi}{\partial y^2}}{\partial^2 \phi/\partial y^2}{\partial^2 \phi/\partial y^2}{\partial^2 \phi/\partial y^2} + \mathchoice{\frac{\partial^2 \phi}{\partial z^2}}{\partial^2 \phi/\partial z^2}{\partial^2 \phi/\partial z^2}{\partial^2 \phi/\partial z^2} = (k_x^2 + k_y^2 + k_z^2)F''(\mathbfit{k}\cdot\mathbfit{x} - \omega t), \end{aligned}\] so this will be a solution to [eqn:soundPhi] providing that \(\omega\) satisfies the dispersion relation \[\begin{equation} \omega^2 = c_0^2|\mathbfit{k}|^2. \label{eqn:soundis3} \end{equation}\]

The corresponding velocity perturbation is \[\mathbfit{u}(\mathbfit{x},t) = \bm{\nabla}\phi = \mathbfit{k} F'(\mathbfit{k}\cdot\mathbfit{x} - \omega t),\] so we see that the oscillations are in the direction of propagation, \(\mathbfit{k}\). This confirms our intuition from 1D that sound waves are longitudinal.

Echo…echo…echo… Echos are just reflections of waves off walls. Let’s send a travelling plane wave at a wall and see what we end up with!

If we place a rigid wall at \(y=0\), let’s propagate an incoming wave (let’s label it ‘\(i\)’ for incidence) diagonally towards it, in the \(\mathbfit{k}_i = (k_x, -k_y)\) direction: \[\begin{equation} \phi_i(x,y,t)=\exp\left(\mathrm{i}k_xx - \mathrm{i}k_yy - \mathrm{i}\omega t\right).\label{phi-incidence} \end{equation}\] What do we end up with everywhere? To answer this, first we will use separation of variables (which should work in all situations), then we will show an easier trick that works in this case.

image

Method 1: Separation of variables.

Noticing our incidence wave is separable, we try an ansatz \[\phi(x,y,t) = X(x)Y(y)\exp(-\mathrm{i}\omega t).\] Recall that we expect \(\phi\) to be a superposition of waves in different directions, so we should find \(\phi_i\) inside it. Inserting the ansatz into [eqn:soundPhi] gives \[-\omega^2 = c_0^2\left(\frac{X''}{X} + \frac{Y''}{Y}\right),\] which separates again to give \[\begin{equation} -\frac{X''}{X} = \frac{Y''}{Y} + \frac{\omega^2}{c_0^2} = k_x^2,\label{rewrite-for-ky} \end{equation}\] where we’ve gone for \(k_x^2\) as our constant on the right-hand side so that we will ultimately recover \(\phi_i\) in [phi-incidence] as part of the solution. The solutions then have the form \[\begin{aligned} X(x) &= A\exp(\mathrm{i}k_x x) + B\exp(-\mathrm{i}k_x x), \end{aligned}\] and, if we write [rewrite-for-ky] as \[\frac{Y''}{Y} = k_x^2 - \frac{\omega^2}{c_0^2} =:-k_y^2 \implies k_y^2 = \frac{\omega^2}{c_0^2} - k_x^2,\] (again with an eye on \(\phi_i\)), we additionally have \[\begin{aligned} Y(y) &= C\exp(\mathrm{i}k_y y) + D\exp(-\mathrm{i}k_y y). \end{aligned}\] This gives us \[\begin{equation} \phi(x,y,t) = \bigl[A\exp(\mathrm{i}k_x x) + B\exp(-\mathrm{i}k_x x)\bigr]\bigl[C\exp(\mathrm{i}k_y y) + D\exp(-\mathrm{i}k_y y)\bigr]\exp(-\mathrm{i}\omega t). \label{all-of-phi} \end{equation}\] The constants \(A\), \(B\), \(C\), \(D\) are then determined by additional conditions:

  1. Firstly, at the wall we need to impose \[v=\mathchoice{\frac{\partial\phi}{\partial y}}{\partial\phi/\partial y}{\partial\phi/\partial y}{\partial\phi/\partial y} =0 \implies Y'(0)=0.\] It follows that \[\mathrm{i}k_yC - \mathrm{i}k_yD = 0 \implies C=D.\]

  2. Secondly, note that if we expand out the brackets in [all-of-phi], we will get four terms. We expect to find \(\phi_i\) as one of these terms, and indeed this is the case if \(AD=1\). Then look at the \(BC\) term: this is a leftward, downward moving wave…another incidence wave! That’s not OK, so we have to set \(B=0\).

This leaves us with \[\begin{aligned} \phi(x,y,t) &= X(x)Y(y)\exp(-\mathrm{i}\omega t) \\ &= \exp(\mathrm{i}k_xx)\Big[\exp(\mathrm{i}k_yy) + \exp(-\mathrm{i}k_yy)\Big]\exp(-\mathrm{i}\omega t)\\ &= \underbrace{\exp(\mathrm{i}k_xx - \mathrm{i}k_yy - \mathrm{i}\omega t)}_{\phi_i} + \underbrace{\exp(\mathrm{i}k_xx + \mathrm{i}k_yy - \mathrm{i}\omega t)}_\text{reflected wave!}. \end{aligned}\] So we’re left with the incidence wave with direction \(\mathbfit{k}_i=(k_x,-k_y)\) and a new, reflected wave with direction \(\mathbfit{k}_r=(k_x, k_y)\): in other words, the angle of incidence equals the angle of reflection! More good GCSE science.

Method 2: Method of images.

Ah hello again, old friend! Just as we did with potential flows previously, we can take the same approach and guarantee that \(v=0\) at the wall by superimposing the incident wave \(\phi_i\) with an image wave \(\widetilde{\phi}\) that is travelling in the same direction in \(x\), but opposite in \(y\) (normal to the wall). Thus we postulate directly the solution \[\phi(x,y,t) = \exp(\mathrm{i}k_xx - \mathrm{i}k_yy - \mathrm{i}\omega t) + \exp(\mathrm{i}k_xx + \mathrm{i}k_yy - \mathrm{i}\omega t).\]

It’s worth remembering that this works as the wave equation is linear, so the sum of two solutions is also a solution itself.

5.2.5 3D waveguide solutions

We saw in 1D that a domain of finite length supports a discrete spectrum of standing wave modes. Similarly, a domain of finite width, called a waveguide, supports a discrete spectrum of propagating modes. Think of the sounds of a didgeridoo or someone shouting down a corridor.

Planar waveguide Let’s assume the domain is 2D, with walls at \(y=0\) and \(y=a\): \(\{(x,y) : -\infty<x<\infty, \; 0<y<a\}\). We look for a solution propagating in \(x\) of the form \[\phi(x,y,t) = Y(y)\exp(\mathrm{i}k_xx-\mathrm{i}\omega t).\] Substituting into our wave equation for \(\phi\) we have \[-\omega^2Y = c_0^2(Y'' - k_x^2Y) \quad\implies\quad Y'' = -k_y^2Y \;\; \text{where}\;\; k_y^2 = \frac{\omega^2}{c_0^2} - k_x^2.\] The boundary conditions require \(v=0\) on \(y=0\) and \(y=a\), so we need \(Y'(0)=Y'(a)=0\). This shows that \[Y(y) = A_n\cos(k_y{y}), \quad \text{with } k_y = \frac{n\pi}{a} \text{ for } n=0,1,2,\ldots.\] Again, there is a discrete spectrum of modes. The allowed modes therefore take the form \[\phi(x,y,t) = A_n\cos\left(\frac{n\pi y}{a}\right)\exp(\mathrm{i}k_xx-\mathrm{i}\omega t),\] provided that \(\omega\) satisfies the dispersion relation \[\begin{equation} \omega = c_0\sqrt{k_x^2 + \frac{n^2\pi^2}{a^2}}. \label{disp-rel-planar-waveguide} \end{equation}\] What does this tell us?

  1. The dispersion relation actually gives us a minimum frequency! See that, for any mode \(n\), \[\omega > c_0\sqrt{\frac{n^2\pi^2}{a^2}} = c_0\frac{n\pi}{a}.\] Now, if \(n=0\), we have a wave with no \(y\)-dependence – a plane wave – and this constraint will always be satisfied. But for higher modes this isn’t true. In other words, for \(\omega\leq c_0\pi/a\), called the cutoff frequency, only a plane wave can propagate.

    The intuition here comes from \(\omega=c_0k=2\pi c_0/\lambda \leq c_0\pi/a \implies \lambda/2 \geq a\), i.e. you need to be able to fit at least half a wavelength (the fundamental mode) in the \(y\)-direction.

  2. The phase speed in the \(x\)-direction, \(\omega/k_x\), is a function of \(n\), so sound waves of different frequencies progress along the waveguide at different speeds. (This explains why the speech of someone shouting down a long corridor gets garbled before it reaches the listener.)

  3. But isn’t this phase speed in the \(x\)-direction faster than the speed of sound, since \(\omega/k_x > c_0\)? Well, yes, but it turns out that it’s slower in the \(y\)-direction to compensate. See that [disp-rel-planar-waveguide] says \(\omega = c_0 |\mathbfit{k}|\): to calculate the speed, we need to use \(|\mathbfit{k}|\), not \(k_x\).

    This is because the mode is actually made up of two travelling waves travelling at an angle and bouncing off the walls. To see this, note that \[\begin{aligned} \cos\left(\frac{n\pi y}{a}\right)\exp(\mathrm{i}k_xx - \mathrm{i}\omega t) &= \frac12 \left[\exp\left(\frac{\mathrm{i}n\pi y}{a}\right) + \exp\left(\frac{-\mathrm{i}n\pi y}{a}\right)\right]\exp(\mathrm{i}k_xx - \mathrm{i}\omega t)\\ &= \frac{1}{2}\exp\left(\frac{\mathrm{i}n\pi y}{a} + \mathrm{i}k_xx - \mathrm{i}\omega t \right) \nonumber\\ & \qquad + \frac{1}{2}\exp\left(-\frac{\mathrm{i}n\pi y}{a} + \mathrm{i}k_xx - \mathrm{i}\omega t \right). \end{aligned}\]

    image

    Each of these waves has wavenumber \[|\mathbfit{k}| = \sqrt{k_x^2 + \frac{n^2\pi^2}{a^2}},\] so their phase speed is \({\omega}/{|\mathbfit{k}|} = c_0\), as expected. The waves bounce off the walls at angle \[\alpha = \pm\arctan\left(\frac{k_y}{k_x}\right) = \pm\arctan\left(\frac{n\pi}{k_xa}\right).\]

We can generalise this approach to 3D wave guides such as tubes with a square or circular cross sections. The former is a problem sheet question. Let’s try the latter as it’ll give us more practice with cylindrical coordinates!

Cylindrical waveguide Here we’re assuming the domain is an infinite tube of radius \(a\): \(\{(r,\theta,z) : 0\leq r<a, \;0\leq \theta<2\pi, \;-\infty<z<\infty\}\). We will look for axisymmetric solutions of the form \(\phi(r,z,t)=R(r)\exp(\mathrm{i}k_zz-\mathrm{i}\omega t)\). In cylindrical coordinates, the wave equation for \(\phi\) gives \[-\omega^2R = c_0^2\left[\frac{1}{r}\mathchoice{\frac{{\mathrm d}}{{\mathrm d}r}}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}\left(rR' \right) - k_z^2R\right].\] You might remember from the drop-in-a-pond water wave exercise in Michaelmas that when you have a Laplacian in cylindrical coordinates you are gong to be dealing with Bessel functions. This is no exception (and it’s worth getting good at finding such solutions – remember the ODE is on the formula sheet!). Rearranging, we have \[r^2R'' + rR' + \left(\frac{\omega^2}{c_0^2} - k_z^2\right)r^2R = 0.\] Now compare this to Bessel’s equation of order \(\alpha\) for a function \(u(s)\) and its solution: \[s^2u'' + su' + (s^2-\alpha^2) u = 0 \implies u(s) = AJ_\alpha(s) + BY_\alpha(s).\] Our equation is actually Bessel’s equation of order 0 in disguise. If we change variable to \[s=\left(\frac{\omega^2}{c_0^2} - k_z^2\right)^{1/2}r,\] then we find that \(R(s)\) satisfies \[s^2\mathchoice{\frac{{\mathrm d}^2 R}{{\mathrm d}s^2}}{{\mathrm d}^2 R/{\mathrm d}s^2}{{\mathrm d}^2 R/{\mathrm d}s^2}{{\mathrm d}^2 R/{\mathrm d}s^2} + s\mathchoice{\frac{{\mathrm d}R}{{\mathrm d}s}}{{\mathrm d}R/{\mathrm d}s}{{\mathrm d}R/{\mathrm d}s}{{\mathrm d}R/{\mathrm d}s} + s^2 R = 0.\] So the solution is the Bessel function \(R(s)=AJ_0(s)\) (the other type of Bessel function \(Y_\alpha(s)\) is no good as it is unbounded as \(s\to 0\)). Therefore \[R(r) = AJ_0\left[\left(\frac{\omega^2}{c_0^2} - k_z^2\right)^{1/2}r\right].\] We still need to impose the boundary condition \(u_r=\mathchoice{\frac{\partial\phi}{\partial r}}{\partial\phi/\partial r}{\partial\phi/\partial r}{\partial\phi/\partial r}=0\) on \(r=a\), meaning \(R'(a)=0\). So we need \[J_0'\left[\left(\frac{\omega^2}{c_0^2} - k_z^2\right)^{1/2}a\right] = 0.\] Because \(J_0\) has a (discrete) sequence of turning points, this will give us a discrete spectrum of \(\omega\), just like the boundary condition in the planar waveguide. The plot below shows the first few turning points of \(J_0\) (black dots):

image

Let \(j_{n}\) be the \(n\)th turning point of \(J_0\), so that \[\left(\frac{\omega^2}{c_0^2} - k_z^2\right)^{1/2}a = j_n, \quad n=0,1,\ldots.\] Then \[\phi(r,z,t) = A_nJ_0\left(\frac{j_n r}{a}\right)\exp(\mathrm{i}k_zz - \mathrm{i}\omega t), \quad \text{where } \omega = c_0\sqrt{k_z^2 + \frac{j_n^2}{a^2}}.\] As for the planar waveguide, \(j_0=0\) so \(n=0\) corresponds to a plane wave with no \(r\)-dependence. Again the modes with \(n>0\) have a cutoff frequency \(\omega = c_0j_n/a\).

Notice that \(J_0\) is rather like cosine, while \(J_1\) is rather like sine, but with a radial dependence. Computing the above figure: there is a useful identity \(J_0'(z)= -J_1(z)\), so turning points of \(J_0\) are actually roots of \(J_1\). You can compute the Bessel roots in Python using scipy.special.jn_zeros.

5.3 Nonlinearity

Let’s return to the full nonlinear scenario. In this section we’ll see that the nonlinear term \[(\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u},\] which we dropped from the momentum equation in our previous linear analysis leads to the formation of shocks. To show this we will work in 1D so that \(\mathbfit{u}=u(x,t)\widehat{\mathbfit{e}}_x\). We will also be making a lot of use of the method of characteristics.

5.3.1 The method of characteristics

In short, the method of characteristics says that solving PDEs is hard, so instead we should try to find curves in the parameter space – in this case, \((x,t)\) – along which the problem is easier to solve. Maybe along that curve the problem reduces to a nice ODE, or, even better, the solution is constant. Either way, to find the solution for given parameters, you just have to find what curve it’s on, and follow that curve along until you hit some known piece of information (an initial or boundary condition). Such curves are called characteristics.

The good news is that you’ve actually seen an example of this already! Recall that the general solution to the wave equation \[\mathchoice{\frac{\partial^2 y}{\partial t^2}}{\partial^2 y/\partial t^2}{\partial^2 y/\partial t^2}{\partial^2 y/\partial t^2} = c^2\mathchoice{\frac{\partial^2 y}{\partial x^2}}{\partial^2 y/\partial x^2}{\partial^2 y/\partial x^2}{\partial^2 y/\partial x^2},\] is \(y = F(x-ct) + G(x+ct)\). We could also have arrived at this result by making a change of variables of \(u=x-ct\) and \(v=x+ct\). Applying the chain rule a couple of times (check that you agree) we find \[\mathchoice{\frac{\partial^2 y}{\partial u \partial v}}{\partial^2 y /\partial u \partial v}{\partial^2 y /\partial u \partial v}{\partial^2 y /\partial u \partial v}=0 \implies y = F(u) + G(v) \quad \text{after integrating.}\] How is this any different? Well \(u=\text{constant}\) is a curve in the \((x,t)\)-plane along which \(F\) is constant. If we set \(x=x_0\) at \(t=0\), then \(u = x-ct=x_0\) is our curve. Similarly, \(v=\text{constant}\) is a curve along which \(G\) is constant, and we can use our initial condition to find our curve to be \(v=x+ct = x_0\). These curves are characteristics of the wave equation and, in this case, they represent the paths along which the waves propagate:

image

We can see that our right and left moving solutions are represented by red and blue lines in the plot. Every \(x_0\) will have its own lines, so we have curves passing through every value of \(x\) and \(t\). Importantly, as \(c\) is constant, each \(x\) and \(t\) has a unique pair of starting points on the line \(t=0\) which can be found by following the characteristics in reverse:

image

This means the wave equation is well-behaved and solutions are unique. As we’ll see, this isn’t true for the Euler equations!

5.3.2 Burgers’ equation and blow-up

Returning to the Euler equations, let’s start by looking at the inertial terms in the momentum equation (the left-hand side) in 1D: \[\begin{equation} \mathchoice{\frac{\partial u}{\partial t}}{\partial u/\partial t}{\partial u/\partial t}{\partial u/\partial t} + u\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} = 0. \label{eqn:burgers} \end{equation}\] This 1D equation has its own name: the inviscid Burgers’ equation.

Suppose we have a curve \(x(t)\) in the \((x,t)\)-plane where \[\begin{equation} \mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t} = u\big(x(t), t\big), \qquad x(0)=x_0. \label{eqn:char} \end{equation}\] Then along such a curve [eqn:burgers] may be written as \[\begin{equation} \mathchoice{\frac{\partial u}{\partial t}}{\partial u/\partial t}{\partial u/\partial t}{\partial u/\partial t} + \mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} = 0 \qquad \iff \qquad \mathchoice{\frac{{\mathrm d}u}{{\mathrm d}t}}{{\mathrm d}u/{\mathrm d}t}{{\mathrm d}u/{\mathrm d}t}{{\mathrm d}u/{\mathrm d}t} = 0. \label{eqn:charu} \end{equation}\] Along these curves, the PDE reduces to an ODE: these curves are therefore characteristics of Burgers’ equation! This time, what they represent differs from our wave equation example: [eqn:char] shows that these curves represent particle paths.

Let’s solve Burgers’ equation with an initial condition that diverges: let’s have, at \(t=0\), \[u(x,0) = u_0(x_0)=x_0.\] Since \(u\) is constant along the characteristics, and they have slope \(\mathchoice{\frac{{\mathrm d}x}{{\mathrm d}t}}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}{{\mathrm d}x/{\mathrm d}t}=u\), they must be straight lines. Integrating [eqn:char] gives \[\begin{aligned} x - x_0 &= u(x_0,0)t \\ & = u_0(x_0)t = x_0t. \end{aligned}\] In this case we can invert to find the value of \(x_0\) for the characteristic passing through \((x,t)\), finding \[x_0 = \frac{x}{1+t}.\] [eqn:charu] then gives \[u(x,t) = u_0(x_0)=x_0= \frac{x}{1+t}.\]

image

The red curves show the particle paths are diverging as we expect. Those particles furthest from the origin move fastest, and move away from those behind them. The flow speed itself is also reducing as the particles are depleting.

So far so good. But what about if the particles behind were moving faster? Then surely they would catch up?

To see this, let’s reverse the direction of the flow so our initial condition is instead \(u_0(x_0)=-x_0\). This time the characteristics are the lines \[x - x_0 = -x_0t,\] so \[x_0 = \frac{x}{1-t}.\] The solution is then \[u(x,t) = \frac{x}{t-1},\] which has a finite-time singularity as \(t\to 1\). At this time, all of the characteristics intersect at \(x=0\), so that the solution is not well-defined there.

image

What does this mean? It means that all of the particles in the system have ended up in the same place at the same time. It also means there is now no unique starting position for a particle at \(x=0\), \(t=1\). There is no one-to-one particle mapping, which was a key assumption in our smooth continuum approximation of a fluid in the first place. It also corresponds to a blow up in the velocity as particles at \(x=\pm \infty\) reach singular speeds in order to get to \(x=0\) in time. Note that we could also have computed the intersection time by looking for points where the characteristic curve \(x\) is independent of \(x_0\), so that \[\mathchoice{\frac{\partial x}{\partial x_0}}{\partial x/\partial x_0}{\partial x/\partial x_0}{\partial x/\partial x_0}=0 \quad \iff 1 - t = 0 \quad \iff t = 1.\] This will prove a useful trick later!

This is essentially the reason why the fluid equations are ‘nasty’: they contain this nonlinear term that wants to make the solution blow up!

5.3.3 Riemann invariants

Now let us put back in the other terms in the 1D Euler equations. For simplicity, we will consider an ideal gas, \(p=P(\rho)=k\rho^\gamma\). So the continuity and unforced momentum equations are \[\begin{align} \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t}+\bm{\nabla}\cdot(\rho\mathbfit{u})&=0 &\implies&& \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \rho\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} + u\mathchoice{\frac{\partial\rho}{\partial x}}{\partial\rho/\partial x}{\partial\rho/\partial x}{\partial\rho/\partial x} &= 0,\label{eqn:eul1a}\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}+(\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u}&=-\frac{1}{\rho}\bm{\nabla}p &\implies&& \mathchoice{\frac{\partial u}{\partial t}}{\partial u/\partial t}{\partial u/\partial t}{\partial u/\partial t} + u\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} + \frac{k\gamma\rho^{\gamma-1}}{\rho}\mathchoice{\frac{\partial\rho}{\partial x}}{\partial\rho/\partial x}{\partial\rho/\partial x}{\partial\rho/\partial x} &= 0\label{eqn:eul1b}. \end{align}\] We will see that these may be reduced to two sets of ODEs if we first eliminate \(\rho\) in favour of the variable \[c(\rho) = \sqrt{P'(\rho)} = \sqrt{k\gamma\rho^{\gamma-1}}.\] We will see later that it still makes sense to call this the sound speed, although it now varies in space. To eliminate \(\rho\) from [eqn:eul1a] and [eqn:eul1b], we use the fact that \[\begin{aligned} \mathchoice{\frac{\partial c}{\partial t}}{\partial c/\partial t}{\partial c/\partial t}{\partial c/\partial t} & = c'(\rho)\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} \\ & = \sqrt{k\gamma}\frac{\gamma-1}{2}\rho^{(\gamma-3)/2}\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} \\ & = \frac{\gamma -1}{2}\frac{c}{\rho}\mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} \\ \implies \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} &= \frac{2\rho}{(\gamma-1)c}\mathchoice{\frac{\partial c}{\partial t}}{\partial c/\partial t}{\partial c/\partial t}{\partial c/\partial t}. \end{aligned}\] In the same way, \[\mathchoice{\frac{\partial c}{\partial x}}{\partial c/\partial x}{\partial c/\partial x}{\partial c/\partial x} = c'(\rho)\mathchoice{\frac{\partial\rho}{\partial x}}{\partial\rho/\partial x}{\partial\rho/\partial x}{\partial\rho/\partial x} \quad \implies \quad \mathchoice{\frac{\partial\rho}{\partial x}}{\partial\rho/\partial x}{\partial\rho/\partial x}{\partial\rho/\partial x} = \frac{2\rho}{(\gamma-1)c}\mathchoice{\frac{\partial c}{\partial x}}{\partial c/\partial x}{\partial c/\partial x}{\partial c/\partial x}.\] Substituting these into [eqn:eul1a] and [eqn:eul1b] (and multiplying the first equation by \(c/\rho\)) we find \[\begin{aligned} \frac{2}{\gamma-1}\mathchoice{\frac{\partial c}{\partial t}}{\partial c/\partial t}{\partial c/\partial t}{\partial c/\partial t} + c\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} + \frac{2u}{\gamma-1}\mathchoice{\frac{\partial c}{\partial x}}{\partial c/\partial x}{\partial c/\partial x}{\partial c/\partial x} &= 0,\\ \mathchoice{\frac{\partial u}{\partial t}}{\partial u/\partial t}{\partial u/\partial t}{\partial u/\partial t} + u\mathchoice{\frac{\partial u}{\partial x}}{\partial u/\partial x}{\partial u/\partial x}{\partial u/\partial x} + \frac{2c}{\gamma-1}\mathchoice{\frac{\partial c}{\partial x}}{\partial c/\partial x}{\partial c/\partial x}{\partial c/\partial x} &= 0. \end{aligned}\] The trick is then to add or subtract these two equations, to find \[\begin{align} &\left[\mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} + (u + c)\mathchoice{\frac{\partial}{\partial x}}{\partial/\partial x}{\partial/\partial x}{\partial/\partial x} \right]\left[u + \frac{2c}{\gamma-1}\right] = 0,\label{eqn:rie1}\\ &\left[\mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} + (u - c)\mathchoice{\frac{\partial}{\partial x}}{\partial/\partial x}{\partial/\partial x}{\partial/\partial x} \right]\left[u - \frac{2c}{\gamma-1}\right] = 0.\label{eqn:rie2} \end{align}\] Thus, by exactly the same logic as at the start of 2.3.2, \[\begin{align} &F_+ = u + \frac{2c}{\gamma-1} \text{ is constant on curves $x_+(t)$ satisfying } \mathchoice{\frac{{\mathrm d}x_+}{{\mathrm d}t}}{{\mathrm d}x_+/{\mathrm d}t}{{\mathrm d}x_+/{\mathrm d}t}{{\mathrm d}x_+/{\mathrm d}t} = u+c,\label{eqn:rie3}\\ &F_- = u - \frac{2c}{\gamma-1} \text{ is constant on curves $x_-(t)$ satisfying } \mathchoice{\frac{{\mathrm d}x_-}{{\mathrm d}t}}{{\mathrm d}x_-/{\mathrm d}t}{{\mathrm d}x_-/{\mathrm d}t}{{\mathrm d}x_-/{\mathrm d}t} = u-c.\label{eqn:rie4} \end{align}\] The functions \(F_+\) and \(F_-\) are called Riemann invariants. If you know \(F_+\) and \(F_-\), then you know \(u\) and \(c\). And if you know \(c\), you know \(\rho\). And if you know \(\rho\), you know \(p\). So these two invariants tell us everything we normally ask for when solving a fluids problem: velocity and pressure.

The two curves are known as the \(+\) and \(-\) characteristics. They need no longer be straight lines since \(u\) and \(c\) need no longer be constant along them. Maybe something like this:

image

Although this derivation was rather ad hoc, there is a more systematic procedure for finding characteristics of hyperbolic systems like this, studied in more detail in the PDEs course.

5.3.4 Simple waves

In general it is hard to find closed-form solutions for the characteristics. However, it is possible in some cases, called simple waves, in which one of the Riemann invariants is constant across a whole region.

To illustrate the breakdown of smooth solutions to the Euler equations we will consider a compression wave with initial conditions \[\begin{aligned} u(x,0)&= U_0\big[1 - \tanh(x)\big],\\ c(x,0)&=c_0 + \frac12(\gamma-1)u(x,0). \end{aligned}\] Don’t be confused by the fact that \(u\) and \(c\) are both speeds – as we said above, setting \(c\) is equivalent to setting the initial pressure.

The initial velocity profile looks as follows:

image

So we have a flow moving into a region of static fluid. We have chosen this particular form to \(c\) to make \(F_-\) a constant, as we shall see, but notice that \(c\to c_0\) as \(x\to\infty\), i.e. in the static fluid, the speed of sound is indeed the sound speed at rest.

What do we expect to happen? The sound speed, \(c\), is higher where the velocity is higher, so we should expect the wave to steepen. Such a scenario occurs when a hot flow jet pushes into a cold background fluid. This should start to worry us, because if the wave gets infinitely steep, we have a discontinuity in \(u\), which is unphysical. Let’s do the analysis.

At \(t=0\), the Riemann invariants have values \[\begin{aligned} &F_+(x,0) = u(x,0) + \frac{2c(x,0)}{\gamma-1} = 2u(x,0) + \frac{2c_0}{\gamma-1},\\ &F_-(x,0) = u(x,0) - \frac{2c(x,0)}{\gamma-1} = -\frac{2c_0}{\gamma-1}. \end{aligned}\] The first Riemann invariant, \(F_+\), is (by definition) constant along \(+\) characteristics, taking a different value on each, depending on where it cuts the \(t=0\) axis, \(x_0\). In other words, \(F_+(x,t)=F_+(x_0,0)\).

The second Riemann invariant, \(F_-\), is constant along \(-\) characteristics but is simply a constant. So it’s the same on every \(-\) characteristic and hence must be the same constant everywhere in \(t>0\).

In general we have, from [eqn:rie3] and [eqn:rie4], \[\begin{aligned} u &= \frac12\big[F_+(x,t) + F_-(x,t)\big],\\ c &= \frac{\gamma-1}{4}\big[F_+(x,t) - F_-(x,t)\big]. \end{aligned}\] We know \(F_-\) is constant everywhere, and \(F_+\) is constant along \(+\) characteristics. So \(u\) and \(c\) must also be constant along \(+\) characteristics.

Therefore \(u+c\) is constant along \(+\) characteristics (but differs from one to the next as this constant depends on \(x_0\)). The slope of the \(+\) characteristics was given in [eqn:rie3] as \[\mathchoice{\frac{{\mathrm d}x_+}{{\mathrm d}t}}{{\mathrm d}x_+/{\mathrm d}t}{{\mathrm d}x_+/{\mathrm d}t}{{\mathrm d}x_+/{\mathrm d}t} = u+c,\] so they are therefore straight lines. They have the form \[x_+ - x_0 = (u+c)t = \left[c_0 + \frac{\gamma+1}{2}u(x_0,0)\right]t.\] For our specific initial conditions, \[\begin{equation} x_+ - x_0 = \left\{c_0 + \frac{\gamma+1}{2}U_0\big[1 - \tanh(x_0)\big]\right\}t. \label{eqn:fanchar} \end{equation}\] The \(+\) characteristics look as follows (for \(c_0=U_0=1\) and \(\gamma=5/3\)):

image

We can see that the wave steepens until the + characteristics intersect at some finite time and the smoothness of the solution breaks down. We can find this time using the trick we learned when studying Burgers’ equation: \[\begin{aligned} \mathchoice{\frac{\partial x_+}{\partial x_0}}{\partial x_+/\partial x_0}{\partial x_+/\partial x_0}{\partial x_+/\partial x_0} = 0 \quad \iff \quad 1 - \frac{\gamma+1}{2}U_0\operatorname{sech}^2(x_0)t & = 0 \\ \implies t &= \frac{2}{(\gamma+1)U_0}\cosh^2(x_0). \end{aligned}\] This gives the time of intersection for the characteristic starting at \(x=x_0\). The earliest intersection will be \[t_s = \min_{x_0}\left[\frac{2}{(\gamma+1)U_0}\cosh^2(x_0)\right] = \frac{2}{(\gamma+1)U_0},\] shown by the dashed green line above.

Some other things to note about our solution is that from [eqn:fanchar], with these parameters, we see that as \(x_0\to-\infty\), the characteristic slopes are \(\mathchoice{\frac{{\mathrm d}t}{{\mathrm d}x}}{{\mathrm d}t/{\mathrm d}x}{{\mathrm d}t/{\mathrm d}x}{{\mathrm d}t/{\mathrm d}x} \to 3/11\), while in the limit \(x_0\to+\infty\), we have \(\mathchoice{\frac{{\mathrm d}t}{{\mathrm d}x}}{{\mathrm d}t/{\mathrm d}x}{{\mathrm d}t/{\mathrm d}x}{{\mathrm d}t/{\mathrm d}x} \to 1\). This agrees with the plot and shows that regardless of how wide the initial front was these lines would cross eventually and the solution would break down.

To find the solutions for \(u(x,t)\) and \(c(x,t)\) explicitly, we would need to invert [eqn:fanchar] to find \(x_0(x,t)\), which needs to be done numerically. In this case, we don’t need to find the \(-\) characteristics because \(F_-\) is constant everywhere, but typically we would have to find them and since they aren’t straight lines, that would also have to be done numerically.

In the above example, since \(u\) is constant on + characteristics, the solution will (formally) take the form \(u(x,t) = F\big(x - [u+c]t\big)\). In other words, it is a disturbance moving at speed \(c\) relative to the fluid. Thus we are justified in calling \(c\) the sound speed. If \(U_0\) is small, then \(c\to c_0\), the sound speed from linear theory.

In the previous example, it was the specific choice of \(c(x,0)\) that led to one of the Riemann invariants being constant; we are still free to choose \(u(x,0)\). For both forms of \(u(x,0)\) below, (a) sketch \(u(x,0)\) and take a guess at what you think will happen, (b) sketch the \(F_+\) characteristics, and (c) assess if/when the solution breaks down:

  1. \(u(x,0) = U_0[1+\tanh(x_0)]\) (an expansion wave),

  2. \(\displaystyle u(x,0) = \frac{1}{1+x_0^2}\) (a compression+expansion combo).

The solutions are given in Additional Problem Sheet 5.

After the characteristics intersect, we can no longer find a classical solution of the Euler equations. There is a large body of theory dedicated to finding weak solutions, which satisfy the equations except along curves called shocks where \(u\) and \(\rho\) (or \(c\)) can be discontinuous. Such shocks propagate through the fluid and can be seen by the way they distort light (below left) or impact nearby features such as the water surface in the right image below. See Wikipedia’s article on shock waves for details.

image image

The properties of shocks are constrained by the underlying integral conservation laws (mass, momentum, energy), but this is beyond the scope of this course.

Most of this chapter would be addressed in an introductory book on gas dynamics. The sound wave examples in 2.2 are well-treated in Paterson, chapter XII. The method of characteristics is given a fuller, more introductory treatment in Paterson, § XIV.2; and Riemann invariants are covered, including the example used above, in § XIV.3.

6 Dynamics of viscous fluids

So far we have studied only fluids with no viscosity, so-called inviscid fluids, where there was no friction (stress) between neighbouring fluid elements or any boundaries in the system. This works well in some scenarios, but not in others. Later we will introduce the concept of a Reynolds number which helps us to decide when viscosity can be ignored.

Intuitively, we know that a viscous fluid is ‘thick’ or ‘sticky’, such as in oil or honey. The stickiness also contributes to drag on bodies moving through the fluid (e.g. a swimmer in water) or past an interface (e.g. wind-driven water waves). To capture this behaviour we will need to build viscous stress into the forces in our momentum equation.

6.1 Viscous stresses

The last time we looked at forces, in 2.1, we derived the integral equation for conservation of momentum, \[\begin{equation} \int_{V}\rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\;\mathrm{d}V= \int_{S}\normalsize{𝞼}\cdot\,{\mathrm d}\mathbfit{S}+ \int_{V}\rho\mathbfit{f}\;\mathrm{d}V. \label{eqn:intmom} \end{equation}\] This is a statement of ‘\(\mathbfit{F}=m\mathbfit{a}\)’ which separates forces into body forces, like gravity (the last term), and internal ‘surface’ forces, which are represented by the stress tensor, \(\normalsize{𝞼}=(\sigma_{ij})\).

We’ll recap the stress tensor in a moment, but for now, applying the divergence theorem to the surface term, recall that we got \[\begin{equation} \int_{V}\rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\;\mathrm{d}V= \int_{V}\Big[\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T}+ \rho\mathbfit{f}\Big]\;\mathrm{d}V, \label{eqn:cmom} \end{equation}\] where \(\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T}\) is a vector with components \(\displaystyle\big(\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T}\big)_i=\nabla_j\sigma_{ji}^\mathsf{T}=\mathchoice{\frac{\partial\sigma_{ij}}{\partial x_j}}{\partial\sigma_{ij}/\partial x_j}{\partial\sigma_{ij}/\partial x_j}{\partial\sigma_{ij}/\partial x_j}\).

Without making any assumptions about the stress tensor \(\normalsize{𝞼}\), we know that [eqn:cmom] has to be satisfied for any \(V\), implying the Cauchy momentum equation, \[\begin{equation} \boxed{\rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t} = \bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T}+ \rho\mathbfit{f}.} \label{eqn:cauchymom} \end{equation}\] We can see that this is just a generalisation of the Euler momentum equation from before, [eqn:mom], where the stress term simply looked like \(-\bm{\nabla}p\). Indeed, that was because up until now we have assumed that the only internal force comes from pressure, \(p\), which acts normally inwards. Recall that if we assume the fluid element lines up with Cartesian axes, the elements of \(\normalsize{𝞼}\) correspond to the orientations on the following diagram:

image

The pressure-only model is equivalent to assuming that \(\normalsize{𝞼}\) has no off-diagonal components: \(\sigma_{ij}=-p\delta_{ij}\).

But now we want \(\normalsize{𝞼}\) to additionally include friction. Friction happens when neighbouring fluid elements slide past each other, so, looking again at the diagram, must be captured by the off-diagonal components (\(\sigma_{12},\sigma_{32}\) etc.). Like the normal components, they can’t just have any form, i.e. they are not independent from each other.

One constraint comes from the conservation of angular momentum in the fluid. This is only conserved if – as we teased last term – the stress tensor is symmetric, \[\sigma_{ji}=\sigma_{ij}.\] We’ll now show this is the case.

We’ll be considering fluids here with a constant viscosity, which will turn out to have a particular form of \(\normalsize{𝞼}\). But this same general approach of lumping lots of internal forces into a some form of generalised stress tensor is used to capture the behaviour of lots of more complex fluids.

6.1.1 The stress tensor is symmetric

Conservation of angular momentum for a fluid element means that \[\begin{align} \underbrace{\mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_{V(t)}\mathbfit{x}\times\rho\mathbfit{u}\;\mathrm{d}V}_{\text{change in ang. mom.}} = \underbrace{\int_{S(t)}\mathbfit{x}\times(\normalsize{𝞼}\cdot\,{\mathrm d}\mathbfit{S})}_{\text{torque from boundary stress}} + \underbrace{\int_{V(t)}\mathbfit{x}\times\rho\mathbfit{f}\;\mathrm{d}V}_{\text{torque from body forces}},\label{eqn:angm} \end{align}\] where \(\mathbfit{x}\) is the position vector from the origin and \(V(t), S(t)\) are the volume and surface of the fluid element at a given time.

As we know, conservation of momentum leads to statements like ‘\(\mathbfit{F}=m\mathbfit{a}\)’, and so conservation of angular momentum leads to statements like ‘\(\mathbfit{x}\times\mathbfit{F}=\mathbfit{x}\times m\mathbfit{a}\)’: the form of this equation should not be surprising.

There is, however, something new here: our volume and surface now depend on time because this is a statement about a moving fluid element. So far, all of our integral equations have involved fixed volumes, where the fluid can pass through the volume. Not this time! The challenge that arises is how to bring the derivative inside the integral in the first term. For a fixed \(V\), \(\mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t} \to \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}\) as it moves inside; but if \(V\) moves, we have to account for that too.

The result we need is known as the Reynolds transport theorem, and no fluids course is complete without seeing it! It says, for a function \(f(\mathbfit{x},t)\), \[\mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t} \int_{V(t)} f \rho \, {\mathrm d}V = \int_{V(t)} \mathchoice{\frac{\mathrm{D} f}{\mathrm{D} t}}{\mathrm{D} f/\mathrm{D} t}{\mathrm{D} f/\mathrm{D} t}{\mathrm{D} f/\mathrm{D} t} \rho \, {\mathrm d}V.\] That is to say, the rate of change of \(f\rho \, \delta V\) following the element is just \(\mathchoice{\frac{\mathrm{D} f}{\mathrm{D} t}}{\mathrm{D} f/\mathrm{D} t}{\mathrm{D} f/\mathrm{D} t}{\mathrm{D} f/\mathrm{D} t}\) multiplied by the mass \(\rho \, \delta V\), because the mass of the element is conserved. It can be generalised to vectors by applying it to each vector element in turn.

Applying the transport theorem to the left hand side of [eqn:angm] gives \[\begin{align} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}\int_{V(t)}\mathbfit{x}\times\rho\mathbfit{u}\;\mathrm{d}V&= \int_{V(t)}\mathchoice{\frac{\mathrm{D} }{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D} t}\big[\mathbfit{x}\times\mathbfit{u}\big]\rho \;\mathrm{d}V\\ &= \int_{V(t)}\bigg[\underbrace{\mathchoice{\frac{\mathrm{D} \mathbfit{x}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{x}/\mathrm{D} t}{\mathrm{D} \mathbfit{x}/\mathrm{D} t}{\mathrm{D} \mathbfit{x}/\mathrm{D} t}\times\mathbfit{u}}_{\mathbfit{u}\times\mathbfit{u}=\mathbf{0}}{} + \mathbfit{x}\times\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\bigg]\rho \;\mathrm{d}V\\ &= \int_{V(t)}\mathbfit{x}\times\rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\;\mathrm{d}V. \label{eqn:stress1} \end{align}\]

Now consider the stress term in [eqn:angm]. Applying the divergence theorem ‘backwards’ gives \[\begin{align} \int_{S(t)}\big[\mathbfit{x}\times(\normalsize{𝞼}\cdot\,{\mathrm d}\mathbfit{S})\big]_i &= \int_{S(t)}\varepsilon_{ijk}x_j\sigma_{kl}\widehat{n}_l\,{\mathrm d}S\\ &= \int_{V(t)}\mathchoice{\frac{\partial}{\partial x_l}}{\partial/\partial x_l}{\partial/\partial x_l}{\partial/\partial x_l}\big[\varepsilon_{ijk}x_j\sigma_{kl}\big]\;\mathrm{d}V\\ &= \int_{V(t)}\varepsilon_{ijk}\left[\mathchoice{\frac{\partial x_j}{\partial x_l}}{\partial x_j/\partial x_l}{\partial x_j/\partial x_l}{\partial x_j/\partial x_l}\sigma_{kl}+ x_j\mathchoice{\frac{\partial\sigma_{kl}}{\partial x_l}}{\partial\sigma_{kl}/\partial x_l}{\partial\sigma_{kl}/\partial x_l}{\partial\sigma_{kl}/\partial x_l}\right]\;\mathrm{d}V\\ &= \int_{V(t)}\varepsilon_{ijk}\left[\delta_{jl}\sigma_{kl}+ x_j(\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T})_k\right]\;\mathrm{d}V\\ &= \int_{V(t)}\left[\varepsilon_{ijk}\sigma_{kj} + \varepsilon_{ijk}x_j(\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T})_k\right]\;\mathrm{d}V. \label{eqn:stress2} \end{align}\] Putting [eqn:stress1] and [eqn:stress2] into [eqn:angm] gives \[\int_{V(t)}\varepsilon_{ijk}x_j\left[\rho\mathchoice{\frac{\mathrm{D} u_k}{\mathrm{D} t}}{\mathrm{D} u_k/\mathrm{D} t}{\mathrm{D} u_k/\mathrm{D} t}{\mathrm{D} u_k/\mathrm{D} t} - (\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T})_k - \rho f_k \right]\;\mathrm{d}V= \int_{V(t)}\varepsilon_{ijk}\sigma_{kj}\;\mathrm{d}V.\] The left-hand side vanishes by the Cauchy momentum equation, so angular momentum is conserved if and only if \[\int_{V(t)}\varepsilon_{ijk}\sigma_{kj}\;\mathrm{d}V= 0.\] This needs to hold for arbitrary \(V(t)\), so \[\begin{aligned} \varepsilon_{ijk}\sigma_{kj} = 0 \quad &\iff \quad \varepsilon_{imn}\varepsilon_{ijk}\sigma_{kj} = 0\\ &\iff \quad \big(\delta_{mj}\delta_{nk} - \delta_{mk}\delta_{nj}\big)\sigma_{kj} = 0\\ &\iff \quad \sigma_{nm} - \sigma_{mn} = 0 \quad \iff \sigma_{ij} = \sigma_{ji}. \end{aligned}\]

Phew! We made it! Now we also want that \(\sigma_{ij}\) reduces to the inviscid expression in the absence of viscosity, so we write \[\sigma_{ij} = -p\delta_{ij} + \tau_{ij},\] where \(\mathsfbfit{\tau} = (\tau_{ij})\) is called the deviatoric stress tensor. Since the diagonal components of \(\normalsize{𝞼}\) need no longer be equal, we will simply define the pressure \(p\) as the mean normal stress, \[p = -\frac{1}{3}\sigma_{ii} = -\frac{1}{3}(\sigma_{11}+\sigma_{22}+\sigma_{33}).\] It follows that the deviatoric part is traceless, \[\begin{equation} \tau_{ii} = 0. \label{eqn:dii} \end{equation}\]

We now have our general form for the elements of \(\normalsize{𝞼}\) so that each element depends on the other in an allowed physical way and in a way that reduces to the ideal case when the shear stresses are zero. Now we need a form for the shear stresses themselves.

Note: some books define \(p\) as the thermodynamic pressure and allow \(\tau_{ii}\neq 0\).

We’ve given a rigorous proof of this symmetry here; textbooks typically either use physical scaling arguments (e.g. Batchelor, Paterson), or back it out from the Newtonian model (e.g. Landau & Lifshitz). The argument here is from Acheson. See what you like best!

The Reynolds transport theorem can be written in a few different ways; here we use the version most convenient to us! There are many proofs of the theorem and you can find them online easily (effectively more adventures in vector calculus). A nice derivation is presented in Acheson, exercise 6.13.

6.2 Newtonian fluids

Enter Newton! You may have heard of him. A Newtonian fluid is one where the shear stresses depend linearly on velocity gradients. This is the most common model for a viscous fluid and the one we’ll adopt.

6.2.1 Simple shear

To get an idea of what this means, let’s consider a shear flow, \[\mathbfit{u} = U(y)\widehat{\mathbfit{e}}_x,\] with \(U'(y) > 0\).

image

Consider the stress on the surface \(S\) given by \(y=y_0\). In an ideal fluid, the forces would all be normal to \(S\), so there would be no transfer of momentum across \(S\). But in reality, kinetic theory dictates that some molecules will diffuse across \(S\), transferring momentum. If a molecule moves from \(y<y_0\) to \(y>y_0\), it must be accelerated, so there must be a force in the \(x\)-direction. In a Newtonian fluid, we approximate the shear stress by the linear relation \[\sigma_{12} = \mu\mathchoice{\frac{{\mathrm d}U}{{\mathrm d}y}}{{\mathrm d}U/{\mathrm d}y}{{\mathrm d}U/{\mathrm d}y}{{\mathrm d}U/{\mathrm d}y},\] where the constant of proportionality \(\mu\) is the viscosity.

Since \(\widehat{\mathbfit{n}}=\widehat{\mathbfit{e}}_y\) for the volume \(y<y_0\), the force \(\normalsize{𝞼}\cdot\widehat{\mathbfit{n}}\) on the lower fluid is to the right (speeding it up). For the volume \(y>y_0\), the force is to the left (slowing it down) since \(\widehat{\mathbfit{n}}=-\widehat{\mathbfit{e}}_y\). So viscosity opposes relative motion between different parts of the fluid. Effectively it adds a drag force.

6.2.2 Shear in all directions

In general, we need to consider the viscous force exerted by all three components of \(\mathbfit{u}\) on surfaces of arbitrary orientation. So a Newtonian fluid is defined by the linear relation \[\begin{equation} \tau_{ij} = A_{ijkl}\mathchoice{\frac{\partial u_l}{\partial x_k}}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k} \label{eqn:newt} \end{equation}\] for some rank 4 tensor \(A_{ijkl}\). You can think of a rank 4 tensor as a matrix of matrices, or simply just that for every combination of \(ijkl\) there will be a specific number. We make the further physical assumption that \(A_{ijkl}\) must be isotropic.

This is a bit tricky: we are assuming not that \(\mathchoice{\frac{\partial u_l}{\partial x_k}}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}\) is the same everywhere, but that there is no preferred direction in space for the relation between this and \(\tau_{ij}\). Such isotropy holds for fluids like air or water, but not for e.g. polymer suspensions with long chain molecules.

The assumption that \(A_{ijkl}\) is isotropic means that it must take the form \[A_{ijkl} = \alpha\delta_{ij}\delta_{kl} + \beta\delta_{ik}\delta_{jl} + \gamma\delta_{il}\delta_{jk}.\] This is a general result for rank 4 tensors and can be proved using rotation matrices or geometrical arguments. For our purposes we’ll just use it directly. This means then that \[\begin{aligned} \tau_{ij} &= \alpha\delta_{ij}\delta_{kl}\mathchoice{\frac{\partial u_l}{\partial x_k}}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}+ \beta\delta_{ik}\delta_{jl} \mathchoice{\frac{\partial u_l}{\partial x_k}}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}+\gamma\delta_{il}\delta_{jk}\mathchoice{\frac{\partial u_l}{\partial x_k}}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}{\partial u_l/\partial x_k}, \\ &= \alpha\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}\delta_{ij} + \beta\mathchoice{\frac{\partial u_j}{\partial x_i}}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i} + \gamma \mathchoice{\frac{\partial u_i}{\partial x_j}}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}. \end{aligned}\] Since \(\normalsize{𝞼}\) is symmetric we must also have that \(\tau_{ji}=\tau_{ij}\). This implies that \(\gamma=\beta\) so \[\tau_{ij} = \alpha\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}\delta_{ij} + \beta\left(\mathchoice{\frac{\partial u_j}{\partial x_i}}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i} + \mathchoice{\frac{\partial u_i}{\partial x_j}}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}\right).\] Finally, applying \(\tau_{ii}=0\) gives \[0 = 3\alpha\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k} + 2\beta\mathchoice{\frac{\partial u_i}{\partial x_i}}{\partial u_i/\partial x_i}{\partial u_i/\partial x_i}{\partial u_i/\partial x_i},\] which implies \(3\alpha=-2\beta\) since \(\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}\) is just a relabelling of \(\mathchoice{\frac{\partial u_i}{\partial x_i}}{\partial u_i/\partial x_i}{\partial u_i/\partial x_i}{\partial u_i/\partial x_i}\). Writing \(\mu=\beta\) gives \[\tau_{ij} = \mu\left(\mathchoice{\frac{\partial u_j}{\partial x_i}}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i} + \mathchoice{\frac{\partial u_i}{\partial x_j}}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j} - \frac{2}{3}\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}\delta_{ij}\right).\] Thus, we finally have that the stress tensor for a Newtonian fluid takes the form \[\boxed{\sigma_{ij} = -p\delta_{ij} + \mu\left[\mathchoice{\frac{\partial u_j}{\partial x_i}}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i} + \mathchoice{\frac{\partial u_i}{\partial x_j}}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j} - \frac{2}{3}(\bm{\nabla}\cdot\mathbfit{u})\delta_{ij} \right],}\] where the constant \(\mu\) is called the viscosity. You might recognise the first two terms in the bracket as being equal to twice \(\mathsfbfit{E}\), the rate of strain tensor from 1.6.

In non-Newtonian fluids such as toothpaste, magma or liquid chocolate, the stress can’t be modelled by the simple linear form in [eqn:newt] – you might remember this from the Christmas lecture! For example, tomato ketchup has a viscosity that decreases with increasing rate of strain, hence why you have to shake it vigorously to get it out of the bottle.

If the condition \(\tau_{ii}=0\) is not imposed, then there are two independent coefficients of viscosity, usually written as \[\tau_{ij} = \mu\left[\mathchoice{\frac{\partial u_j}{\partial x_i}}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i}{\partial u_j/\partial x_i} + \mathchoice{\frac{\partial u_i}{\partial x_j}}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j}{\partial u_i/\partial x_j} - \frac{2}{3}\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}\delta_{ij}\right] + \mu'\mathchoice{\frac{\partial u_k}{\partial x_k}}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}{\partial u_k/\partial x_k}\delta_{ij}.\]

6.3 The Navier–Stokes equations

We are finally in a position to write down the famous equations of motion for a viscous fluid. To derive the equation for conservation of momentum, we simply insert the Newtonian stress tensor \(\normalsize{𝞼}\) into the general Cauchy momentum equation, [eqn:cauchymom]. We have \[\begin{aligned} \big[\bm{\nabla}\cdot\normalsize{𝞼}^\mathsf{T}\big]_i &= \mathchoice{\frac{\partial\sigma_{ij}}{\partial x_j}}{\partial\sigma_{ij}/\partial x_j}{\partial\sigma_{ij}/\partial x_j}{\partial\sigma_{ij}/\partial x_j}\\ &= -\mathchoice{\frac{\partial p}{\partial x_i}}{\partial p/\partial x_i}{\partial p/\partial x_i}{\partial p/\partial x_i} + \mu\left[\mathchoice{\frac{\partial^2 u_j}{\partial x_j \partial x_i}}{\partial^2 u_j /\partial x_j \partial x_i}{\partial^2 u_j /\partial x_j \partial x_i}{\partial^2 u_j /\partial x_j \partial x_i} + \mathchoice{\frac{\partial^2 u_i}{\partial x_j \partial x_j}}{\partial^2 u_i /\partial x_j \partial x_j}{\partial^2 u_i /\partial x_j \partial x_j}{\partial^2 u_i /\partial x_j \partial x_j} - \frac{2}{3}\mathchoice{\frac{\partial}{\partial x_i}}{\partial/\partial x_i}{\partial/\partial x_i}{\partial/\partial x_i}\big(\bm{\nabla}\cdot\mathbfit{u}\big) \right]\\ &= -\mathchoice{\frac{\partial p}{\partial x_i}}{\partial p/\partial x_i}{\partial p/\partial x_i}{\partial p/\partial x_i} + \mu\left[\mathchoice{\frac{\partial}{\partial x_i}}{\partial/\partial x_i}{\partial/\partial x_i}{\partial/\partial x_i}\mathchoice{\frac{\partial u_j}{\partial x_j}}{\partial u_j/\partial x_j}{\partial u_j/\partial x_j}{\partial u_j/\partial x_j} + {\nabla^2}{u_i} - \frac{2}{3}\mathchoice{\frac{\partial}{\partial x_i}}{\partial/\partial x_i}{\partial/\partial x_i}{\partial/\partial x_i}\big(\bm{\nabla}\cdot\mathbfit{u}\big) \right]\\ &= - \mathchoice{\frac{\partial p}{\partial x_i}}{\partial p/\partial x_i}{\partial p/\partial x_i}{\partial p/\partial x_i} + \mu\left[\frac{1}{3}\mathchoice{\frac{\partial}{\partial x_i}}{\partial/\partial x_i}{\partial/\partial x_i}{\partial/\partial x_i}\big(\bm{\nabla}\cdot\mathbfit{u}\big) + {\nabla^2}{u_i}\right], \end{aligned}\] so [eqn:cauchymom] gives \[\boxed{\rho\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t} = - \bm{\nabla}p + \frac{\mu}{3}\bm{\nabla}\big(\bm{\nabla}\cdot\mathbfit{u}\big) + \mu{\nabla^2}\mathbfit{u} + \rho\mathbfit{f}.}\] Thus the compressible Navier–Stokes equations are \[\begin{aligned} \mathchoice{\frac{\partial\rho}{\partial t}}{\partial\rho/\partial t}{\partial\rho/\partial t}{\partial\rho/\partial t} + \bm{\nabla}\cdot(\rho\mathbfit{u})&=0,\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + \big(\mathbfit{u}\cdot\bm{\nabla}\big)\mathbfit{u} &=- \frac{1}{\rho}\bm{\nabla}p + \frac{\mu}{3\rho}\bm{\nabla}\big(\bm{\nabla}\cdot\mathbfit{u}\big) + \frac{\mu}{\rho}{\nabla^2}\mathbfit{u} + \mathbfit{f},\\ \text{(plus }&\text{some equation of state)}.\nonumber \end{aligned}\] For the remainder of the course, we will discuss only the incompressible Navier–Stokes equations \[\begin{equation} \boxed{ \begin{gathered} \bm{\nabla}\cdot\mathbfit{u}=0,\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + \big(\mathbfit{u}\cdot\bm{\nabla}\big)\mathbfit{u} = - \frac{1}{\rho_0}\bm{\nabla}p + \frac{\mu}{\rho_0}{\nabla^2}\mathbfit{u} + \mathbfit{f}. \end{gathered} } \label{eqn:nscons} \end{equation}\] Usually we write \(\displaystyle\nu=\mu/\rho_0\), called the kinematic viscosity.

The boundary conditions are different to an inviscid fluid. For a viscous fluid we need the no-slip condition that \(\mathbfit{u}\) matches the speed of any boundary. If your boundary is stationary, this means \(\mathbfit{u}=\boldsymbol{0}\). This is really important to remember! Or your solutions will not make physical sense!

We are now finally able to solve a few problems! Let’s do a couple of the classics.

Couette flow: First, consider the flow between two moving boundaries with \(p=0\) and \(\mathbfit{f}=\boldsymbol{0}\). Let the boundary \(y=0\) be stationary and the boundary \(y=h\) move at constant velocity \(U\widehat{\mathbfit{e}}_x\). Since the fluid ‘sticks’ to both boundaries (the no-slip boundary condition) this will induce a flow known as Couette flow. We look for a steady flow, \[\mathbfit{u}=u(y)\widehat{\mathbfit{e}}_x.\] Remember: ‘steady’ implies it doesn’t change with time, not that it is stationary!

image

In this situation, we have \[\bm{\nabla}\cdot\mathbfit{u}=0, \quad (\mathbfit{u}\cdot\bm{\nabla})\mathbfit{u}=\mathbf{0}, \quad \text{and} \quad \bm{\nabla}p=\mathbf{0},\] so the incompressible Navier–Stokes equations reduce to the single ODE with no-slip boundary conditions, \[\begin{aligned} \nu\mathchoice{\frac{{\mathrm d}^2 u}{{\mathrm d}y^2}}{{\mathrm d}^2 u/{\mathrm d}y^2}{{\mathrm d}^2 u/{\mathrm d}y^2}{{\mathrm d}^2 u/{\mathrm d}y^2} &= 0, \quad u(0) = 0, \quad u(h) = U. \end{aligned}\] Integrating twice gives \[u(y) = Ay + B,\] and the boundary conditions imply that \(B=0\) and \(A = U/h\). Thus \[u(y)=\frac{Uy}{h}.\] The flow linearly increases from zero to match the boundary motion on the top boundary. Note that as we saw in Michaelmas, the vorticity is uniform (\(\mathbfit{\omega} = -(U/h)\widehat{\mathbfit{e}}_z\) throughout the volume. We’ll get back to why this must be later.

Poiseuille flow: Another classic example is flow in a pipe with \(\mathbfit{f}=\boldsymbol{0}\), known as Poiseuille flow. Let the pipe be given by \(r<a\) in cylindrical coordinates. We need a pressure gradient to sustain the flow (since the boundary doesn’t move), so assume \[\bm{\nabla}p = -G\widehat{\mathbfit{e}}_z.\] We look for a steady solution of the form \[\mathbfit{u}=u(r)\widehat{\mathbfit{e}}_z.\]

image

We have to be careful in cylindrical coordinates. Firstly, \[\begin{aligned} \big(\mathbfit{u}\cdot\bm{\nabla}\big)\mathbfit{u} &= \left(u_r\mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r} + \frac{u_\theta}{r}\mathchoice{\frac{\partial}{\partial\theta}}{\partial/\partial\theta}{\partial/\partial\theta}{\partial/\partial\theta} + u_z\mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z} \right)\Big(u_r\widehat{\mathbfit{e}}_r+ u_\theta\widehat{\mathbfit{e}}_\theta+ u_z\widehat{\mathbfit{e}}_z\Big) \\ &= u\mathchoice{\frac{\partial}{\partial z}}{\partial/\partial z}{\partial/\partial z}{\partial/\partial z}\big(u\widehat{\mathbfit{e}}_z\big) = 0. \end{aligned}\] Secondly, we have \[{\nabla^2}\mathbfit{u} = \left({\nabla^2}u_r - \frac{u_r}{r^2} - \frac{2}{r^2}\mathchoice{\frac{\partial u_\theta}{\partial\theta}}{\partial u_\theta/\partial\theta}{\partial u_\theta/\partial\theta}{\partial u_\theta/\partial\theta}\right)\widehat{\mathbfit{e}}_r+ \left({\nabla^2}u_\theta + \frac{2}{r^2}\mathchoice{\frac{\partial u_r}{\partial\theta}}{\partial u_r/\partial\theta}{\partial u_r/\partial\theta}{\partial u_r/\partial\theta} - \frac{u_\theta}{r^2}\right)\widehat{\mathbfit{e}}_\theta+ {\nabla^2}u_z \widehat{\mathbfit{e}}_z\] where \[{\nabla^2}f = \frac{1}{r}\mathchoice{\frac{\partial}{\partial r}}{\partial/\partial r}{\partial/\partial r}{\partial/\partial r}\left(r\mathchoice{\frac{\partial f}{\partial r}}{\partial f/\partial r}{\partial f/\partial r}{\partial f/\partial r}\right) + \frac{1}{r^2}\mathchoice{\frac{\partial^2 f}{\partial\theta^2}}{\partial^2 f/\partial\theta^2}{\partial^2 f/\partial\theta^2}{\partial^2 f/\partial\theta^2} + \mathchoice{\frac{\partial^2 f}{\partial z^2}}{\partial^2 f/\partial z^2}{\partial^2 f/\partial z^2}{\partial^2 f/\partial z^2}.\] In our case this reduces to \[{\nabla^2}\mathbfit{u} = \frac{1}{r}\mathchoice{\frac{{\mathrm d}}{{\mathrm d}r}}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}\left(r\mathchoice{\frac{{\mathrm d}u}{{\mathrm d}r}}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}\right)\widehat{\mathbfit{e}}_z.\] So the momentum equation gives \[\begin{aligned} 0 = G + \frac{\mu}{r}\mathchoice{\frac{{\mathrm d}}{{\mathrm d}r}}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}\left(r\mathchoice{\frac{{\mathrm d}u}{{\mathrm d}r}}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}\right) \quad &&\implies&& \mathchoice{\frac{{\mathrm d}}{{\mathrm d}r}}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}{{\mathrm d}/{\mathrm d}r}\left(r\mathchoice{\frac{{\mathrm d}u}{{\mathrm d}r}}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}\right) &= -\frac{Gr}{\mu},\\ &&\implies&& \mathchoice{\frac{{\mathrm d}u}{{\mathrm d}r}}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r}{{\mathrm d}u/{\mathrm d}r} &= -\frac{Gr}{2\mu} + \frac{A}{r},\\ &&\implies&& u(r) &= -\frac{Gr^2}{4\mu} + A\log(r) + B. \end{aligned}\] Requiring a finite solution at \(r=0\) gives \(A=0\), and the no-slip condition at \(r=a\) fixes \(B\) so \[u(r) = \frac{G}{4\mu}(a^2 - r^2).\]

image

The total flow rate through the tube (given a cross-sectional area \(S\)) is \[\begin{aligned} Q=\int_S u \, {\mathrm d}S &= \int_0^{2\pi}\int_0^a u \, r \, {\mathrm d}r \, {\mathrm d}\theta \\ &= 2\pi\int_0^a u\, r\,{\mathrm d}r = \frac{\pi Ga^4}{8\mu}. \end{aligned}\] Measuring \(Q\) is one way of determine \(\mu\). For this flow the vorticity is \(\mathbfit{\omega} = (G/2\mu)r \widehat{\mathbfit{e}}_\theta\), so again a fairly smooth profile.

You also get a parabolic velocity profile if you solve this problem in 2D. We will see this example, ‘plane Poiseuille flow’, in Problems Class 7.

In practice, Poiseuille flow is observed only for slow enough flow (which we will quantify with the Reynolds number later – indeed, study of this flow was the origin of the Reynolds number). For faster flow, it is unstable and becomes turbulent, although it is not simply a linear instability and remains a topic of research.

There are plenty more examples of simple(ish) solutions to the Navier–Stokes equations in Batchelor, chapter 4.

6.4 Effects of viscosity

There is a reason that the steady state solutions have fairly smooth profiles for vorticity as well as velocity, and that is that (loosely speaking) viscosity causes vorticity to decay and spread out. Any steady state solution will be the long-time limit of this decay and will not contain any vorticity peaks in the volume.

6.4.1 Diffusion of vorticity

To see this, let’s take the curl of the momentum equation, [eqn:nscons]. Since the curl commutes with the Laplacian, and using our favourite vector identity to re-express the nonlinear velocity term, we get \[\begin{equation} \boxed{ \frac{\partial\mathbfit{\omega}}{\partial t} + \bm{\nabla}\times\big(\mathbfit{\omega}\times\mathbfit{u}\big) = \underbrace{\nu{\nabla^2}\mathbfit{\omega}}_{\text{diffusion}}}. \label{eqn:nsvort} \end{equation}\] This is the vorticity equation from 2.4, but now accounting for viscosity. Compare it with the inviscid version, [eqn:vort]: there, the left-hand side was unchanged, but the right-hand side was zero. We interpreted that to mean fluid elements with no vorticity do not gain any as they move. So, where does vorticity come from?

The answer lies in the new right-hand side. The Laplacian represents diffusion, scaled by the kinematic viscosity \(\nu\). This means vorticity spreads because of viscosity! Recall from Michaelmas that vorticity is local – it describes the rotation of a fluid element, moving as the element moves. Over time, the diffusion term spreads vorticity between elements and, eventually, throughout the fluid.

To illustrate this, we consider an example where vorticity is suddenly generated at one location and the motion of vorticity is purely through diffusion.

Suppose a viscous fluid lies at rest in the region \(y>0\) and at \(t=0\) the rigid boundary \(y=0\) is suddenly jerked into motion with constant velocity \(U\widehat{\mathbfit{e}}_x\).

image

We’ll assume that the flow takes the form \(\mathbfit{u}=u(y,t)\widehat{\mathbfit{e}}_x\) with \(u(y,0)=0\), and that there is no externally imposed pressure gradient, so that \(p=p_0\) (constant) throughout the fluid. The incompressible Navier–Stokes equations reduce to \[\mathchoice{\frac{\partial u}{\partial t}}{\partial u/\partial t}{\partial u/\partial t}{\partial u/\partial t} = \nu\mathchoice{\frac{\partial^2 u}{\partial y^2}}{\partial^2 u/\partial y^2}{\partial^2 u/\partial y^2}{\partial^2 u/\partial y^2},\] \[\begin{aligned} \text{with boundary conditions} && u(0,t)&=U \quad \text{(for $t>0$)},\\ && u&\to 0 \quad \text{as $y\to\infty$},\\ \text{and initial condition} && u(y,0)&=0. \end{aligned}\] We can solve this diffusion equation by seeking a a form for \(u(y,t)\) of \[u(y,t) = f(\eta), \qquad \text{where } \eta = \frac{y}{\sqrt{\nu t}}.\] This form is known as a similarity solution and this technique comes in handy for these kinds of problems. Effectively we are assuming that the the solution depends on a combination of \(y\) and \(t\), given by \(\eta\), rather than \(y\) and \(t\) independently. There are ways of finding these combinations but for now we’ll take \(\eta\) as given.

You might ask why we’re not using our favourite PDE solving technique, separation of variables, for the diffusion equation here. The answer – as with all PDEs – is in the boundary and initial conditions. Have a go with separation of variables and see that the initial condition scuppers it. (Indeed we will see that the solution we find here isn’t separable.)

By the chain rule, \[\begin{aligned} \mathchoice{\frac{\partial u}{\partial t}}{\partial u/\partial t}{\partial u/\partial t}{\partial u/\partial t} &= f'(\eta)\mathchoice{\frac{\partial\eta}{\partial t}}{\partial\eta/\partial t}{\partial\eta/\partial t}{\partial\eta/\partial t} = -f'(\eta)\frac{y}{2\nu^{1/2}t^{3/2}} = -f'(\eta)\frac{\eta}{2t},\\ \mathchoice{\frac{\partial u}{\partial y}}{\partial u/\partial y}{\partial u/\partial y}{\partial u/\partial y} &= f'(\eta)\mathchoice{\frac{\partial\eta}{\partial y}}{\partial\eta/\partial y}{\partial\eta/\partial y}{\partial\eta/\partial y} = f'(\eta)\frac{1}{\nu^{1/2}t^{1/2}},\\ \mathchoice{\frac{\partial^2 u}{\partial y^2}}{\partial^2 u/\partial y^2}{\partial^2 u/\partial y^2}{\partial^2 u/\partial y^2} &= f''(\eta)\left(\mathchoice{\frac{\partial\eta}{\partial y}}{\partial\eta/\partial y}{\partial\eta/\partial y}{\partial\eta/\partial y}\right)^2 = f''(\eta)\frac{1}{\nu t}. \end{aligned}\] So in terms of \(\eta\), the equation becomes an ODE (Yay! We can solve these!), \[-\frac{\eta}{2t} f'(\eta)= \frac{1}{t}f''(\eta) \quad \implies \quad f''(\eta) + \frac{\eta}{2}f'(\eta) = 0.\] Integrating once with an integrating factor gives \[\mathchoice{\frac{{\mathrm d}}{{\mathrm d}\eta}}{{\mathrm d}/{\mathrm d}\eta}{{\mathrm d}/{\mathrm d}\eta}{{\mathrm d}/{\mathrm d}\eta}\Big[\mathrm{e}^{\eta^2/4}f'(\eta)\Big] = 0 \quad \implies \quad f'(\eta) = A\mathrm{e}^{-\eta^2/4},\] and again gives \[f(\eta) = A\int_0^\eta\mathrm{e}^{-s^2/4}\,{\mathrm d}s + B.\] Imposing the boundary condition at \(y=0\) (which corresponds to \(\eta=0\)) gives \(B=U\). The conditions at \(y\to\infty\) and \(t\to 0\) both correspond (fortunately) to \(f\to 0\) as \(\eta\to\infty\). So we need \[0 = A\int_0^\infty\mathrm{e}^{-s^2/4}\,{\mathrm d}s + U.\] Changing variables to \(r=s/2\), we get \[0 = 2A\underbrace{\int_0^\infty\mathrm{e}^{-r^2}\,{\mathrm d}r}_{\sqrt{\pi}/2} + U \quad \implies \quad A = -\frac{U}{\sqrt{\pi}}.\] So the velocity field has the form \[\begin{aligned} u(y,t) &= U\left[1 - \frac{1}{\sqrt{\pi}}\int_0^{y/\sqrt{\nu t}}\mathrm{e}^{-s^2/4}\,{\mathrm d}s\right] \\ &=U\left[1 - \operatorname{erf}\left(\frac{y}{2\sqrt{\nu t}}\right) \right], \end{aligned}\] where \(\operatorname{erf}(x)\) is the error function we saw in the balloon example in the sound waves chapter. This looks as follows:

image

Notice that, at time \(t\), the effects of the boundary motion have reached a distance of order \(\sqrt{\nu t}\) from the boundary.

Now consider the vorticity. This has the form \(\mathbfit{\omega} = \omega(y,t)\widehat{\mathbfit{e}}_z\) with \[\omega(y,t) = -\mathchoice{\frac{\partial u}{\partial y}}{\partial u/\partial y}{\partial u/\partial y}{\partial u/\partial y} = \frac{U}{\sqrt{\pi\nu t}}\exp\left(-\frac{y^2}{4\nu t}\right).\]

image

The viscosity has spread out the vorticity, which was initially concentrated only in a vortex sheet of infinite strength at \(y=0\). The vorticity is generated by the initial impulse, and diffuses into the fluid. In the long time limit (\(t\to\infty\)) we will have no vorticity as \(u(y,t)\to U\) so there are no gradients in the flow.

6.4.2 Viscous dissipation

Another way to characterise the effect of viscosity on a flow is to look at its effect on kinetic energy. Again, in a general sense, viscosity acts to decay and spread out the kinetic energy. The incompressible Navier–Stokes equations with conservative body force take the form \[\begin{align} \bm{\nabla}\cdot\mathbfit{u} &= 0,\label{eqn:nscons0}\\ \mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + \big(\mathbfit{u}\cdot\bm{\nabla}\big)\mathbfit{u} &= - \frac{1}{\rho_0}\bm{\nabla}p + \nu{\nabla^2}\mathbfit{u} -\bm{\nabla}\mathit{\Phi}. \label{eqn:nscons-conservative} \end{align}\] Recall from last term, in 2.3.1, that kinetic energy is given by \[E=\frac{1}{2}\int_V \rho_0|\mathbfit{u}|^2\;\mathrm{d}V,\] and the corresponding Euler equations (\(\nu=0\)) conserve kinetic energy in a fixed, closed container, \[\mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = 0.\] The presence of viscosity \(\nu\neq 0\), however, leads to the dissipation of this energy. Let’s see what that looks like.

OK, time for one more round of vector calculus. Proceeding as we did for the Euler equations in 2.3.1, we have \[\begin{aligned} \mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} &=\rho_0 \mathchoice{\frac{{\mathrm d}}{{\mathrm d}t}}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t}{{\mathrm d}/{\mathrm d}t} \int_V \frac12 |\mathbfit{u}|^2 \, {\mathrm d}V \\ &= \rho_0\int_V\mathbfit{u}\cdot\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}\;\mathrm{d}V\quad \text{(because $V$ is fixed)}\\ &= \rho_0\int_V\mathbfit{u}\cdot\left[- \frac{1}{\rho_0}\bm{\nabla}p - \big(\mathbfit{u}\cdot\bm{\nabla}\big)\mathbfit{u} + \nu{\nabla^2}\mathbfit{u} -\bm{\nabla}\mathit{\Phi} \right]\;\mathrm{d}V,\\ \end{aligned}\]then by the famous vector identity [u-dot-grad-u],\[\begin{aligned} &= - \rho_0\int_V\mathbfit{u}\cdot\bm{\nabla}\underbrace{\left[\frac{p}{\rho_0} + \frac12|\mathbfit{u}|^2 + \mathit{\Phi}\right]}_H\;\mathrm{d}V+ \mu\int_V\mathbfit{u}\cdot{\nabla^2}\mathbfit{u}\;\mathrm{d}V, \end{aligned}\]which by a reversed product rule and divergence theorem as in [almost-bern],\[\begin{aligned} &= -\rho_0\int_{S}H\mathbfit{u}\cdot\,{\mathrm d}\mathbfit{S}+ \mu\int_V\mathbfit{u}\cdot{\nabla^2}\mathbfit{u}\;\mathrm{d}V, \end{aligned}\]then since the volume is closed, we can once again say \(\mathbfit{u}\cdot\,{\mathrm d}\mathbfit{S}=\mathbfit{u}\cdot\widehat{\mathbfit{n}}\,{\mathrm d}S = 0\) on \(S\),\[\begin{aligned} &= \mu\int_V\mathbfit{u}\cdot{\nabla^2}\mathbfit{u}\;\mathrm{d}V. \end{aligned}\] In viscous fluids, though, we can say something stronger than the no-flux condition at the boundary: we have the no-slip condition. This will be handy shortly. For now, using the rearranged product rule (aka integration by parts), \[\begin{aligned} \int_V\mathbfit{u}\cdot{\nabla^2}\mathbfit{u}\;\mathrm{d}V&= \int_V u_k\mathchoice{\frac{\partial^2 u_k}{\partial x_j^2}}{\partial^2 u_k/\partial x_j^2}{\partial^2 u_k/\partial x_j^2}{\partial^2 u_k/\partial x_j^2}\;\mathrm{d}V,\\ &= \int_V\left[\mathchoice{\frac{\partial}{\partial x_j}}{\partial/\partial x_j}{\partial/\partial x_j}{\partial/\partial x_j}\left(u_k\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\right) - \mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j} \right]\;\mathrm{d}V,\\ &= \int_{S}u_k\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\widehat{n}_j\,{\mathrm d}S - \int_V\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\;\mathrm{d}V, \quad\text{(divergence theorem)}\\ &= -\int_V\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\;\mathrm{d}V, \end{aligned}\] using the no-slip boundary condition \(\mathbfit{u}=\mathbf{0}\) on \(S\). What is this thing we’re left with? Well, it’s actually equivalent to \[\begin{aligned} \int_V\big|\bm{\nabla}\times\mathbfit{u}\big|^2\;\mathrm{d}V&= \int_V\varepsilon_{ijk}\varepsilon_{ilm}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_m}{\partial x_l}}{\partial u_m/\partial x_l}{\partial u_m/\partial x_l}{\partial u_m/\partial x_l}\;\mathrm{d}V\\ &= \int_V\Big(\delta_{jl}\delta_{km} - \delta_{jm}\delta_{kl} \Big)\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_m}{\partial x_l}}{\partial u_m/\partial x_l}{\partial u_m/\partial x_l}{\partial u_m/\partial x_l}\;\mathrm{d}V\\ &= \int_V\left(\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j} - \mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_j}{\partial x_k}}{\partial u_j/\partial x_k}{\partial u_j/\partial x_k}{\partial u_j/\partial x_k} \right)\;\mathrm{d}V\\ &= \int_V\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\;\mathrm{d}V- \int_V\left[\mathchoice{\frac{\partial}{\partial x_j}}{\partial/\partial x_j}{\partial/\partial x_j}{\partial/\partial x_j}\left(u_k\mathchoice{\frac{\partial u_j}{\partial x_k}}{\partial u_j/\partial x_k}{\partial u_j/\partial x_k}{\partial u_j/\partial x_k} \right) - u_k\mathchoice{\frac{\partial^2 u_j}{\partial x_j \partial x_k}}{\partial^2 u_j /\partial x_j \partial x_k}{\partial^2 u_j /\partial x_j \partial x_k}{\partial^2 u_j /\partial x_j \partial x_k} \right]\;\mathrm{d}V,\\ &= \int_V\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\;\mathrm{d}V- \int_{S}u_k\mathchoice{\frac{\partial u_j}{\partial x_k}}{\partial u_j/\partial x_k}{\partial u_j/\partial x_k}{\partial u_j/\partial x_k}\widehat{n}_j\,{\mathrm d}S + \int_V u_k\mathchoice{\frac{\partial}{\partial x_k}}{\partial/\partial x_k}{\partial/\partial x_k}{\partial/\partial x_k}\Big(\bm{\nabla}\cdot\mathbfit{u}\Big)\;\mathrm{d}V,\\ &= \int_V\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\mathchoice{\frac{\partial u_k}{\partial x_j}}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}{\partial u_k/\partial x_j}\;\mathrm{d}V. \end{aligned}\] In the last step the boundary term vanished again since \(\mathbfit{u}=\mathbf{0}\) on \(S\), and the last term vanished by incompressibility (\(\bm{\nabla}\cdot\mathbfit{u}=0\)).

So in conclusion, in an incompressible viscous fluid with \(\mathbfit{f}=-\bm{\nabla}\mathit{\Phi}\) and a stationary boundary, \[\mathchoice{\frac{{\mathrm d}E}{{\mathrm d}t}}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t}{{\mathrm d}E/{\mathrm d}t} = -\mu\int_V\left|\mathbfit{\omega}\right|^2\,{\mathrm d}V.\]

Notice that the energy decreases (provided \(\mathbfit{u}\) remains smooth) until all of the vorticity has been destroyed. If \(\mathbfit{\omega}=\boldsymbol{0}\), then we can write \(\mathbfit{u}=\bm{\nabla}\phi\), in which case \({\nabla^2}\mathbfit{u} = \bm{\nabla}(\bm{\nabla}\cdot\mathbfit{u})-\bm{\nabla}\times\bm{\nabla}\times\mathbfit{u}=\mathbf{0}\).

In reality, energy can’t just disappear, so where has the kinetic energy actually gone? It has gone into heat, just like normal friction – we just can’t account for this in our incompressible model. (In principle we could extend the energy equation to include both viscosity and compressibility at the same time.)

6.5 The Reynolds number

So viscosity seems to be important in many flows. Should we throw away everything we learnt in Michaelmas as useless? Of course not (tempting as it may be). But what we do need is a way to decide how important the effects of viscosity are likely to be for a given flow situation. This will depend not only on the size of \(\nu\) but also on its size relative to the other terms in the Navier–Stokes equations. So we need to look at the scaling properties of the equations, through a process known as nondimensionalisation.

Let \(U\) (constant) denote a characteristic (representative) flow speed \(|\mathbfit{u}|\) for the problem of interest, and let \(L\) denote a characteristic length scale for this flow. We then change to dimensionless variables \[\mathbfit{u}' = \frac{1}{U}\mathbfit{u}, \qquad \mathbfit{x}' = \frac{1}{L}\mathbfit{x}, \qquad t' = \frac{U}{L}t.\] Now \[\mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t} = \mathchoice{\frac{\partial t'}{\partial t}}{\partial t'/\partial t}{\partial t'/\partial t}{\partial t'/\partial t}\mathchoice{\frac{\partial}{\partial t'}}{\partial/\partial t'}{\partial/\partial t'}{\partial/\partial t'} = \frac{U}{L}\mathchoice{\frac{\partial}{\partial t'}}{\partial/\partial t'}{\partial/\partial t'}{\partial/\partial t'}, \qquad\mathchoice{\frac{\partial}{\partial x_j}}{\partial/\partial x_j}{\partial/\partial x_j}{\partial/\partial x_j} = \mathchoice{\frac{\partial x_j'}{\partial x_j}}{\partial x_j'/\partial x_j}{\partial x_j'/\partial x_j}{\partial x_j'/\partial x_j}\mathchoice{\frac{\partial}{\partial x_j'}}{\partial/\partial x_j'}{\partial/\partial x_j'}{\partial/\partial x_j'} = \frac{1}{L}\mathchoice{\frac{\partial}{\partial x_j'}}{\partial/\partial x_j'}{\partial/\partial x_j'}{\partial/\partial x_j'},\] so the continuity equation becomes \[\frac{U}{L}\bm{\nabla}'\cdot\mathbfit{u}' = 0 \qquad \iff \qquad \bm{\nabla}'\cdot\mathbfit{u}' = 0.\] and the (unforced) momentum equation becomes \[\begin{aligned} \frac{U^2}{L}\mathchoice{\frac{\partial\mathbfit{u}'}{\partial t'}}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'} + \frac{U^2}{L}\big(\mathbfit{u}'\cdot\bm{\nabla}'\big)\mathbfit{u}' = - \frac{1}{\rho_0L}\bm{\nabla}' p + \frac{U}{L^2}\nu{\bm{\nabla}'}^2\mathbfit{u}',\\ \iff \quad \mathchoice{\frac{\partial\mathbfit{u}'}{\partial t'}}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'} + \big(\mathbfit{u}'\cdot\bm{\nabla}'\big)\mathbfit{u}' = - \frac{1}{\rho_0 U^2}\bm{\nabla}'p + \frac{\nu}{UL}{\bm{\nabla}'}^2\mathbfit{u}'. \end{aligned}\] Now all our variables are nondimensionalised – apart from the pressure. It turns out we have a choice! If we define the dimensionless pressure as \[p' = \frac{1}{\rho_0U^2}p,\] then we get a nondimensionalised Navier–Stokes equation, \[\begin{equation} \boxed{\mathchoice{\frac{\partial\mathbfit{u}'}{\partial t'}}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'} + \left(\mathbfit{u}'\cdot\bm{\nabla}'\right)\mathbfit{u}' = - \bm{\nabla}' p' + \frac{1}{\textit{Re}}{\bm{\nabla}'}^2\mathbfit{u}',} \label{eqn:rey} \end{equation}\] where the only remaining (dimensionless) parameter is the Reynolds number, \[\boxed{\textit{Re}= \frac{UL}{\nu}.}\] It is clear from [eqn:rey] that viscosity will be more important, relative to the other terms, in flows with small \(\textit{Re}\).

image

The Reynolds number is named after mathematician/engineer Osborne Reynolds, who carried out a famous experiment on pipe flow in 1883, examining the conditions under which laminar Poiseuille flow transitions to turbulence.

Some typical Reynolds numbers:

Flow around… \(\implies\)
an aeroplane wing air at 20 °C: \(\nu\approx \qty{0.15}{\cm\squared\per\s}\), \(U=\qty{250}{\metre\per\s}\), \(L=\qty{30}{\m}\). \(\textit{Re}\approx 10^8\)
a car air at 20 °C: \(\nu\approx \qty{0.15}{\cm\squared\per\s}\), \(U=\qty{30}{\metre\per\s}\), \(L=\qty{4}{m}\). \(\textit{Re}\approx 10^6\)
a swimmer water at 20 °C: \(\nu\approx \qty{0.01}{\cm\squared\per\s}\), \(U=\qty{2}{\metre\per\s}\), \(L=\qty{2}{\m}\). \(\textit{Re}\approx 4\times 10^6\)
a swimming bacterium water at 20 °C: \(\nu\approx \qty{0.01}{\cm\squared\per\s}\). \(U=10^{-4}\,\unit{\metre\per\s}\), \(L=10^{-7}\,\unit{m}\). \(\textit{Re}\approx 10^{-5}\)

Notice that air has higher kinematic viscosity \(\nu\) than water, because of its lower density. Water has higher \(\mu\).

Two flows with the same \(\textit{Re}\) can be called dynamically similar, because the solutions will be the same under a rescaling of the variables. This is used, for example, in wind tunnel testing of aircraft using scaled down models.

Additional terms lead to additional dimensionless parameters. For example, compressibility introduces the Mach number, \(\textit{Ma} = U/c_0\), while non-zero forcing \(\mathbfit{f}\) leads to other parameters, such as the Froude number, \(\textit{Fr} = U/\sqrt{gL}\).

6.5.1 High Reynolds number limit

As \(\textit{Re}\to\infty\) the viscous term in [eqn:rey] becomes smaller and smaller. However, this is a singular limit: in other words, the solution of the Navier–Stokes equation does not (in general) tend to the solution of the Euler equation. This is because the viscous term has the highest derivative.

To illustrate what happens when the highest derivative term is multiplied by a small parameter, let’s consider a simpler differential equation for some \(u(x)\), \[\varepsilon u'' + u' = 1, \quad \varepsilon\ll 1,\] with boundary conditions \(u(0)=0\), \(u(1)=2\).

If we set \(\varepsilon=0\) and neglect the first term, then we have \[u' = 1 \quad \implies \quad u(x) = x + C.\] It is not possible to satisfy both boundary conditions.

But to find the solution of the full equation, divide through by \(\varepsilon\) and use an integrating factor to write \[\begin{aligned} \mathchoice{\frac{{\mathrm d}}{{\mathrm d}x}}{{\mathrm d}/{\mathrm d}x}{{\mathrm d}/{\mathrm d}x}{{\mathrm d}/{\mathrm d}x}\left[\mathrm{e}^{x/\varepsilon}u'\right] &= \frac{1}{\varepsilon}\mathrm{e}^{x/\varepsilon}\\ \implies \quad u' &= 1 + A\mathrm{e}^{-x/\varepsilon} \\ \implies \quad u(x) &= x + B - A\varepsilon\mathrm{e}^{-x/\varepsilon}. \end{aligned}\] Now imposing the conditions: \[\begin{aligned} \text{at $x=0$} \implies B &= \varepsilon A,\\ \text{at $x=1$} \implies A &= \frac{1}{\varepsilon(1-\mathrm{e}^{-1/\varepsilon})}. \end{aligned}\] Thus, \[u(x) = x + \frac{1 - \mathrm{e}^{-x/\varepsilon}}{1 - \mathrm{e}^{-1/\varepsilon}}.\]

image

The solution to the second-order equation looks like the first-order solution except in a thin layer near the boundary where it changes to satisfy the second boundary condition. In this layer, \(u''\) is large enough that it compensates for the smallness of \(\varepsilon\). This layer will get thinner for smaller \(\varepsilon\), but will continue to exist for any \(\varepsilon> 0\).

In the fluid case, there is an analogous layer above a solid boundary, where \(\mathbfit{u}\) has to depart from an inviscid flow in order to satisfy the no-slip condition. This is called a boundary layer. We already saw an example with the impulsively moved boundary. In that example, we saw that the boundary layer thickness grew like \(\sqrt{\nu t}\) with the fluid in the volume ‘feeling’ the effect of the moved boundary once the boundary layer propagated past it. More often we have the reverse situation as shown below.

image

Here we have a flow past a stationary object that slows down near the surface and stops at the surface itself (no slip). In that case it is the reduction in speed that propagates up from the surface within the boundary layer (of thickness \(\sim \sqrt{\nu t}\)).

In fact, we can use our knowledge of boundary layers to estimate how big the layer grows as a high \(\textit{Re}\) flow moves past an object (such as a wing, or golf ball). If the object has length \(L\) and the flow speed is \(U\), the thickness of the boundary layer will reach \(\sqrt{\nu t}=\sqrt{\nu L/U}\) by the time it reaches the rear.

image

The sheared flow within the layer (region of high vorticity) will then be advected beyond the object as a wake, which will continue to widen due to viscous diffusion. The flow takes time \(x/U\) to move a distance \(x\), so the wake will spread a distance \(\sqrt{\nu t} = \sqrt{\nu x/U}\). In fact, secondary flows can cause the boundary layer to separate before it reaches the rear of the obstacle. Aerofoils are shaped to prevent this premature separation but this only works if the angle of attack is not too high. When the angle of attack is increased too far a sudden separation of the flow can occur which dramatically reduces the lift from the wing which is known as a stall.

6.5.2 Low Reynolds number limit

At the other extreme, where \(\textit{Re}\ll 1\), viscosity dominates. This applies to flows with extremely small length scales (e.g. biological applications like bacteria) or very viscous liquids like honey.

When \(\textit{Re}\ll 1\), we neglect \(\displaystyle\mathchoice{\frac{\mathrm{D} \mathbfit{u}}{\mathrm{D} t}}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}{\mathrm{D} \mathbfit{u}/\mathrm{D} t}\) and obtain the (unforced) Stokes equations, \[\boxed{ \begin{gathered} %\begin{align} \bm{\nabla}\cdot\mathbfit{u} = 0,\\ \mu{\nabla^2}\mathbfit{u} = \bm{\nabla}p. %\end{align} \end{gathered}}\] We still have the no-slip boundary condition.

The nondimensionalised Navier–Stokes equation in [eqn:rey] suggests that we can also neglect the pressure. But this would not account for all of the possible Stokes flows. Go back to the nondimensionalisation and show that if we instead defined the dimensionless pressure as \(p'= Lp/(\mu U)\), we get \[\mathchoice{\frac{\partial\mathbfit{u}'}{\partial t'}}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'}{\partial\mathbfit{u}'/\partial t'} + \big(\mathbfit{u}'\cdot\bm{\nabla}'\big)\mathbfit{u}' = - \frac{1}{\textit{Re}}\bm{\nabla}' p' + \frac{1}{\textit{Re}}{\bm{\nabla}'}^2\mathbfit{u}'.\]

The Stokes equations are linear, so are much easier to deal with (I recommend them). They also only admit one unique solution, \(\mathbfit{u}(\mathbfit{x})\), \(p(\mathbfit{x})\) in a domain \(V\) matching a given boundary condition \(\mathbfit{u}=\mathbfit{u}_S(\mathbfit{x})\) on \(S\). The boundary therefore drives the flow. The pressure \(p\) is unique up to an additive constant.

To see this, suppose there exist two solutions \(\mathbfit{u}_1\), \(\mathbfit{u}_2\) and consider the difference \(\mathbfit{v}=\mathbfit{u}_1-\mathbfit{u}_2\) with corresponding pressure difference \(q=p_1-p_2\). By linearity, we have \[\mu{\nabla^2}\mathbfit{v} = \bm{\nabla}q, \qquad \bm{\nabla}\cdot\mathbfit{v} = 0,\] and since \(\mathbfit{u}_1\) and \(\mathbfit{u}_2\) satisfy the same boundary condition, we have \(\mathbfit{v}=\mathbf{0}\) on \(S\). It follows that \[\begin{aligned} \int_V\mathbfit{v}\cdot\Big[\mu{\nabla^2}\mathbfit{v} - \bm{\nabla}q\Big]\;\mathrm{d}V&=0\\ \implies \quad \int_Vv_i\left[\mu\mathchoice{\frac{\partial^2 v_i}{\partial x_j \partial x_j}}{\partial^2 v_i /\partial x_j \partial x_j}{\partial^2 v_i /\partial x_j \partial x_j}{\partial^2 v_i /\partial x_j \partial x_j} - \mathchoice{\frac{\partial q}{\partial x_i}}{\partial q/\partial x_i}{\partial q/\partial x_i}{\partial q/\partial x_i}\right]\;\mathrm{d}V&= 0. \end{aligned}\] Writing both terms as results of the product rule, we get \[\begin{aligned} \mu\int_V\mathchoice{\frac{\partial}{\partial x_j}}{\partial/\partial x_j}{\partial/\partial x_j}{\partial/\partial x_j}\left[v_i\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\right]\;\mathrm{d}V- \mu\int_V\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\;\mathrm{d}V- \int_V\mathchoice{\frac{\partial}{\partial x_i}}{\partial/\partial x_i}{\partial/\partial x_i}{\partial/\partial x_i}\Big[v_i q\Big]\;\mathrm{d}V&= 0, \end{aligned}\] noting that we haven’t forgotten one of the contributions from the final term’s product rule expansion: it just equals zero, \(\mathchoice{\frac{\partial v_i}{\partial x_i}}{\partial v_i/\partial x_i}{\partial v_i/\partial x_i}{\partial v_i/\partial x_i}=\bm{\nabla}\cdot\mathbfit{v}=0\).

Applying the divergence theorem to the first and third terms gives \[\begin{aligned} \mu\int_{S}v_i\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\widehat{n}_j\,{\mathrm d}S - \mu\int_V\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\;\mathrm{d}V- \int_{S}qv_i\widehat{n}_i\,{\mathrm d}S &= 0\\ \implies\quad \mu\int_V\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\;\mathrm{d}V&= 0, \end{aligned}\] where we used the boundary condition \(\mathbfit{v}=\mathbf{0}\). The remaining integrand is \[\begin{aligned} \mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}\mathchoice{\frac{\partial v_i}{\partial x_j}}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j}{\partial v_i/\partial x_j} &= \left(\mathchoice{\frac{\partial v_x}{\partial x}}{\partial v_x/\partial x}{\partial v_x/\partial x}{\partial v_x/\partial x}\right)^2 + \left(\mathchoice{\frac{\partial v_x}{\partial y}}{\partial v_x/\partial y}{\partial v_x/\partial y}{\partial v_x/\partial y}\right)^2+ \left(\mathchoice{\frac{\partial v_x}{\partial z}}{\partial v_x/\partial z}{\partial v_x/\partial z}{\partial v_x/\partial z}\right)^2 + \left(\mathchoice{\frac{\partial v_y}{\partial x}}{\partial v_y/\partial x}{\partial v_y/\partial x}{\partial v_y/\partial x}\right)^2 + \left(\mathchoice{\frac{\partial v_y}{\partial y}}{\partial v_y/\partial y}{\partial v_y/\partial y}{\partial v_y/\partial y}\right)^2+ \left(\mathchoice{\frac{\partial v_y}{\partial z}}{\partial v_y/\partial z}{\partial v_y/\partial z}{\partial v_y/\partial z}\right)^2 \nonumber\\ &\quad+ \left(\mathchoice{\frac{\partial v_z}{\partial x}}{\partial v_z/\partial x}{\partial v_z/\partial x}{\partial v_z/\partial x}\right)^2 + \left(\mathchoice{\frac{\partial v_z}{\partial y}}{\partial v_z/\partial y}{\partial v_z/\partial y}{\partial v_z/\partial y}\right)^2+ \left(\mathchoice{\frac{\partial v_z}{\partial z}}{\partial v_z/\partial z}{\partial v_z/\partial z}{\partial v_z/\partial z}\right)^2. \end{aligned}\] So the only way for the integral to vanish is if \(\mathbfit{v}\) is constant. And since \(\mathbfit{v}=\mathbf{0}\) on the boundary, \(\mathbfit{v} =\mathbf{0}\) everywhere. It follows that \(\mathbfit{u}_1=\mathbfit{u}_2\), hence \(\bm{\nabla}q=0\) and \(p_1=p_2+c\).

The key observation goes like this: if your boundary condition is \(\mathbfit{u}_S = \mathbf{0}\), clearly \(\mathbfit{u}=\mathbf{0}\) is a solution to the unforced Stokes equations. But by what we’ve just shown, it’s the only solution! So if we want non-zero flow, we therefore need \(\mathbfit{u}_S\neq \mathbf{0}\), which implies that the boundary itself is moving.

6.6 Time reversibility

A final and key insight into the effects of viscosity is to consider what we can infer about earlier times in the system based on the fluid state at later times. Surprisingly, depending upon the Reynolds number, there are some very different regimes! To see this, suppose that \(\mathbfit{u}\), \(p\) solve the incompressible Navier–Stokes equations with a conservative body force. Now let time run backwards, so that \[\mathbfit{u} \to \textcolor{C1}{-\mathbfit{u}}, \quad p\to p, \quad \mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}\to\textcolor{C1}{-\mathchoice{\frac{\partial}{\partial t}}{\partial/\partial t}{\partial/\partial t}{\partial/\partial t}}, \quad \bm{\nabla}\to\bm{\nabla}.\] Then \(\bm{\nabla}\cdot\mathbfit{u}=0\) is invariant, but the momentum equation becomes \[\mathchoice{\frac{\partial\mathbfit{u}}{\partial t}}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t}{\partial\mathbfit{u}/\partial t} + \big(\mathbfit{u}\cdot\bm{\nabla}\big)\mathbfit{u} = - \frac{1}{\rho_0}\bm{\nabla}p \textcolor{C1}{{}- \nu{\nabla^2}\mathbfit{u}}-\bm{\nabla}\mathit{\Phi}.\] In other words, it is not invariant: information is lost during the Navier–Stokes evolution, due to the dissipation of viscosity and kinetic energy. This suggests three regimes:

All terms present:

When both the nonlinear and viscous terms are included, the fluid will in general have multi-scale eddies and complex flows that are smoothed out by the viscosity. As fine scales are smoothed out, different starting states can have the same end one. The system is irreversible. You can’t take a viscous state at later time and say unambiguously what it was previously.

High Re:

By contrast, in the high Reynolds number limit where we recover the Euler equations (with \(\nu=0\)) the momentum equation is invariant. If we know the state at some later time, we can exactly reproduce the earlier state by running the equations in reverse since no information is lost. In this regime small scale eddies can form, but there is no dissipation so there remains a one-to-one link between start and end state.

Low Re:

Most surprisingly, however, is that the same is also true in the low Reynolds number regime where we have Stokes flow. Since in this regime the flow is driven purely by the motion of the boundary, reversing it leads to an exact reversal of the flow. To see this, let the flow on the boundary be given by \(\mathbfit{u}_S(\mathbfit{x}) = \mathbfit{g}(\mathbfit{x})\) for some particular function \(\mathbfit{g}\), and suppose that \(\mathbfit{u}_1\), \(p_1\) is the corresponding solution of the Stokes equations (with \(p_1\) unique up to a constant).

Now change the boundary conditions to \(\mathbfit{u}_S(\mathbfit{x})=-\mathbfit{g}(\mathbfit{x})\) on the boundary. The solution \[\mathbfit{u}_2(\mathbfit{x}) = -\mathbfit{u}_1(\mathbfit{x}), \qquad p_2 = C-p_1\] matches the new boundary conditions. Since there is only one unique solution in Stokes flows, this is the only solution. In this regime the high viscosity damps out the nonlinear complex flows that result in mid to high Reynolds number flows, leaving something simple enough to be reversible.

A classic example is the evolution of a blob of dye in fluid between two rotating cylinders:

image

Initially the blob stretches out as it is sheared, but when the rotation of the boundary is reversed we get back to where we started! Look for videos of a Taylor–Couette cell.

This is why, for instance, bacteria have to be inventive in order to move (using helical flagellum for instance). The swimming motions we use in water only work as we propel water backwards. In Stokes flow we would stay in the same spot as we splash around helplessly.

6.7 In conclusion, and what next?

Well done! We made it to the end of the course: a demanding feat.

Looking back, in this course we’ve touched on a number of key ways in which fluids are modelled mathematically. In this term we first picked up where the first term left off and developed an understanding of some basic fluid instabilities. In doing so we developed a basic framework for analysing fluid equilibria that can be applied to many more than those that we looked at. For those that we did study there are also many other physical effects that could have been included, such as surface tension and viscosity, the effects of which can be found in most fluid mechanics textbooks.

We then moved on to the effects of compressibility, where we explored how to model linear sound waves, and what happens when nonlinear effects become important. Here we introduced the concept of shocks, but left out fully deriving the conservation relations that are associated with them. For those that are keen, these are known as the Rankine–Hugoniot jump conditions, and derivations can be readily found online.

Finally, we introduced the concept of viscosity and derived the famous Navier–Stokes equations before exploring some simple solutions and the different physical regimes associated with viscous flows.

Even after all this, you have only scratched the surface of fluid modelling. Most new research is dedicated to the numerical solution of these equations, which is a field in itself. Extensions of the stress tensor have been developed for more interesting fluids, creating the whole field of rheology. Coupling the fluid equations to Maxwell’s equations for electromagnetism (the magnetohydrodynamic equations) opens up the possibility of modelling plasmas such as in astrophysics and fusion devices (talk to Peter!).

If you’re sticking around for the fourth year, you’ll find fluids in two of our courses. The most obvious one is Geophysical and Astrophysical Fluids IV, which in the first term will introduce the effects of rotation and approximations specific to the oceans and atmosphere before moving onto to modelling of plasmas in astrophysical contexts in the second term. Less obvious is Advanced Mathematical Biology IV, which in the second term develops the stress tensor for non-Newtonian fluids in biological and medical contexts.

It is hoped that following this course, should you choose to continue down an avenue involving fluid mechanics you will now have some useful techniques and some hard-won intuition in your arsenal. But if not, hopefully you’ll leave with a better appreciation of this fascinating field.

References

Fluid mechanics is a huge area and many books and lectures have been written to introduce newcomers. None of these is necessary and none of these is sufficient, but here are some resources I used in preparing this course:

Lecture notes from other institutions:

Textbooks: These are all available in the library.