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 O ce 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 di erential 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 & s 2. Linear Advection & Di usion Equation 3. Poisson and Heat Equations 4. 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é de Toulouse, ISAE, France) 1
Grade Distribution Homework assignments and final reports turned in L A TEX 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: (25%) Homework 2: Linear Advection & Di usion 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. Sharing of ideas on the homework assignments 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. Perić, 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 Di erence and Spectral Methods for Ordinary and Partial Di erential 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 Wednesday Friday Aug 24th Lecture 1 Introduction Course Structure Overview Homework 0: Python, Linux, Git Initial Course Participation 31st Lecture 4 Padè Approximants Modified Wavenumber Ferziger & Perić (2001) pp. 45 63; 7th LABOR DAY 26th Lecture 2 Principles of Discretization Discrete Operators Matrix Multiplication review linear algebra (matrix multiplications, eigenvalues,...) Sep 2nd Lecture 5 Homework 0 Due Homework 1 overview 9th Lecture 7 Homework 1 Starter Python Tutorial, Sections 2, 3, 4, and 5 28th Lecture 3 Polynomial Fitting Taylor Expansion review linear algebra; Pletcher, et al. (2011) pp. 43 75; Ferziger & Perić (2001) pp. 21 52. 4th Lecture 6 Best Practices in Python Python Tutorial, Sections 6, 7 and 8 11th Lecture 8 Grid Transformations (1D) Boundary Conditions: periodic vs non-periodic Pletcher et al. (2011) pp. 329 337; Ferziger & Perić (2001) pp. 47 58; 2
14th Monday Wednesday Friday 16th 18th 21st Lecture 9 Explicit Euler & Upwind Modified Equation Pletcher et al. (2011) pp. 103 124; 28th Lecture 12 -roots Handouts, Chapter 4 5th Lecture 15 Poisson and Heat Equations 2D spatial operators (DivGrad operator) Direct Methods Pletcher et al. (2011) pp. 147 152 12th OCTOBER BREAK 19th Lecture 20 Incompressible Navier-Stokes equations: conservative vs non-conservative form, Lagrangian derivative 26th 23rd Lecture 10 Fourier/Von Neumann Analysis Implicit Euler, MacCormack, Adams-Bashforth, Leap Frog, Crank-Nicholson Pletcher et al. (2011) pp. 82 95 30th Lecture 13 Linear Advection & Diffusion Homework 2 overview Catching Up: Periodic vs non-periodic boundary conditions 7th Lecture 16 Iterative Methods: Jacobi, Gauss-Seidel, Line Relaxation Pletcher et al. (2011) pp. 152 162 14th Lecture 18 Iterative Methods: Multi-Grid (cont d), Conjugate Gradient Pletcher et al. (2011) pp. 166 175 21st Lecture 21 Finite-Volume Approach, Staggered Variable Collocation, Discretization for continuity and pressure gradient Harlow & Welch (1965) 28th 25th Lecture 11 Homework 1 Due Runge-Kutta schemes Handouts, Chapter 4 Pletcher et al. (2011) pp. 124 125 Oct 2nd Lecture 14 Linear Advection & Diffusion Homework 2 Starter 9th Lecture 17 Iterative Methods: Over-Relaxation, ADI, Multi-Grid Pletcher et al. (2011) pp. 152 162 16th Lecture 19 Homework 2 Due Poisson and Heat Equations Homework 3 overview (Part I) 2D arrays/operators, fast indexing, Homework 3 Starter 23rd Lecture 22 Suggested 2 nd -order discretization for advection/di usion terms 30th Lecture 23 Projection Method: Fractional Step Method Chorin (1969), Kim & Moin (1985) 3
Monday Wednesday Friday 4th Lecture 25 Vorticity-Streamfunction (!) formulation (in 2D) Nov 2nd Lecture 24 Algebraic Pressure Segregation 6th Lecture 26 Boundary conditions in!: solenoidal condition 9th Lecture 27 Review Session 11th Lecture 28 Semi-Implicit Time Advancement Methods 13th Lecture 29 Semi-Implicit Time Advancement Methods (cont d) 16th Lecture 30 Homework 3 Due Discussion of Final Project 23rd 18th Lecture 31 Boundary conditions for velocity-pressure formulation Mass conservation in boundary layers 25th : Orlanski (1976), Piomelli & Scalo (2010) 20th Lecture 32 Pseudo-spectral methods: introduction to DFT : Pope (2000), Section 6.4; Ferziger & Perić (2001), Section 3.10 27th 30th Lecture 33 Pseudo-spectral methods (cont d) De-aliasing 7th Lecture 36 Dec 2nd Lecture 34 Advection di usion equation with DFT 9th Lecture 37 4th Lecture 35 11th Lecture 38 14th Lecture 39 16th Lecture 40 18th Lecture 41 Final Project Due 4
References A. J. Chorin (1969). On the convergence of discrete approximations to the Navier-Stokes equations. Math. Comp. 23:341 353. J. Ferziger & M. Perić (2001). Computational Methods for Fluid Dynamics. Springer. F. Ham, et al. (2002). A fully conservative second-order finite di erence scheme for incompressible flow on nonuniform grids. J. Comput. Physics 177(1):117 133. 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. 5