Software Open Access

cuIBM: a GPU-based immersed boundary method code (v0.1.2)

Krishnan, Anush; Mesnard, Olivier; Barba, Lorena A.

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.

Files (3.1 MB)
Name Size
3.1 MB Download
  • Fadlun, E. A., Verzicco, R., Orlandi, P., & Mohd-Yusof, J. (2000). Combined immersed-boundary finite-difference methods for three-dimensional complex flow simulations. Journal of computational physics, 161(1), 35-60.
  • Krishnan, A. (2015). Towards the study of flying snake aerodynamics, and an analysis of the direct forcing method (Doctoral dissertation, Boston University).
  • Perot, J. B. (1993). An analysis of the fractional step method. Journal of Computational Physics, 108(1), 51-58.
  • Taira, K., & Colonius, T. (2007). The immersed boundary method: a projection approach. Journal of Computational Physics, 225(2), 2118-2137.


Cite as