Lid-Driven Cavity Solver Comparison

A work-in-progress multi-language CFD benchmark for the 2D incompressible lid-driven cavity problem across MATLAB/Octave, Python, C, C++, OpenMP, MPI, and a CUDA prototype.

Representative lid-driven cavity streamlines for Re 1000
8execution-complete CPU groups
36configured cases per group
236.76 scurrent lowest median runtime
N=32–128grid range

Problem

The lid-driven cavity is a compact benchmark for incompressible flow, pressure-velocity coupling, convection-scheme behavior, mesh effects, and comparison with published centerline velocity data. The challenge is to keep the physical and numerical setup traceable across several languages and parallelization approaches.

Current benchmark setup

Physics

2D incompressible cavity with a moving top lid, no-slip side and bottom walls, and Reynolds-number-based cases.

Study matrix

N = 32, 64, 128; Re = 100, 400, 1000; upwind and central convection schemes; RBGS and RBSOR pressure solvers.

Implementations

MATLAB/Octave, Python/NumPy, C, C++, OpenMP, MPI, and a CUDA prototype with CSV-oriented comparison outputs.

My contribution

How to read the current numbers

An execution-complete case reached the end of its configured run; this does not automatically prove residual convergence. The current runtime table is therefore an interim computational comparison, not a final time-to-convergence ranking.

Why this project matters

The project connects physics, numerical methods, implementation, automation, HPC execution, validation logic, and performance measurement. Its value is the transparent comparison process, including the parts that are not final yet.

Roadmap before completion