You are on page 1of 5


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

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
Office Hours: by appointment
Teaching Assistant: Mr. Kukjin Kim,

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 (Universit´e de Toulouse, ISAE, France)


Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations. Peri´c.3. Pletcher. The instructor reserves the right to (frequently) update Finite Volume Methods For Hyperbolic Problems. Computational Methods for Fluid Dynamics. J. H. Textbooks With the exception of programming tutorials. • R.. Leveque.ox. et al. . C. 45 – 2011. Sep 2nd Lecture 5 Homework 0 Due Spatial Discretization • Pad`e Approximants (cont’d) • Homework 1 overview Reading: Ferziger & Peri´c (2001) pp. The last two cover more theoretical and advanced topics.4. Computational Fluid Mechanics and Heat Transfer. unpublished text. Springer. 21 – 52. 45 – 63. Sections 2. (2011) pp. The use of Python is strongly recommended but not mandatory. J. 2001 • Pletcher..html The first two will be the main reference textbooks for the course. Note that it is trivial to check whether parts of source code have been copied. with unclear figures and text). Tannehill. and 5 . available at http://people. Tentative Schedule A tentative schedule is included below. and Anderson. Collaboration on the homework assignment is encouraged but submissions need to be individual. Some of the course material will be based on selected pages from the following textbooks: • Ferziger. D. Third Edition. Friday 26th Lecture 2 Principles of Discretization • Discrete Operators • Matrix Multiplication 28th Spatial Discretization • Polynomial Fitting • Taylor Expansion Reading: review linear algebra (matrix multiplications.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. Trefethen. 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.. 2004 • Lloyd N.. Linux. CRC Press.maths. Cambridge. Third Edition. Ferziger & Peri´c (2001) pp. R. Monday Aug 24th Wednesday Lecture 1 Introduction • Course Structure Overview • Homework 0: Python. 43 – 75. and M. 2 Lecture 3 4th Lecture 6 Spatial Discretization • Python Session: Homework 1 Starter Reading: Python Tutorial.) Reading: review linear algebra. Git 31st Lecture 4 Spatial Discretization • Pad`e Approximants • Modified Wavenumber Reading: Ferziger & Peri´c (2001) pp.. all of the lecture material will be explained at the blackboard to facilitate a dynamic discussion. 1996. eigenvalues..

Leap Frog. Ferziger & Peri´c (2001) pp. 47 – 58. Homework 3 Starter 21st Lecture 22 Navier-Stokes Solvers • Incompressible Navier-Stokes equations: conservative vs non-conservative form. 152 – 162 14th Lecture 19 Poisson and Heat Equations • Homework 3 overview (Part I) • Python Session: 2D arrays/operators. MacCormack. (2011) pp. ADI. Staggered Variable Collocation Reading: Harlow & Welch (1965) .7 and 8 21st Lecture 10 Temporal Discretization • Fourier/Von Neumann Analysis • Implicit Euler. 124 – 125 30th Lecture 14 Linear Advection & Diffusion • Python Session: Homework 2 Starter 25th Lecture 12 Temporal Discretization • σ-roots Reading: Handouts. Chapter 3 Pletcher et al. 329 – 337. 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. Multi-Grid Reading: Handouts. Sections 6. fast indexing. (2011) pp. Lagrangian derivative 3 9th Lecture 18 Linear Systems of Equations • Iterative Methods: Multi-Grid (cont’d). Adams-Bashforth. 103 – 124. Gauss-Seidel. 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. Crank-Nicholson Reading: Pletcher et al. 166 – 175 16th Lecture 20 Homework 2 Due Poisson and Heat Equations • Python Session (cont’d) 23rd Lecture 23 Navier-Stokes Solvers • Finite-Volume Approach. Chapter 3 Pletcher et al. Line Relaxation Reading: Handouts. (2011) pp. (2011) pp. 18th NO CLASS NO CLASS Reading: Python Tutorial. (2011) pp.Monday 7th LABOR DAY Wednesday 9th Lecture 7 Spatial Discretization • Grid Transformations (1D) • Boundary Conditions: periodic vs non-periodic Reading: Pletcher et al. Chapter 4 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. 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. Chapter 3 Pletcher et al. (2011) pp. Conjugate Gradient Reading: Handouts.

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.3:30 pm) 9th Lecture 40 Navier-Stokes Solvers • Final Project: office hours (2:00 . review of Ham.Monday 26th Wednesday 28th NO CLASS NO CLASS Friday 30th Lecture 24 Navier-Stokes Solvers • Projection Method: Fractional Step Method Reading: Chorin (1969).10 30th Lecture 36 Navier-Stokes Solvers • Pseudo-spectral methods (cont’d) • 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 . (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). Section 3. Runge-Kutta 9th 11th Lecture 29 Navier-Stokes Solvers • Discrete kinetic energy conservation. Ferziger & Peri´c (2001).4. et al. 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.3:30 pm) 11th 4 Lecture 41 Final Project Due Grades Due: December 22 .3:30 pm) 7th Lecture 39 Navier-Stokes Solvers • Final Project: office hours (2:00 .

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