An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
C++ Makefile M4 Shell C Perl
Fetching latest commit…
Cannot retrieve the latest commit at this time.


An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method

What Is IBAMR?

IBAMR is a distributed-memory parallel implementation of the immersed boundary (IB) method with support for Cartesian grid adaptive mesh refinement (AMR). Support for distributed-memory parallelism is via MPI, the Message Passing Interface.

Core IBAMR functionality relies upon several high-quality open-source libraries, including:

  • SAMRAI, the Structured Adaptive Mesh Refinement Application Infrastructure
  • PETSc, the Portable, Extensible Toolkit for Scientific Computation
  • libMesh, a C++ finite element library
  • hypre, a library of high performance preconditioners that features parallel multigrid methods for both structured and unstructured grid problems.

IBAMR also uses functionality provided by a number of additional third-party libraries, including: Boost; Eigen; HDF5; muParser; and Silo.

IBAMR outputs visualization files that can be read by the VisIt Visualization Tool.

What Is the IB Method?

The immersed boundary (IB) method is a general-purpose numerical method for simulating fluid-structure interaction. The IB formulation of such problems uses an Eulerian description of the fluid and a Lagrangian description of the structure. Interaction equations that couple the Eulerian and Lagrangian variables take the form of integral equations with delta function kernels.

For general information about the IB method, see For visualizations of simulations that use IBAMR, see

Getting Started

IBAMR requires a number of third-party libraries. Sample build instructions are provided for a typical Linux installation.


Source code documentation for IBAMR is available on-line. Source code documentation is also available for the IBTK support library. File format documentation is also available on-line. There is also list of frequently asked questions.


Support for IBAMR is available via the IBAMR Users Google Group ( Discussion related to the continued development of IBAMR is via the IBAMR Developers Google Group (

Bugs and Other Issues

Please use the GitHub issue tracking system to report bugs, feature requests, or other issues with IBAMR.


IBAMR development is supported in part by an NSF Software Infrastructure for Sustained Innovation award (NSF OCI 1047734). Work to extend IBAMR to support finite element mechanics models is also supported in part by the NSF (NSF DMS 1016554). We gratefully acknowledge this support.