Single, extensively commented file that solves NS equations assuming small density and temperature variations (Boussinesq). I have opted for mimetic methods (via MOLE) and explicit forward time schemes. More elaborated and precise time discretization schemes contribute very little to this particular scenario. Numerical diffusion could be avoided by computing the transient terms using a symplectic method such as Leapfrog.
For sharp Kelvin-Helmholtz billows, use a dx == 0.0625, keep in mind the CFL condition imposed on dt for a two-dimensional advection problem. Picture was obtained using m = 1600, n = 320, and dt = 0.1
The most time-consuming part (as expected) is the computation of the pressure field, Laplacian matrix is highly sparse but not positive definite.
Johnny Corbino Delgado (2021). Navier-Stokes with Mimetic Methods (https://www.mathworks.com/matlabcentral/fileexchange/87402-navier-stokes-with-mimetic-methods), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: mole
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!