You are on page 1of 5

ME614: COMPUTATIONAL FLUID DYNAMICS

Fall 2015, MWF 2:30 pm - 3:20 pm, ME2053

Instructor
Dr. Carlo Scalo
Assistant Professor of Mechanical Engineering
Room ME2195, ME Building
West Lafayette, IN 47907-2045
Work: 765-496-0214, Mobile: 650-739-9506
Email: scalo@purdue.edu
Office Hours: by appointment
Teaching Assistant: Mr. Kukjin Kim, kim1625@purdue.edu

Prerequisites
Prerequisites for the course include basic knowledge of fluid mechanics, linear algebra, partial differential equations and
average programming skills. The use of Python is strongly recommended but not mandatory. The class content is structured
in such a way to allow talented undergraduate students to successfully complete the coursework.

Course Objectives
The course will cover traditional aspects of Computational Fluid Dynamics (CFD) while providing exposure to the latest
generation of high-level dynamic languages and version-control software. The course will cover the following topics:
1. Spatial & Temporal Discretizations
2. Linear Advection & Diffusion Equation
3. Poisson and Heat Equations
4. Navier-Stokes Solvers
with a focus on incompressible flow and turbulent simulations. Students will be expected to write their own complete
Navier-Stokes solver from scratch as a final project.

Sample mesh (left) and flow visualization (right) from a transonic turbulent calculation of the flow around a
McDonnell-Douglas 30P/30N multi-body airfoil. Courtesy of Prof. Julien Bodart (Universite de Toulouse, ISAE, France)

Grade Distribution
Homework assignments and final reports turned in LATEX and/or with supporting images generated in vector graphics are
strongly encouraged (points will be detracted from messy reports, with unclear figures and text). The grade distribution is:
(5%) Homework 0: Computing Environment Setup
(25%) Homework 1: Spatial Discretization
(25%) Homework 2: Linear Advection & Diffusion Equation
(25%) Homework 3: First Incompressible Navier-Stokes Solver
(20%) Final Project
Examples of source code will be provided in Python only. The use of Python is strongly recommended but not mandatory.
Collaboration on the homework assignment is encouraged but submissions need to be individual. Note that it is trivial to
check whether parts of source code have been copied.

Textbooks
With the exception of programming tutorials, all of the lecture material will be explained at the blackboard to facilitate a
dynamic discussion. Some of the course material will be based on selected pages from the following textbooks:
Ferziger, J., and M. Peric, Computational Methods for Fluid Dynamics, Third Edition, Springer, 2001
Pletcher, R. H., Tannehill, J. C., and Anderson, D., Computational Fluid Mechanics and Heat Transfer, Third Edition,
CRC Press, 2011.
R. Leveque, Finite Volume Methods For Hyperbolic Problems, Cambridge, 2004
Lloyd N. Trefethen, Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations, unpublished
text, 1996, available at http://people.maths.ox.ac.uk/trefethen/pdetext.html
The first two will be the main reference textbooks for the course. The last two cover more theoretical and advanced topics.

Tentative Schedule
A tentative schedule is included below. The instructor reserves the right to (frequently) update it.

Monday
Aug 24th

Wednesday
Lecture 1

Introduction
Course Structure Overview
Homework 0:
Python, Linux, Git

31st
Lecture 4
Spatial Discretization
Pad`e Approximants
Modified Wavenumber
Reading:
Ferziger & Peric (2001) pp. 45 63;

Friday

26th
Lecture 2
Principles of Discretization
Discrete Operators
Matrix Multiplication

28th
Spatial Discretization
Polynomial Fitting
Taylor Expansion

Reading: review linear algebra (matrix


multiplications, eigenvalues, ...)

Reading: review linear algebra;


Pletcher, et al. (2011) pp. 43 75;
Ferziger & Peric (2001) pp. 21 52.

Sep 2nd

Lecture 5
Homework 0 Due

Spatial Discretization
Pad`e Approximants (contd)
Homework 1 overview
Reading:
Ferziger & Peric (2001) pp. 45 63;

Lecture 3

4th
Lecture 6
Spatial Discretization
Python Session:
Homework 1 Starter
Reading:
Python Tutorial, Sections 2,3,4, and 5

Monday
7th
LABOR DAY

Wednesday
9th
Lecture 7
Spatial Discretization
Grid Transformations (1D)
Boundary Conditions:
periodic vs non-periodic
Reading:
Pletcher et al. (2011) pp. 329 337;
Ferziger & Peric (2001) pp. 47 58;

14th
Lecture 9
Spatial Discretization
Python Session:
Best Practices in Python

16th

Friday
11th
Lecture 8
Temporal Discretization
Explicit Euler & Upwind
Modified Equation
Reading:
Pletcher et al. (2011) pp. 103 124;

18th
NO CLASS

NO CLASS

Reading:
Python Tutorial, Sections 6,7 and 8
21st
Lecture 10
Temporal Discretization
Fourier/Von Neumann Analysis
Implicit Euler, MacCormack,
Adams-Bashforth, Leap Frog,
Crank-Nicholson
Reading:
Pletcher et al. (2011) pp. 82 95
28th
Lecture 13
Linear Advection & Diffusion
Homework 2 overview

23rd

Lecture 11
Homework 1 Due

Temporal Discretization
Runge-Kutta schemes
Reading:
Handouts, Chapter 4
Pletcher et al. (2011) pp. 124 125
30th
Lecture 14
Linear Advection & Diffusion
Python Session:
Homework 2 Starter

