Mengdi Wang, Yuchen Sun, Yitong Deng, Fan Feng
MESO is a high-performance GPU fluid simulator developed by Prof. Bo Zhu's Lab at Georgia Tech. Built entirely in modern C++ and CUDA, MESO is designed for advanced research and scalable simulation of physically-based phenomena, including fluids, particles, and hybrid systems.
-
Modern C++ Architecture
Clean, modular design using modern C++ features for ease of use and customization. -
High-Performance GPU Backend
Custom CUDA kernels enable efficient large-scale simulations, with significantly lower overhead than Python-based frameworks. -
Grid-Based Fluids with DEC Operators
Built on discrete exterior calculus (DEC), allowing flexible construction of differential operators directly from mathematical definitions. -
Multi-Physics Support
Includes incompressible fluid solvers, free-surface fluid, particle systems, and hybrid methods. -
Optimized Poisson Solver
A finely tuned GPU Poisson solver for fast pressure projection and large system solves.
We evaluate the time cost of our MGPCG Poisson solver under various boundary conditions. Additionally, we record the number of CG iterations required to reach a convergence tolerance of 1e-5.
| 128^3 | 256^3 | 512^3 | |
|---|---|---|---|
| Dirichlet | 25 ms, 5 iters | 112 ms, 5 iters | 757 ms, 5 iters |
| Neumann | 41 ms, 9 iters | 244 ms, 13 iters | 2411 ms, 18 iters |
| Mixed Dirichlet and Neumann | 71 ms, 17 iters | 451 ms, 24 iters | 4750 ms, 35 iters |
MESO is designed for simulation researchers and developers who need full control over numerical methods, efficient GPU execution, and mathematical expressiveness. Whether you're building new solvers, testing physical models, or optimizing for performance, MESO provides a robust and customizable foundation.
Mengdi Wang, Matthew Cong, Bo Zhu
Journal of Computational Physics (Volume 520, 1 January 2025, 113504)
Fan Feng, Shiying Xiong, Hiroki Kobayashi, Yuqing Zhou, Masato Tanaka, Atsushi Kawamoto, Tsuyoshi Nomura, Bo Zhu
Thin-Walled Structures, 197, 111566, 2024
Yifei Li, Yuchen Sun, Pingchuan Ma, Eftychios Sifakis, Tao Du, Bo Zhu, Wojciech Matusik
Neural Information Processing Systems (NeurIPS 2024).
- The newest version of
xmakebuild tool. - CUDA >= 11.6
- [Optional] Visual Studio 2022 (with the "Desktop development with C++" workload)
$ python run_tests.py
You should pass all tests.
$ python make_project.py fluid_euler
Open \build\fluid_euler\vsxmake2022\fluid_euler.sln and compile in Release mode.
Navigate to \bin\fluid_euler\windows\x64\release and copy docs\fluid_euler\cavity.json to the current folder. Run:
$ fluid_euler.exe cavity.json
An output folder named cavity with .vst files will be generated.
$ python build_project.py fluid_euler
And run the executable file similarly.
- Open Paraview
- Navigate to the folder containing
.vstfiles and open the files. - Click on the eye symbol to show the results.
- Suggestions on modifying settings:
- Coloring: velocity
- Right click on the file to add filter (for example
glyph) - Orientation array: velocity
- Masking: all points (continous display of points)
- Click
applyto save the settings
- Click → in the toolbar at top of screen to play the animation.
ctrl+sto save the result.
Maintainers:
- Kernel, grid_algorithm, dec_system: Mengdi Wang
- particle_algorithm: Yitong Deng
- mesh_algorithm: Fan Feng



