This course will cover the basics of the finite volume method for incompressible flows on two-dimensional Cartesian grids. Topics include the discretization procedure, interpolation techniques, boundary conditions, flow visualization using ParaView, and CFD errors and uncertainty. Students will write three codes; the first code solves a pure diffusion problem, the second solves a pure convection problem, and the third solves the Navier-Stokes equations using the SIMPLE pressure-velocity coupling procedure. The Navier-Stokes solver will be used to solve the "driven cavity" problem, and a problem involving the developing flow in a channel. These three codes are also available for download to, for instance, study the solution procedure, or help in debugging a student written code. (Both Fortran and Python versions of the codes are available for students to download.) Upon completion of the course students will be familiar with the basics of the finite volume method, enabling a more effective use of a commercial CFD solver, and possess the background necessary to study more advanced CFD techniques. To get the most benefit from the course, a student should be familiar with fluid dynamics as taught at the university undergraduate level, and be comfortable working with Fortran, Python, or a comparable scientific programming language.
Students should gain a basic understanding of CFD applications and the overall steps involved in a CFD analysis. Sites to download Fortran compilers included at the end of the downloadable notes.
A preview of some flows computed using computational (hardware) resources that would generally be available to most students. Software used includes the open source solver OpenFoam.
Shows students how to derive finite difference approximations using Taylor series expansions. Students should be able derive approximations for various derivatives after viewing this lecture. You can download the notes under "resources" below.
Students will understand the basics of Jacobi, Gauss-Seidel, and SOR iterative techniques for solving systems of equations. SOR will represent the primary solution technique applied throughout the course.
This lecture introduces the diffusion equation, its integration over control volumes, and conversion of a volume integral to a surface integral using the divergence theorem. You can download the complete set of notes for this section under "resources" below.
This lecture describes the process for discretizing the surface and volume integrals, and arranging the resulting equations into a form suitable for an iterative solution procedure.
This lecture shows you how to modify the discretized equations around the domain perimeter where boundary conditions must be implemented.
This lecture introduces the diffusion problem we will be solving with our own codes.
Have a better understanding of how the code may be written. You can also download the Fortran code.
Recently added a Python version of the code.
Describes a short section of the Fortran code to output a .csv file for input into ParaView.
In this lecture we will use ParaView to construct contours of the numerical solution to our example problem.
This lecture discusses integration of convection terms over a control volume and conversion to surface integral. Reveals the necessity for interpolation schemes. You can download the all the notes for this section under "resources" below.
In this lecture we discuss a "central differencing" interpolation option to obtain values of the unknown function on cell faces based on values at adjacent cell centers.
An alternative interpolation technique known as 1st order upwinding, or the "donor-cell" method is discussed.
Discuss a method to blend the upwinding and central difference approximations to achieve most of the benefits of each method.
Introduction of the example problem for pure convection.
Coefficients for first order upwinding around perimeter (boundary) cells.
Coefficients for corner cells are shown (both first and second order interpolations).
The lecture provides an explanation of the Fortran code statements and procedure. You can also download the Fortran code.
Recently added Python version of the code.
Contour and line plots for the convection example comparing the results obtained using 1st order upwinding, 2nd order central, and a blending of the two.
Linear Upwind and QUICK interpolation schemes.
Formal derivation of interpolation scheme truncation errors using Taylor series expansions.
Generalization of interpolations schemes and the total variation diminishing (TVD) property.
In this lecture we look at some desirable properties of discretization schemes, particularly the interpolation options.
We look at the like-sign coefficient requirement for a one-dimensional combined convection/diffusion problem for both 1st order upwinding and linear interpolation (2nd order central) for the convection terms.
In this lecture we look at the form of the Navier-Stokes equations that we will utilize when applying the finite-volume method.
You may download all the notes for this section under "downloadable materials" below.
A description of the index notation used in the Fortran code to follow.
In this lecture we will go over the main components of the Navier Stokes solver code. Although it is written in Fortran, conversion to a language of your choice should not be difficult. You can also download the Navier-Stokes solver below. (Note a new version was uploaded on 4/11/2020 to fix an indexing bug in the x-momentum solver.) Recently added Python version of code.
This lecture introduces the driven cavity and developing flow in a channel problems which we will solve using our Navier-Stokes code.
Demonstration of how to plot velocity vectors for driven cavity problem using ParaView. Downloadable vector plot of results.
Results for channel flow at Re=100 using ParaView. Included are a contour plot and a line plot along the centerline of velocity magnitude.
Pressure boundary conditions; Symmetry boundary conditions; Procedure to obtain a fully-developed flow; Blocking out regions to simulate more complex geometries
How to build streamlines in ParaView using driven cavity results as an example. Driven cavity data set can be downloaded.
A short description of errors and uncertainty inherent in a CFD simulation.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.