Further Develop Your Own Working CFD Code: unsteady flows, energy equation, collocated variables, turbulence & more.
What you'll learn Implementation of additional types of boundary conditions
Implementation of second-order interpolation for convection terms
Coding for unsteady flows
Mesh clustering
Energy equation
Collocated variable approach
Two-equation turbulence modelling
Requirements Students should have completed my first course, An Introduction to Computational Fluid Dynamics, or have an equivalent understanding of the topic.
Description This course is a follow-up to my Introduction to Computational Fluid Dynamics course. In this course we extend the capabilities of the two-dimensional, incompressible Navier-Stokes solver developed in the first course to include enhancements such as unsteady flow capabilities, second-order and blended interpolations for the convection terms, pressure, symmetry, and periodic boundary conditions, mesh clustering, the energy equation, and perhaps other topics as deemed appropriate.All codes are written in Fortran90 and are available for download, as are the course notes. Upon successful completion of the course students should be able to develop their own codes or modify the available codes to solve problems of varying complexity. To get the maximum benefit from this course, I recommend that students complete the first course, or have an equivalent background.Recently added the description of a finite-difference-based Poisson solver using red/black iteration scheme with OpenMP for parallelization.Recently added a collocated grid approach to the finite volume formulation of the incompressible Navier-Stokes equations. In the collocated variable approach, the velocity control volumes are not staggered, but are coincident with the scalar control volumes. Although we limit our approach to structured Cartesian meshes, most commercial CFD solvers utilize a collocated variable approach using Cartesian velocity components on unstructured grids.A new section on two-equation k-epsilon turbulence modelling using wall functions has been added.The course is such that one can generally pick and choose which sections/lectures to watch.
Overview Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Index Notation
Lecture 3 Solver
Lecture 4 Base Fortran90 Code
Lecture 5 Driven Cavity Results
Section 2: Different Boundary Conditions
Lecture 6 Periodic Boundary Conditions
Lecture 7 Periodic Boundary Condition Code
Lecture 8 Periodic Boundary Condition Results
Lecture 9 Pressure Boundary Conditions
Lecture 10 Pressure Boundary Condition Code
Lecture 11 Pressure Boundary Condition Results
Lecture 12 Symmetry Boundary Conditions
Lecture 13 Symmetry Boundary Condition Code
Lecture 14 Symmetry Boundary Condition Results
Section 3: Higher Order Interpolation of Convection Terms
Lecture 15 Blended 1st Order Upwind and Second Order Central Interpolation
Lecture 16 Modifications to Base Code
Lecture 17 Driven Cavity Results
Section 4: Unsteady Flows
Lecture 18 Added Unsteady Terms
Lecture 19 Addition of Terms to Base Code
Lecture 20 Shedding From a Square Cylinder in a Channel
Section 5: Mesh Clustering
Lecture 21 Background Information
Lecture 22 Implementation into Base Code
Lecture 23 Channel Flow Results Using Mesh Clustering
Section 6: Energy Equation
Lecture 24 Discretization of Energy Equation
Lecture 25 Addition to Base Code
Lecture 26 Driven Cavity Results with Heat Transfer
Lecture 27 Buoyancy Using the Boussinesq Approximation
Lecture 28 Adding Boussinesq Approximation to the Code
Lecture 29 Boussinesq Approximation Results
Section 7: Additional Results
Lecture 30 Pressure Driven Flow
Lecture 31 Buoyancy Driven Flow via Heat Source
Lecture 32 Parallel Jets
Section 8: Miscellaneous Topics
Lecture 33 Red-Black Iteration Scheme for Loop-Level Parallelization
Lecture 34 Red-Black Poisson Solver with OpenMP Implementation
Section 9: Collocated Variable Approach to Finite Volume Method (on a Cartesian Mesh)
Lecture 35 Collocated Variable Numerical Formulation
Lecture 36 Collocated Variable Fortran Code
Description Lecture 37 Running the Collocated Mesh Code for Driven Cavity
Lecture 38 Driven Cavity Results Using ParaView
Section 10: K-Epsilon Turbulence Modelling
Lecture 39 Preliminary Material
Lecture 40 Reynolds-Averaging Process
Lecture 41 Boussinesq Approximation
Lecture 42 Two-Equation k-epsilon Model
Lecture 43 Viscous Sublayer and Log-Law Layer
Lecture 44 Wall Function Approach
Lecture 45 Implementation into CFD Code
Lecture 46 Fortran Code For Turbulent Channel Flow
Lecture 47 Running the Code
Lecture 48 Channel Flow Results
Lecture 49 Applicability of k-epsilon model
Lecture 50 Commercial CFD Solvers
University upper-division and beginning graduate-level engineering and mathematics students
Warning! You are not allowed to view this text.
Warning! You are not allowed to view this text.