A hands-on walkthrough of building an incompressible Navier-Stokes solver in Python from scratch using NumPy. Covers the physics of fluid dynamics, the pressure-velocity coupling problem, finite difference discretization (explicit Euler, upwind schemes), and a full vectorized implementation including Jacobi iteration for pressure. The solver is applied to simulate airflow around a bird's wing, demonstrating lift generation via pressure differentials. Results are validated qualitatively against physical expectations, and limitations such as laminar-only flow, numerical diffusion, and grid resolution are discussed along with pointers to more advanced methods like WENO and OpenFOAM.
Table of contents
The Physics: Incompressible Navier-StokesThe Pressure Coupling ProblemDiscretization: From Math to GridThe Python ImplementationThe CodeResults: Does it Fly?Limitations & Next StepsSort: