FREEDOM251

Freedom251 › Physics Simulation Software

PetIBM

Free plan LinuxMacSelf-hosted

Visit PetIBM Alternatives Pricing

PetIBM's own site

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

PlanBilled and limitsPrice
PetIBMOpen-source solver toolkit; Linux officially supported; requires PETSc and MPIFree

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

Look at these too