Skip to main content

Aerodynamics / Hydrodynamics MAE

About This Course

MAE 6226 is a regular graduate course of the George Washington University department of Mechanical and Aerospace Engineering. The course catalog entry reads:

Aero/Hydrodynamics. 3 Credits. Inviscid flows in two and three dimensions and irrotational flow theory; conformal mapping and applications. Helmoltz theorems and vorticity dynamics. Applications such as airfoil theory, finite-wing theory, panel methods, instabilities, free surface flow.

That short description covers much too much content and it really is not possible to have a 3-month course that will do justice to all those topics. In designing this version of the course, we first asked: what should students of classical aerodynamis know well, that they may build on with future study? The answer we propose is: panel method solutions to flow around lifting and non-lifting bodies.

We will build a solid foundation for panel method solutions, starting with be basics of potential flow, and using computations using the Python programming language to explore classical aerodynamics.

This online space supplements the on-campus course with content, discussions and learnign pathways. It is an open learning space. Any interested student or self-learner in the world is invited to learn with us and participate in this space. The course was not designed as a MOOC (massive open online course), but rather we decided to simply carry out our learning in the open.

Course Aims

This course aims to give a foundation in the classical theories of aerodynamics of ideal fluids, as they apply to aerospace engineering design, and it aims to provide competency in solution methods and understanding of their approximation power and sources of error.


Vector calculus of multiple variables, including tensor notation, and basics of complex-variable calculus. Undergraduate physics and fluid mechanics—the following concepts of fluid mechanics are assumed known:

  • length scales and the continuum approximation,
  • Lagrangian and Eulerian representation,
  • streamlines, pathlines, streaklines,
  • basic kinematics: translation, rotation, deformation; vorticity and strain tensor;
  • conservation laws: continuity and Navier-Stokes (derivation)
  • derivation of the vorticity-transport equation

Some basic programming skills are required. The course will use the Python programming language, but previous experience with this language is not needed. Students with no programming experience should dedicate more time to the "Getting Started" section.

Who is this course for?

This course is for first-year graduate (or senior undergraduate) students of engineering, either mechanical or aerospace, and those who are interested in learning about classical aerodynamics.

Course Instructor in 2016

Course Staff Image #2

Prof. Adam Wickenheiser

Adam Wickenheiser is an Associate Professor in the Mechanical and Aerospace Engineering department at the George Washington University. He obtained a PhD in Aerospace Engineering from Cornell University

Course Instructor in 2014 and 2015

Course Staff Image #1

Prof. Lorena A. Barba

Prof. Barba is an Associate Professor in the Mechanical and Aerospace Engineering department at the George Washington University. She obtained a PhD in Aeronautics from the California Institute of Technology and a Mechanical Engineering degree from Universidad Técnica Federico Santa María in Chile.

Follow @LorenaABarba on Twitter.

Frequently Asked Questions

Do I need to buy a textbook?

No. There is no required textbook.

Do I use my edX account to log in?

No. You have to create a separate account on our Open edX system. We are not affiliated with the edX consortium in any way. We are just using the course platform that they developed, which is free and open-source software. Our instance is separately hosted, and thus you need a separate account.

What resources do I need for this course?

You need Python. For this, there are two options. Option one is a computer that has the scientific Python stack installed. By that, we mean core Python, plus the scientific libraries (NumPy, SciPy, Matplotlib, and so on). If you would like to install these on your computer, you may download a full Python distribution like Anaconda or Canopy. Option two is to use a web-based Python system, like a free Wakari account or Pythonanywhere. (At GW, we have installed a Jupyter Hub server for local students, who do not need to install Python.)

Why are you using Python?

Python is free. Python is a complete programming solution, with excellent interactive options and visualization tools. Python is a good learning language: it has easy syntax, it is interpreted and it has dynamic typing. Python has a large community: people post and answer each other's questions about Python all the time. For numerical computing, Python can do everything Matlab can do; but free. Python is exploding in popularity and is used for teaching programming at the top schools. Python is used in industry; it can help you get a job.

But this is an Aerodynamics course. Why do I need to program?

The rationale behind using computing in this course is that you can approach what is rather arid material (potential flow theory) in a way that is more interactive and discovery based. You will be building fundamental solutions of potential flow and playing around with parameters and variables, to see some result change in a visualization. This interactivity can enhance your learning. Moreover, applied aerodynamics seeks to solve problems in aeronautical design using the theory, and since the invention of the computer, this task has been aided by computation.

Is there course credit?

This course is for-credit for the registered GW students taking it. There is no credit associated to the completion of this course as an online follower not affiliated with GW.

Will there be a certificate of accomplishment for this course?

We don't have plans to issue certificates, but we could revisit this question if we find it is feasible to do.

How much time will I need to dedicate to this course per week?

It depends on your previous experience with numerical computing and with Python, but we estimate that if you dedicate 6 to 8 hours per week, on average, you will gain a lot from this course.

  1. Course Number

  2. Classes Start

  3. Estimated Effort

    8 hours per week