Skip to content

A Computational Fluid Dynamics (CFD) course with Python

Notifications You must be signed in to change notification settings

DrZGan/Python_CFD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A Computational Fluid Dynamics (CFD) course with Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published