The application uses a particle-based solver (Smoothed-particle hydrodynamics) for the Navier-Stokes equation and marching square for rendering purposes. I've written it all in C++ with some C++11 parallelism support.
Particle-based solver:
SPH-Fluid-Simulation/fluid/SOURCE/PHYSICS/physics_fluid_sph_viscoelastic.cpp
Marching Squares:
SPH-Fluid-Simulation/fluid/SOURCE/GRAPHICS/graphics_marching_squares.cpp
C++11
Visual Studio 2019
GLFW
1. Algorithm. (n.d.). Polytech Nice Sophia: Pages personnelles. Retrieved June 9, 2012, from http://users.polytech.unice.fr/~lingrand/MarchingCubes/algo.html 2. Auer, S. (2006) Realtime particle-based fluid simulation. Masterthesis in Informatik-Technische Universität München , https://code.google.com/p/fluid-particles/downloads/list 3. Clavet S. , Beaudoin P., Poulin P. (2005) Particle-based viscoelastic fluid simulation. Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.9379&rep=rep1&type=pdf , July 29-31, 2005, Los Angeles, California 4. Mielack, C. (n.d.). Isosurfaces. Isosurfaces. Retrieved January 11, 2011, from www.zib.de/mielack/isosurfaces.pdf