Welcome to the Online Course: Computational Fluid Dynamics (CFD) with high-performance Python programming.#

This online course offers a comprehensive 20-step journey through the world of Computational Fluid Dynamics (CFD), leveraging the power of Python’s high-performance capabilities. It begins with an essential introduction to CFD’s core principles, swiftly transitioning into hands-on Python programming to equip students for the practical components ahead. As the course progresses, participants will tackle a range of equations, including convection, diffusion, Burgers’, Laplace, Poisson, and eventually, the Navier-Stokes equation.

A significant focus will be on mastering array operations with NumPy, crucial for understanding 2D equations and simulating cavity flow. We will employ various schemes such as the Navier-Stokes and Chorin’s projection methods. Additionally, the course will cover the use of JAX, a cutting-edge Python tool for high-performance computing, enhancing our computational capabilities.

In the latter stages, we delve into advanced topics like Implicit solver, Phase Field Modeling (PFM), Constrained Optimization, and the Lattice Boltzmann Method (LBM), providing a well-rounded, in-depth understanding of CFD applications in Python.

This online course is used as the lecture notes for my (Prof. Zhengtao Gan) CFD course at The University of Texas at El Paso in Fall 2023. This course builds upon the outstanding foundation laid by an online course originally developed by Prof. Lorena A. Barba: CFD Python: 12 steps to Navier-Stokes. Much of the Python code in this course is adapted directly from the original course website created by Prof. Lorena A. Barba. However, we have expanded the curriculum with several additional modules, including an introduction to JAX, Chorin’s projection methods, implicit solvers, and advanced topics such as Phase Field Modeling (PFM), Constrained Optimization, and the Lattice Boltzmann Method (LBM).

ZhengtaoGan

Check out the content pages bundled with this book to see more.