Freedom251 › Physics Simulation Software
PetIBM

What PetIBM is
PetIBM is a free, open-source toolkit for solving two- and three-dimensional incompressible Navier–Stokes problems with immersed-boundary methods on stretched Cartesian grids. It includes the Immersed Boundary Projection Method and a decoupled variant, supports multiple immersed bodies and prescribed motion, and handles 2D and 3D meshes. Distributed-memory systems, multiple GPUs on one node, and GPU clusters are supported. Linear systems can run on CPUs through PETSc KSP objects or on CUDA-capable GPUs using NVIDIA AmgX with AmgXWrapper. HDF5 input and output are available. Users can install GPU-enabled packages with Anaconda or run Docker and Singularity/Apptainer containers. Source builds require a GNU C++ compiler, PETSc with parallel HDF5, MPI, yaml-cpp, and SymEngine. PetIBM installs a library and headers for developers, with API documentation and example solvers. Linux is the only officially supported operating system.
Who it suits
PetIBM suits researchers and developers solving incompressible-flow problems who can work with PETSc, MPI, and Linux. It also provides guidance for developers extending or debugging the toolkit.
What it does well
- Free BSD 3-Clause open-source license
- Supports 2D and 3D immersed bodies
- Distributed-memory and GPU cluster support
- CPU and CUDA GPU linear solvers
- HDF5 input and output
What to know first
- Linux is the only officially supported system
- Source builds require several dependencies
- macOS and Windows support is not assisted
- MPI must be found separately by CMake
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| PetIBM | Open-source solver toolkit; Linux officially supported; requires PETSc and MPI | Free |
As barbagroup.github.io lists them, read 9 Oct 2026. The maker's own page has the final word.
Verdict
PetIBM provides specialized immersed-boundary flow solvers with CPU, GPU, distributed, and developer-oriented options. Its Linux focus and dependency requirements are central considerations for setup.
Facts from PetIBM's own pages
- API
- PetIBM installs a library and header files for building flow solvers, with API documentation and simplified example solvers provided. · barbagroup.github.io, 9 Oct 2026
- Assessment tools
- No · barbagroup.github.io, 24 Sept 2026
- Audience
- The project provides end-user installation instructions and separate guidance for developers extending or debugging PetIBM. · barbagroup.github.io, 9 Oct 2026
- Authoring tools
- No · barbagroup.github.io, 24 Sept 2026
- Bodies and meshes
- It supports multiple immersed bodies, prescribed motion, and 2D and 3D stretched Cartesian meshes. · barbagroup.github.io, 9 Oct 2026
- Compatibility limit
- The CMake instructions for finding PetIBM dependencies exclude MPI, which must be found separately. · barbagroup.github.io, 9 Oct 2026
- CPU and GPU solvers
- Linear systems can be solved on CPUs with PETSc KSP objects or on multiple CUDA-capable GPUs using NVIDIA AmgX, connected through AmgXWrapper. · barbagroup.github.io, 9 Oct 2026
- Delivery mode
- desktop · barbagroup.github.io, 24 Sept 2026
- Dependencies
- Building from source requires a GNU C++ compiler, PETSc with parallel HDF5, an MPI implementation, yaml-cpp, and SymEngine; AmgX and AmgXWrapper are optional for GPU linear solvers. · barbagroup.github.io, 9 Oct 2026
- Free plan
- Yes · barbagroup.github.io, 24 Sept 2026
- Installation
- End users can install prebuilt GPU-enabled packages with Anaconda or use Docker and Singularity/Apptainer containers. · barbagroup.github.io, 9 Oct 2026
- I/O
- The feature list includes HDF5 input/output support. · barbagroup.github.io, 9 Oct 2026
- Lesson library
- No · barbagroup.github.io, 24 Sept 2026
- License
- PetIBM code is under the BSD 3-Clause License. · barbagroup.github.io, 9 Oct 2026
- Methods
- It includes the Immersed Boundary Projection Method and a decoupled version of that method. · barbagroup.github.io, 9 Oct 2026
- Offline access
- Yes · barbagroup.github.io, 24 Sept 2026
- Parallel computing
- It supports distributed-memory architectures, multiple GPUs on one node, and GPU clusters. · barbagroup.github.io, 9 Oct 2026
- Platform limits
- Linux is the only officially supported system; the documentation says macOS and Windows may or may not work and offers no assistance for issues on those systems. · barbagroup.github.io, 9 Oct 2026
- Purpose
- PetIBM implements immersed-boundary methods to solve 2D and 3D incompressible Navier–Stokes equations on stretched Cartesian grids using a projection approach. · barbagroup.github.io, 9 Oct 2026
- Support
- The project directs bug reports, feature requests, and questions to its GitHub issue tracker and lists email contacts for questions, suggestions, or feedback. · barbagroup.github.io, 9 Oct 2026
Where PetIBM stands on Freedom251
- Physics Simulation Software#26 of 89