- Poisson solver for MAC here
- Grid schematic for MAC method here
- Solution to hw2 here
- Amendment to Hw2 problem e): Let N be variable (rather than N=100) so that Delta(x_1)=0.003
and Delta(x_N)=0.03.
- Hw1 contains an error in problem 2. The analytical Stokes velocity
is incorrect. Find the correct Stokes velocity field here:
http://scienceworld.wolfram.com/physics/StokesFlowSphere.html
- The course information will also be accesible through the
Blackboard .
- Find a nice matlab manual here
- Matlab intro ppt here
- Matlab intro .m here
This graduate level course on Computational Fluid Dynamics introduces the numerical computation of continuum fluid flows in engineering applications. The primary focus of the course is on the teaching of numerical methods for the solution of the nonlinear continuum governing fluid equations. Emphasis will be placed on finite difference and finite volume numerical formulations. Iterative and temporal solution procedures will also be covered. The students will get hands-on experience with these methods by programming the algorithms and analyzing the physical aspects of the numerical solution. The course provides information that will enable a more sound understanding of black-box commercial software, that are mostly based on finite volume techniques. In addition, it will provide a first step into the large and expanding research area of general computational physics.
Syllabus (.doc)
- Course Objectives
Students successfully completing AE601, "Computational Fluid Dynamics" should have:
- The ability to program a simple Navier-Stokes solver in Matlab
-
The basic ability to solve and analyze practical fluid mechanics problems drawn from aerospace engineering applications using numerical methods.
- A conceptual understanding of numerical methods in terms of the accuracy, stability, convergence, and other properties of several numerical techniques.
- Course Description
The course relies on the textbook "Numerical Methods for Fluid Dynamics" by Ferziger and Peric for a description of the numerical methods theorety .
The course will follow the outline of the textbook closely. The homeworks,
the midterm project, and the final project give essential
supplementary practical programming and theoretical examples of the theory.
We will first classify various physical flow models from physical and mathematical point of view (Chapter 1). We will then treat finite difference methods (Chapter 3), followed by finite volume methods (Chapter 4). Iterative solution to the large systems of linear equation resulting form the spatial discretizations will be discussed (Chapter 5). A brief recap follows of multi-step and Runge-Kutta methods for solving ODEs mostly resulting from the temporal dimension of the flow equation (Chapter 6). At this point, all the tools have been introduced to discretize the govnering fluid equations, called the Navier-Stokes equations (Chapter 7). Particular attention will be given to the solution of incompressible flows, solution of the pressure and solving practical problems. If time permits, the remainder of the course will be devoted to spectral methods for simulation of fluid problems.
- Textbook
Ferziger, J.H. and Peric, M., "Computational Methods for Fluid Dynamics", 3rd Edition,
Springer-Verlag, 2001.
- Supplementary Textbooks
Finite Volume Methods:
- Dante, A.W., "Introduction to Computational Fluid Dynamics", Cambridge University Press, 2005.
- Anderson, J.D., "Computational Fluid Dynamics: The Basics with Applications", McGrawHill, 1995.
- Versteeg H., "An Introduction to Computational Fluid Dynamics: The Finite Volume Method Approach", Prentice Hall, 1996.
Finite Element Methods:
- Reddy, J.N. and Gartling, D.K., "The Finite Element Method in Heat Transfer and Fluid Dynamics", CRC Press, 2000.
- Fletcher, C.A.J., "Computational Techniques for Fluid Dynamics: Vol.1", Springer, Berlin, 1991.
Spectral Element Methods:
- Sherwin, S. J. and Karniadakis, G.E., "Spectral/hp Element Methods for Computational Fluid Dynamics", 2nd edition, Oxford University Press, 2005.
- Deville, M.O., Fischer, P.F., Mund, E.H., "High-Order Methods for Incompressible Fluid Flow", Cambridge University Press, 2002.
Fluid Mechanics:
- White, F.M., "Viscous Fluid Flow", McGrawHill, 1991.
- Schlichting, H., Gersten, K., "Boundary-Layer Theory", 8th edition, 2004.
- Anderson, J.D., "Modern Compressible Flow: With Historical Perspective", McGrawHill, 2002.
- Prerequisites
Students are expected to have a basic understanding of numerical analysis and fluid mechanics. Basic programming skills in Matlab/C/Fortran are required Matlab is preferred. The use of Matlab for programming excercises is obligatory.
- Homework Problems
A total of approximately six to nine problem sets and computer assignments will be given on Thursdays and on a weekly or bi-weekly basis.
The due date for submission of assignments is at the beginning of class one or two (depending on the size of the homework) Thursdays after the assignment is given. Late submission of assignments is
not accepted.
The assignments will consist of specific exercises of algorithm formulation on paper, their computer implementation in programming exercises and their testing in specific applications. Homeworks are not just an evaluation tool ,
they provide essential practical examples necessary to complete the course . The homeworks also provide the basis for improving programming skill
by increasingly enhancing the extent of programming.
Students are strongly encouraged to discuss homework problems in groups, since this is expected to help the learning process. However, homework assignments are also used for performance assessment and, therefore, the material that is turned in must represent the student's own understanding of the material.
- Projects
Currently, two programming projects are planned. The projects replace the midterm and final exam, and they will focus on applying numerical algorithms to aerospace applications. The midterm exam will be the same for all students. The final project can be suited to the student's interest. The final project entails a written report, and a in-class presentation of the results. Both project
require significant programming and self-learning.
- Homework and Project Collaboration
While discussion of the homework and projects is encouraged among students, the work submitted for grading must represent your understanding of the subject matter. Significant help from other sources should be noted.
- Exams
There will be no in-class exams, rather there will be two extensive projects as described above.
- Course Grade
The grading will be based on a weighting of 40 % on the homework, 20 % on the midterm project, and 40 % on the final project.
- Policies
This is a graduate course: self-motivation and self-learning are expected
and absolutely essential to get a learning experience. The instructor will
be glad to answer targeted questions on problems in his office
hours and through email. The instructor will not debug codes,
and/or read through non-running programs. Programming skills
have been acquired in undergraduate studies. If they are not up to date, then
the student is expected to put in the time to freshen up on this.
Poor programming skills are not an excuse to not understanding
the material.