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:
Fluid kinematics – how to describe the motion of
fluids.
Dynamics of ideal fluids – equations of motion
for inviscid fluids (‘not viscous’: think water) and their
properties.
Water waves – an important example of how to
solve the (inviscid) equations of motion by making simplifying
assumptions.
Epiphany term:
Instability – this section aims to explain how
laminar (‘not turbulent’) flows break down and turbulence is generated
(modelling turbulence itself is beyond our scope!).
Compressible flow – modifying the ideal
equations of motion to model gases, and the origin of sound
waves.
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.
Michaelmas term
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):
density, \(\rho(\mathbfit{x},t)\),
velocity, \(\mathbfit{u}(\mathbfit{x},t)\).
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\):
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.
Describing fluid motion
Think about the following picture, of a fluid being pumped through a
funnel at a steady rate:
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:
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}\)?’
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:
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.
Visualising fluid flow
Fluids is an exciting visual field, and there are three traditional
ways of describing their flows.
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.\]
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.
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:
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\).
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:
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.
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.
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.
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:
We apply \(\mathchoice{\frac{\mathrm{D}
}{\mathrm{D} t}}{\mathrm{D} /\mathrm{D} t}{\mathrm{D} /\mathrm{D}
t}{\mathrm{D} /\mathrm{D} t}\) to things in the Eulerian
reference frame.
It is the rate of change, following the particle on its
journey (i.e. in the Lagrangian reference frame).
It is therefore a bridge between the natural Eulerian way of
describing fluids, and the classical mechanics Lagrangian way of
describing physics.
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.

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.
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!
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?
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.

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.\]
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?)
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:

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:
Bodily translation of the whole of \(D\) with velocity \(\mathbfit{u}(\mathbfit{x},t)\).
Stretching/compression of \(D\). Since \(\mathsfbfit{E}\) is a symmetric matrix, the
principal
axes theorem says that we can diagonalise it, \[\mathsfbfit{E} =
\mathsfbfit{P}\mathsfbfit{D}\mathsfbfit{P}^{-1},\] where \(\mathsfbfit{D} = \operatorname{diag}(\lambda_1,
\lambda_2, \lambda_3)\) contains the eigenvalues of \(\mathsfbfit{E}\); and additionally that
\(\mathsfbfit{P}\) is formed of the
eigenvectors \(\mathbfit{v}_i\) of
\(\mathsfbfit{E}\), which are
orthogonal: \[\mathsfbfit{P} =
\big(\mathbfit{v}_1 \quad \mathbfit{v}_2 \quad
\mathbfit{v}_3\big).\] This means the effect of \(\mathsfbfit{E}\) is just to
stretch/compress the element along the eigenvectors: \[\mathsfbfit{E}\cdot\delta\mathbfit{x} =
\underbrace{\mathsfbfit{P}\underbrace{\mathsfbfit{D}\underbrace{\mathsfbfit{P}^{-1}\cdot\delta\mathbfit{x}}_{\substack{\text{convert
to}\\\text{$\mathsfbfit{P}$ basis}}}}_{\text{stretch}}}_{\text{convert
back}}.\] The normalised eigenvectors are called the
principal axes, and the eigenvalues are the corresponding
principal rates of strain.
Rotation of \(D\). To
see this, note that if we introduce \(\mathbfit{\omega} =
\bm{\nabla}\times\mathbfit{u}\), then \(\mathsfbfit{\Omega}\) in three dimensions
takes the form \[\mathsfbfit{\Omega} =
\frac{1}{2}\begin{pmatrix}
0 & -\omega_3 & \omega_2\\
\omega_3 & 0 & -\omega_1\\
-\omega_2 & \omega_1 & 0
\end{pmatrix},\] The quantity \(\mathbfit{\omega}\) is known as the
vorticity and we’re about to learn more about it. For now
though, see that we can also write \[\mathsfbfit{\Omega}\cdot\delta\mathbfit{x} =
\tfrac12\mathbfit{\omega}\times\delta\mathbfit{x},\] showing that
the fluid element is rotating with angular velocity \(\tfrac12\mathbfit{\omega}\).
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:
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…
Vorticity and circulation
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\).)
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:
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.

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,
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.
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.
 |
 |
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.
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:
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:
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:
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:

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?).
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.
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?
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.
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.
 |
 |
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\).
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?
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:
(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.
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\):
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:
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.
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\).
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)\).
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\).
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\).
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.
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.
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:
‘body forces’ that act everywhere throughout a fluid element –
often external forces like gravity,
‘surface forces’ that act internally between fluid
elements.
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
Conservation of mass ([continuity-equation-general])
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?
Conservation of momentum
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\).

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.
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.
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.
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}.\]
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\)).
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}.\]

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\).
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).
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.
One possible velocity which satisfies these boundary conditions is
for the tea to just be static, \[\mathbfit{u}=\mathbf{0}.\] We then
ask,
Is the continuity equation satisfied?
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.

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.

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)\).
We again ask:
Is the continuity equation satisfied?
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’.
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.
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…
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).
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.
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.
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’.
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?
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?

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.
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.
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.
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.
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.

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}\]
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}\]
Travelling waves in an infinite domain
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…
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\):

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.
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.
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:
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:
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.
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\):
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:
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):
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:
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.
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\).
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.
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
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.
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).
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:
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.
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.
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\).
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:
Here denser gas is pushing outward, driven not by gravity but by the
blast wave from the explosion.
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:
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).

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!
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}\]
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:
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!
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).
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.
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.
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}\).
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.
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?

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.
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.
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)\).
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)\):
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\)):
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.
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.
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?).
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.
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.

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:
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.\]
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.
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?
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.
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.)
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}\]
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):

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
.
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.
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:

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:
This means the wave equation is well-behaved and solutions are
unique. As we’ll see, this isn’t true for the Euler equations!
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}.\]
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.

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!
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:
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.
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:
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\)):

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:
\(u(x,0) = U_0[1+\tanh(x_0)]\)
(an expansion wave),
\(\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.
The properties of shocks are constrained by the underlying integral
conservation laws (mass, momentum, energy), but this is beyond the scope
of this course.
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.
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:

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.
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\).
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.
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\).
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.
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}.\]
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!

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.\]

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).\]

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.
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.
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\).

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:

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).\]
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.
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.)
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}\).
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}\).
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}}.\]

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.
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.

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.
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.
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:
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.
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.