Skip to content
Lorena A. Barba edited this page Jun 2, 2025 · 6 revisions

AeroPython Lessons

This course consists of a set of lessons written in Jupyter notebooks. You should read the lessons, and at the same time you should write your own version of the Python codes, either in a clean Jupyter notebook or in a Python script. Experiment making changes to the parameters and observing the effect on the visualizations.

And don't forget to work out the mathematics on your own handwritten notes!

The first three lessons will show you how we can construct models of potential flow around objects using the basic solutions of potential theory.

These are:

In the second section of the course (lessons 4, 5, and 6), you'll learn about one of the most important concepts in aerodynamics: lift. It turns out that aerodynamic lift is intimately related to circulation, so we need to start learning about the irrotational (potential) vortex.

The IPython Notebooks for this section are:

In the third section of the course, you will learn to use all the knowledge you've gained until now to solve some interesting problems in aerodynamics! We will develop the source-panel method for non-lifting bodies, an incredibly important development in the history of computational aerodynamics. It was born in the 1960s at the Douglas Aircraft Company, and its father is A. M. O. Smith, Chief Aerodynamics Engineer.

This course section is built around the following Notebooks:

  • Method of images — This lesson (#7 of AeroPython) shows how you can get the flow around a straight solid "wall" by adding an "image" singularity on the other side of the wall. The lesson is also an opportunity to introduce the notion of classes in Python: a key way to manage more complex programs. From this point on, Python classes feature prominently in our lessons!
  • Source sheet — Lesson 8 of the AeroPython collection will teach you to build an infinite row of source singularities on a line. (You already created an infinite row of vortices in the previous section). It also introduces the concept of lambda or anonymous functions in Python. A very cool trick!
  • Flow over a cylinder with source panels — Up to now, we superposed potential-flow singularities, and got some simple-geometry flow situations (e.g., Rankine oval, circular cylinder with and without lift). In this lesson, we learn the basic method to get the flow over arbitrary geometries. We start with representing a solid body with straight segments (panels), that are little source sheets.
  • Source panel method — In this lesson, we build a source-panel representation of a NACA 0012 airfoil at zero angle of attack, and compute the potential flow solution for the flow around this airfoil. We compare with theoretical results by the so-called Theodorsen method, to confirm that the panel method works!

Clone this wiki locally