This repo contains my work done to build a simple CFD solver in Python following the interactive module 12 Steps to Navier Stokes created by Professor Lorena Barba. I wrote a brief article on my website that goes over the background for this project and showcases some of the skills I picked up on the process which you can take a look at here. The main goal of the project was to build a Navier-Stokes solver in Python that will serve as the foundation for all of my future endeavours into CFD. I learned much in the process and even set out to not only complete the course but give it my own spin. With that in mind I set off to animate all of the plots that we build in the course so that you can have a better understanding of the time history evolution of the simulations.
Here's a few of my favorite animations::
This repo includes Jupyter Notebooks of each lesson structured in the same way as Prof. Barba's module 12 Steps to Navier Stokes. You can find my own version of those lessons in the lessons folder or check them out directly below. My most significant addition to this project was the inclusion of animation code for each of the lessons. They link to a NBViewer version of the plot so you can look at the embedded animation and the LaTeX formatting as it was intended:
- Step 1: 1D Linear Convection
- Step 2: 1D Non-Linear Convection
- Step 3: 1D Diffusion
- Step 4: 1D Burgers Equation
- Step 5: 2D Linear Convection
- Step 6: 2D Non-Linear Convection
- Step 7: 2D Diffusion
- Step 8: 2D Burger's Equation
- Step 9: 2D Laplace's Equation
- Step 10: 2D Poisson Equation
- Step 11: Cavity Flow with Navier-Stokes
- Step 12: Channel Flow with Navier-Stokes