How to teach computational fluid dynamics: explore the method or explore the flow?
A traditional course in computational fluid dynamics (CFD) at the senior or first-year graduate level has one main goal. The student should finish the course with a clear understanding of the numerical techniques involved in CFD and how they are used to solve the specific partial differential equations (PDEs) that describe fluid motion. Typically, the instructor chooses a specific numerical technique, i.e., finite difference, finite volume, or finite element, teaches the fundamentals of that technique, and possibly reviews the others. This lecture material is followed by a project in which each student writes their own Navier-Stokes solver, uses it to solve a simple flow problem, and validates the code by comparison of the numerical results to experimental data for their flow geometry. The educational pedagogy of this course format is that the only way one can truly learn and appreciate CFD is to work through the underlying nuts-and-bolts of these respective numerical methods and see h