Skip to content

wang-mengdi/Cirrus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cirrus: Adaptive Hybrid Particle-Grid Flow Maps on GPU

Mengdi Wang , Fan Feng, Junlin Li, Bo Zhu

webpage paper code

This repo stores the source code of our SIGGRAPH 2025 paper Cirrus: Adaptive Hybrid Particle-Grid Flow Maps on GPU.

Left: smoke (large) passing a racing car and its vorticity field (small). Right: smoke (large) passing an aircraft with 4 rotating propellers at a 15-degree angle of attack and its vorticity field (small). The wingtip vortices are captured by our algorithm in the vorticity field. Effective resolutions are 512x512x1024 on our adaptive grid implemented on GPU.

Abstract

We propose the adaptive hybrid particle-grid flow map method, a novel flow-map approach that leverages Lagrangian particles to simultaneously transport impulse and guide grid adaptation, introducing a fully adaptive flow map-based fluid simulation framework. The core idea of our method is to maintain flow-map trajectories separately on grid nodes and particles: the grid-based representation tracks long-range flow maps at a coarse spatial resolution, while the particle-based representation tracks both long and short-range flow maps, enhanced by their gradients, at a fine resolution. This hybrid Eulerian-Lagrangian flow-map representation naturally enables adaptivity for both advection and projection steps. We implement this method in Cirrus, a GPU-based fluid simulation framework designed for octree-like adaptive grids enhanced with particle trackers. The efficacy of our system is demonstrated through numerical tests and various simulation examples, achieving up to $512\times 512\times 2048$ effective resolution on an RTX 4090 GPU. We achieve a 1.5 to 2 $\times$ speedup with our GPU optimization over the Particle Flow Map method on the same hardware, while the adaptive grid implementation offers efficiency gains of one to two orders of magnitude by reducing computational resource requirements. The source code has been made publicly available at: https://wang-mengdi.github.io/proj/25-cirrus/.

Usage

First, install the following dependencies:

  • xmake
  • A C++ build environment (e.g., Visual Studio on Windows)
  • NVIDIA CUDA Toolkit (for nvcc)

To build the project, run:

xmake -v

To run a simulation:

xmake r cirrus scenes/smokesphere.json

That runs for 3 min 57 seconds on a desktop with Intel i9-14900KF CPU, RTX 4090 (24G dedicated VRAM) GPU and 64G memory, generating 100 frames.

The result can be visualized using Paraview by:

Representation - Volume Coloring - Vorticity

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages