Last Updated: 1/15/2010

University of Virginia
School of Engineering & Applied Science
Department of Mechanical & Aerospace Engineering

Computational Fluid Dynamics & Heat Transfer I

(link to Collab site for enrolled students only)
Spring 2010 


Course Number: MAE/APMA 6720
Schedule Numbers:    MAE: 10701, APMA: 10145

Instructor: R.J. Ribando
Time: TTh  9:30- 10:45

The first session of this class will be Thursday, January 21, 2010 at 9:30 am. 
Location: MEC 214


MAE/APMA 6720 is intended as an introduction to the field of Computational Fluid Dynamics (CFD) and Heat Transfer. We will cover mostly finite-difference/finite-volume methods for solving the partial-differential equations of fluid mechanics and heat transfer and will consider stability, convergence, accuracy and efficiency of solution methods. Students will gain familiarity with numerical methods, computer programming and graphics and will also acquire increased experience in fluid mechanics and heat transfer through computer "experimentation." Those students who use or are considering using commercial CFD packages will learn what goes on inside them, the assumptions and inherent limitations, how boundary conditions are applied, and how output may be displayed, interpreted and verified.

Projects (Click here to see samples of the projects we will be doing.)


MAE 6310 Fluid Mechanics I is a prerequisite. Students having other preparation, including advanced undergraduates, should check with the instructor and may be admitted on a case-by-case basis.


Project write-ups and various handouts and class notes will be provided on our Collab site.  You are encouraged to check the site before class each class day and print out the documents we will be using in class that evening.

Those wishing to purchase a good reference book in CFD for their professional library are directed to: Computational Fluid Dynamics and Heat Transfer, 2nd. Ed., by John C. Tannehill, Dale A. Anderson and Richard H. Pletcher, Taylor and Francis, 1997 (ISBN 1-56032-046-X).   There is a new edition coming out soon, so you might want to wait.


A separate list of CFD-oriented references will be provided with the course materials. If you come upon other good references that ought to be on this list or are not in our library but ought to be, PLEASE let me know! Our library does not order books unless we request them!

Computers/Languages (Click here to see a discussion of the programming languages you might use.)


A number of Fortran and Excel/VBA subroutines, programs, program segments, data, etc. will be provided in the Resources section of the Collab site.


Good graphical display of results will be heavily emphasized in this course. In fact, all projects will require graphical output - primarily either simple x-y plots and contour plots. These can readily be made using the plotting capability available in such common packages as Excel, for instance, but if you have access to other graphing packages through your lab, research group or employer or through ITC, you are welcome to use them. (Most of the graphical images displayed in the project section were created using Excel's charting capabilities with the actual calculation done in Visual Basic for Applications (VBA).)

Electronic Mail/Internet Access, etc.

I will use e-mail and/or the announcements section of the Collab site to contact you if the need arises. From time to time a question or problem encountered by one student will be such that I would like to get the word out to the whole class quickly; I will use email to do this. You can also solicit help from your classmates this way or through the chat room that has been set up within Collab. You are responsible for checking your email and the Collab announcements regularly.


The six or seven computer projects will comprise about 90% of the grade while one other homework consisting of theory problems will count about 10%. The final computer assignment will count double what the others count. For each of the computer assignments, you are expected to include a several-page, neatly-prepared report detailing what you did, assumptions, implementation, results, interpretation, listing, graphics, etc. This should be in the style of a lab report and should be detailed enough so that several months later you can use the project handout, your report and your internal program documentation to figure out what you did! Go ahead and include your rough handwritten notes, derivations, etc. in the appendix. I would rather you spend your time discussing the results, your verification and interpretation of them, etc., rather than just re-wordprocessing what is already presented in the handouts. Also please include printed listings of only your work - I do not want to see listings of code that I provided to you! Please mark each one clearly with the assignment number, e.g. "CP1", "CP2", etc.

With the wide disparity in backgrounds of students who sign up for this course, it is difficult to come up with projects which are equally challenging to everyone. Therefore, nearly every project will consist of a standard part, which all students are expected to complete, and extra options. If you do well on the standard part, your maximum grade on that assignment will be 9.0 out of 10.0. In order to merit a perfect 10.0 or better, you will have to implement one or more of the options. These optional exercises will usually come with less explicit instructions, and you should clearly indicate which ones you have included.

Students may discuss the general theory behind the programs among themselves, however the implementation (other than help with minor programming problems) is to be completed by the individual student. Each assignment is to include a pledge to that effect. Any substantial help from others is to be acknowledged in writing. There will be a 5% penalty per day for lateness.

Office Hours

My office hours are any time the door is open. My office phone number is: (434) 924-6289 and fax is (434) 982-2037.  My e-mail is rjr at


The schedule number for MAE 672 is 10701; the number for APMA 672 is 10145.  My faculty modifier is 4999.

Week-by-week Topics  

This is for general reference only.  Consult the Collab schedule for day-by-day topics, handouts, assignments and due dates.              

Week of:



Jan. 21

Introduction/Computers/Graphics, etc., Governing Eqns.


Jan. 26

Superposition, Runge-Kutta, Boundary Layer Problem


Feb. 2

Classification, Discretization, Truncation Error


Feb. 9

Misc./Mixed Partials, Superposition, Vortex Motion


Feb. 16

Panel Method


Feb. 23

Elliptic Eqns. - Pointwise Iterative Methods


March. 2

Elliptic Eqns. - Multigrid, Conj. Grad., Direct Methods


March 9

Spring Break


March 16

Odd Geom., Mappings, Elliptic Grid Generation, Hyperbolic ( Wave ) Eqns.


March 23

Parabolic Equations and Stability


March 30

Method of Char., Conservation, Explicit & Implicit


April 6

Stokes Flow, More Stability


April 13

1 and 2-Dimensional Advection


April 20

Final Project (2-D Porous Media Convection)


April 27

Final Project (2-D Porous Media Convection)


April 4