← Projects

Research software

MESO

GPU computing for physical simulation research

MESO brings reusable numerical building blocks to GPU simulation research. Its C++ and CUDA implementation gives researchers direct control over physical models, discretisation and computation, with shared components for developing and testing new methods.

MESO development began in 2022 under the leadership of Mengdi Wang. The framework supports research in interface tracking, fluidic design and control, and thin-shell optimisation through shared numerical and GPU components.

Research supported by MESO

These projects illustrate how a common computational foundation can support different research questions. The linked papers describe the methods and results of each project.

Material interfaces reconstructed on triangle meshes using triangle edge cuts.

Journal of Computational Physics · 2025

Triangle Edge Cuts

Compact, volume-conserving interface tracking on unstructured triangle meshes.

An interface tracking method with triangle edge cuts

Mengdi Wang, Matthew Cong and Bo Zhu

Research examples from NeuralFluid, a project supported by MESO.

NeurIPS · 2024

NeuralFluid

Fluidic system design and control through differentiable simulation.

NeuralFluid: Neural Fluidic System Design and Control with Differentiable Simulation

Yifei Li, Yuchen Sun, Pingchuan Ma, Eftychios Sifakis, Tao Du, Bo Zhu and Wojciech Matusik

Optimised shell structures from research supported by MESO.

Thin-Walled Structures · 2024

Thin-shell Optimisation

Structural topology optimisation using a reduced-order elastic shell model.

Nonlinear topology optimization on thin shells using a reduced-order elastic shell model

Fan Feng, Shiying Xiong, Hiroki Kobayashi, Yuqing Zhou, Masato Tanaka, Atsushi Kawamoto, Tsuyoshi Nomura and Bo Zhu

From numerical methods to reusable software

MESO separates shared infrastructure from numerical algorithms and application-specific simulators. Discrete exterior calculus (DEC) provides a way to assemble grid-based differential operators from their mathematical definitions; GPU solvers and reusable data structures support the resulting computations. This organisation lets research projects extend a common implementation while retaining control over their numerical choices.

MESO design overview: common infrastructure, geometry, data storage and solvers; particle, mesh, grid and DEC algorithms; application simulators.
Original design overview from the MESO README. The layers show the design organisation rather than an exhaustive build-dependency graph. Select to view at full size.

The public code includes grid-based fluid, particle and hybrid simulation components. The diagram also indicates the intended space for mesh-based extensions. Project-specific capabilities are described in the associated research papers.

Numerical performance

The repository reports a multigrid-preconditioned conjugate-gradient (MGPCG) Poisson solve benchmark on an NVIDIA RTX 4080. At a convergence tolerance of 10−5, the reported Dirichlet case takes 112 ms at 256³ and 757 ms at 512³. These measurements concern the linear solver used in pressure projection.

View the reported solver timings and iteration counts
MGPCG Poisson solver · NVIDIA RTX 4080 · tolerance 10−5
Boundary conditions 128³ 256³ 512³
Dirichlet 25 ms / 5 iterations 112 ms / 5 iterations 757 ms / 5 iterations
Neumann 41 ms / 9 iterations 244 ms / 13 iterations 2411 ms / 18 iterations
Mixed 71 ms / 17 iterations 451 ms / 24 iterations 4750 ms / 35 iterations

Source: MESO README. Reported timings for the benchmark configuration above.

Contributors

The repository credits Mengdi Wang, Yuchen Sun, Yitong Deng and Fan Feng as contributors.

Explore the code

The public repository contains the framework, examples and test scripts. Its getting-started guide introduces the C++/CUDA toolchain, xmake build workflow and ParaView visualisation. Individual research projects may use their own extensions or versions of the framework.