While reviewing the 2015 Year in Review issue of Aerospace America, I learned about a report written by the AIAA Fluid Dynamics technical committee titled A Best Practices Report on CFD Education in the Undergraduate Curriculum. The TC shared a copy with me and I thought it was insightful and comprehensive. Since then, the report has been made available on the TC’s website at AIAA here.
Whether or not you’re in academia, I recommend reading this report. Because one way or another, these graduates will eventually be working with or for you. It behooves us to be aware of what they’re being taught.
The report’s section on Classification of Core CFD Concepts is one of my favorite as it lays out how undergrads might approach CFD.
- Computer programming “is an essential skill to develop computational thinking in students.” That’s the key, not the instruction of any particular language.
- Pre-processing and grid generation is the step in any CFD application “for which students have the least appreciation for the challenges involved.” The report recommends that students carefully observe the consequences of their choices in this stage.
- Validation and verification helps a student become an “intelligent user of CFD” by learning to “inspect CFD results with a critical eye.” For undergrads, this may be the most important outcome of their CFD education.
- Numerical technologies must be taught such that the student can assess the “level of numerical dissipation in a result, the reasons for a certain solution to fail to converge, or the numerical origin of spurious noise.” The challenge is to condense a broad range of material into what can be practically delivered during a course.
- Turbulence modeling, RANS, and LES can best be taught within the context of “a CFD code and its implementation of various turbulence models” because otherwise the topic can become too unwieldy for an undergraduate course.
- Panel and vortex lattice methods have few obstacles to “getting students to the point where they can use [them] to complete class assignments or design projects.” Their relative simplicity can be a good introduction to the subject of CFD.
- Software engineering instruction “works most effectively when students are able to [use it] to define their projects” as it covers disciplines such as compilation, revision control, debugging, profiling and more. It can be considered a valuable extension of the computer programming concept.
- Computer architecture and parallel computing concepts help the student “estimate computational turnaround time, memory and file storage requirements” for a CFD job that goes beyond the typical 2D, laminar, quickly converging cases typically encountered in an undergraduate course.
The report then goes into some detail on several different ways CFD can be taught to undergrads including CFD Light, CFD Moderate, CFD Heavy, CFD in Lab Courses, and CFD in Design Courses. The report closes will guidance on the resources available for use in instruction and covers hardware, software (open source and commercial), and textbooks.
I wholeheartedly agree with this statement in the report’s conclusion: “The principal outcome of CFD instruction is not the bullet point on the ‘Skills’ section of the curriculum vitae, but the ability to assess that flow physics, at the desired level of fidelity, are appropriately accounted for in CFD software output.”
Or the way I like to put it: “An undergraduate engineering education is not a trade school. Teach them to learn. We’ll teach them skills.”
Highly recommended for all to read. Please share your thoughts on this report by commenting on this post, especially professors.