An easy to use immersed boundary method in 2D, with full implementations in MATLAB and Python that contains over 60 built-in examples, including multiple options for fiber-structure models and advection-diffusion, Boussinesq approximations, and/or artificial forcing.
battistn[at]tcnj.edu) know!If you use this software for research, educational, or recreational purposes, please let Nick Battista (
If you use the code for research, please cite the following papers:
N.A. Battista, A.J. Baird, L.A. Miller, A mathematical model and MATLAB code for muscle-fluid-structure simulations, Integ. Comp. Biol. 55(5):901-911 (2015), LINK
N.A. Battista, W.C. Strickland, L.A. Miller, IB2d:a Python and MATLAB implementation of the immersed boundary method,, Bioinspiration and Biomemetics 12(3): 036003 (2017), LINK
N.A. Battista, W.C. Strickland, A. Barrett, L.A. Miller, IB2d Reloaded: a more powerful Python and MATLAB implementation of the immersed boundary method, in press Math. Method. Appl. Sci. 41:8455-8480 (2018) LINK
IB2d Video Tutorials:
Tutorial 1: https://youtu.be/PJyQA0vwbgU
An introduction to the immersed boundary method, fiber models, open source IB software, IB2d, and some FSI examples!
Tutorial 2: https://youtu.be/jSwCKq0v84s
A tour of what comes with the IB2d software, how to download it, what Example subfolders contain and what input files are necessary to run a simulation
Tutorial 3: https://youtu.be/I3TLpyEBXfE
An overview of how to construct immersed boundary geometries and create the input files (.vertex, .spring, etc.) for an IB2d simulation to run using the oscillating rubberband example from Tutorial 2 as a guide.
Tutorial 4: https://youtu.be/4D4ruXbeCiQ
The basics of visualizing data using open source visualization software called VisIt (by Lawrence Livermore National Labs), visualizing the Lagrangian Points and Eulerian Data (colormaps for scalar data and vector fields for fluid velocity vectors)
--> Matea Santiago has updated the advection-diffusion solver to a third-order WENO scheme.
--> We have released a semi-automatic meshing tool, MeshmerizeMe , to help discretize Lagrangian geometries. More information can be found in our software release paper:
D.M. Senter, D.R. Douglas, W.C. Strickland, S. Thomas, A. Talkington, L.A. Miller, N.A. Battista, A Semi-Automated Finite Difference Mesh Creation Method for Use with Immersed Boundary Software IB2d and IBAMR, Bioinspiration and Biomimetics 16(1): 016008 (2021)
VisIt Workaround for macOS 11 (Big Sur)
--> Many VisIt users have gotten the following error when trying to open visualization files:
"The MetaData server running on localhost could not get the file list for the current directory"
--> To circumvent this error, try opening VisIt from the command line. Try the following:
- In your terminal, change directory until you're in the directory you want to open (eg - the viz_IB2d folder)
- In your terminal, type: /Applications/VisIt.app/Contents/Resources/bin/visit -gui (or the correct path based to where you installed VisIt)