25th
Lecture 12
Temporal Discretization
-roots
Reading:
Handouts, Chapter 4

Oct 2nd
Lecture 15
Poisson and Heat Equations
2D spatial operators (DivGrad
operator)
Direct Methods
Reading:
Pletcher et al. (2011) pp. 147 152

5th
Lecture 16
Linear Systems of Equations
Iterative Methods: Jacobi,
Gauss-Seidel, Line Relaxation
Reading:
Handouts, Chapter 3
Pletcher et al. (2011) pp. 152 162
12th
October Break

19th
Lecture 21
Navier-Stokes Solvers
A traumatic introduction to the
incompressible Navier-Stokes
(MoureauBP JCP 2007) instead
of Ham JCP 2002

7th
Lecture 17
Linear Systems of Equations
Iterative Methods:
Over-Relaxation, ADI,
Multi-Grid
Reading:
Handouts, Chapter 3
Pletcher et al. (2011) pp. 152 162
14th
Lecture 19
Poisson and Heat Equations
Homework 3 overview (Part I)
Python Session: 2D
arrays/operators, fast indexing,
Homework 3 Starter
21st
Lecture 22
Navier-Stokes Solvers
Incompressible Navier-Stokes
equations: conservative vs
non-conservative form,
Lagrangian derivative

9th
Lecture 18
Linear Systems of Equations
Iterative Methods: Multi-Grid
(contd), Conjugate Gradient
Reading:
Handouts, Chapter 3
Pletcher et al. (2011) pp. 166 175
16th

Lecture 20
Homework 2 Due

Poisson and Heat Equations


Python Session
(contd)
23rd
Lecture 23
Navier-Stokes Solvers
Finite-Volume Approach,
Staggered Variable Collocation
Reading: Harlow & Welch (1965)

Monday
26th

Wednesday
28th

NO CLASS

NO CLASS

Friday
30th
Lecture 24
Navier-Stokes Solvers
Projection Method: Fractional
Step Method
Reading:
Chorin (1969), Kim & Moin (1985)

Nov 2nd
Lecture 25
Navier-Stokes Solvers
Algebraic Pressure Segregation

4th
Lecture 26
Navier-Stokes Solvers
Semi-Implicit Methods
suggested 2nd -order
discretization for
advection/diffusion terms

6th
Lecture 27
Navier-Stokes Solvers
Semi-Implicit Time
Advancement, prediction step:
Explicit-Euler, Runge-Kutta

9th

11th
Lecture 29
Navier-Stokes Solvers
Discrete kinetic energy
conservation, review of Ham,
et al. (2002)

13th
Lecture 30
Navier-Stokes Solvers
Homework 3 tutorial

18th
Lecture 32
Navier-Stokes Solvers
Boundary conditions in :
solenoidal condition

20th
Lecture 33
Navier-Stokes Solvers
Boundary conditions for
velocity-pressure formulation
Mass conservation in boundary
layers

Lecture 28
Homework 3 Due

Navier-Stokes Solvers
Kinetic energy conservation
properties of the incompressible
Navier-Stokes equations
16th
Lecture 31
Navier-Stokes Solvers
Vorticity-Streamfunction
( ) formulation (in 2D)

Reading: : Orlanski (1976),


Piomelli & Scalo (2010)
23rd
NO CLASS

25th
Lecture 34
Navier-Stokes Solvers
Discussion of Final Project

27th
Lecture 35
Navier-Stokes Solvers
Pseudo-spectral methods:
introduction to DFT
Reading: : Pope (2000), Section 6.4;
Ferziger & Peric (2001), Section 3.10

30th
Lecture 36
Navier-Stokes Solvers
Pseudo-spectral methods
(contd)
De-aliasing

Dec 2nd
Lecture 37
Navier-Stokes Solvers
Python Session: Advection
diffusion equation and Poisson
equation with FFT

4th
Lecture 38
Navier-Stokes Solvers
Final Project:
office hours (2:00 - 3:30 pm)

7th
Lecture 39
Navier-Stokes Solvers
Final Project:
office hours (2:00 - 3:30 pm)

9th
Lecture 40
Navier-Stokes Solvers
Final Project:
office hours (2:00 - 3:30 pm)

11th

Lecture 41
Final Project Due
Grades Due:
December 22

References
A. J. Chorin (1969). On the convergence of discrete approximations to the Navier-Stokes equations. Math. Comp. 23:341
353.
J. Ferziger & M. Peric (2001). Computational Methods for Fluid Dynamics. Springer.
F. Ham, et al. (2002). A fully conservative second-order finite difference scheme for incompressible flow on nonuniform grids.
J. Comput. Physics 177(1):117133.
Harlow & Welch (1965). Numerical calculation of time-dependent viscous incompressible flow of fluid with free surfaces
8(21).
J. Kim & P. Moin (1985). Application of a Fractional-Step Method to Incompressible Navier-Stokes Equations. J. Comput.
Phys. 59:308 323.
I. Orlanski (1976). Journal of Computational Physics 21:251 269.
U. Piomelli & C. Scalo (2010). Subgrid-scale modelling in relaminarizing flows. Fluid Dynamics Research 42(4):045510.
R. H. Pletcher, et al. (2011). Computational Fluid Mechanics and Heat Transfer. CRC Press.
S. Pope (2000). Turbulent flows. Cambridge Univ Pr.