2024–25 Project III

Two-dimensional potential flows

Overview

This is a project for students concurrently taking Fluid Mechanics III.

In general, fluids are complicated to model. Just like in Dynamics I, they still obey Newton’s second law, but the forces are complicated and the way we describe acceleration is also complicated!

Thankfully though, there are some circumstances where the fluid’s velocity, $\boldsymbol{u}$, is easier to describe. Fluids that are, in the jargon, “incompressible, inviscid and irrotational” — for example, smoothly flowing water with no vortices — can be described through their potential $\phi$, where $\boldsymbol{u}=\boldsymbol\nabla\phi$. And that potential obeys Laplace’s equation,
\[\nabla^2 \phi = 0.\]

In this project, we will solve this equation in a number of interesting ways and in a number of interesting domains.

We will do so primarily computationally, so you will learn how to code up a PDE solver in Python and perform numerical integration; but we can also use analytical methods like multipole expansions and conformal mapping to solve this equation in interesting domains.

We can then compare our methods, learning more about modelling and gaining an awareness of which tools are best for solving physical problems.

How we might structure the the project

We could have something like:

  • Defining potential flow
  • Analytic derivation of a nice geometry (e.g. flow around a cylinder)
  • Approximation derivation of a not so nice geometry (e.g. flow around a cube or around a corner)
  • Numerical integration of Laplace’s equation in Python in these geometries
  • Comparison of our results

Corequisities

You will be taking Fluid Mechanics III at the same time. The fluids course will cover the basics of potential flow in the first weeks of term, but this project will go much deeper and give you an opportunity to apply the material you’ve learnt.

Prerequisites

This is an applied maths project where you will have to do some practical coding. You should therefore be confident in programming in Python.

Dynamics I, Complex Analysis II and AMV II are essential. Numerical Analysis II will certainly be helpful.