cuIBM: a GPU-based immersed boundary method code


cuIBM solves the two-dimensional Navier-Stokes equations with an immersed-boundary method on structured Cartesian grids. With this solution approach, we remove the constraint for the computational grid to fit to the surface of a body immersed in a fluid. This has the advantage of requiring simple and easy-to-generate fixed Cartesian grids. cuIBM can be used to simulate the flow around fixed or moving bodies without the need to re-generate grids. Example applications may include flapping airfoils for the study of animal flight or fish locomotion. The equations are spatially discretized with a finite-difference technique and temporally integrated via a projection approach seen as an approximate block-LU decomposition (Perot (1993)). cuIBM implements various immersed-boundary techniques that fit into the framework of Perot's projection method. Among them are the immersed-boundary projection approach from Taira and Colonius (2007), the direct-forcing method from Fadlun et al. (2000), and a second-order accurate direct-forcing method (Krishnan (2015)).

cuIBM is written in C++ and exploits NVIDIA GPU hardware using CUDA and CUSP, an open-source C++ library for sparse linear algebra on CUDA-capable GPUs. cuIBM solves the linear systems of equations and applies stencil operations on a single GPU device.

cuIBM generated the results published in Krishnan et al. (2014), a study of gliding-snake aerodynamics using an anatomically accurate cross-section of the snake Chrysopelea Paradisi.


Fadlun, EA, R Verzicco, Paolo Orlandi, and J Mohd-Yusof. 2000. “Combined Immersed-Boundary Finite-Difference Methods for Three-Dimensional Complex Flow Simulations.” Journal of Computational Physics 161 (1). Elsevier: 35–60. doi:10.1006/jcph.2000.6484.

Krishnan, Anush. 2015. “Towards the Study of Flying Snake Aerodynamics, and an Analysis of the Direct Forcing Method.” PhD thesis, Boston University.

Krishnan, Anush, John J Socha, Pavlos P Vlachos, and LA Barba. 2014. “Lift and Wakes of Flying Snakes.” Physics of Fluids 26 (3). AIP: 031901. doi:10.1063/1.4866444.

Perot, J Blair. 1993. “An Analysis of the Fractional Step Method.” Journal of Computational Physics 108 (1). Elsevier: 51–58. doi:10.1006/jcph.1993.1162.

Taira, Kunihiko, and Tim Colonius. 2007. “The Immersed Boundary Method: A Projection Approach.” Journal of Computational Physics 225 (2). Elsevier: 2118–37. doi:10.1016/