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.
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
NeurIPS · 2024
NeuralFluid
Fluidic system design and control through differentiable simulation.
NeuralFluid: Neural Fluidic System Design and Control with Differentiable Simulation
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
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.
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
| 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.