NUFgroup / IBPM.jl

Julia implementation of the Immersed Boundary Projection Method
3 stars 3 forks source link

IBPM.jl

Julia CFD package based on the Immersed Boundary Projection Method (IBPM) from Taira & Colonius (2007), with multigrid method from Colonius & Taira (2008).

Oscillating plate

Oscillating plate at Reynolds number 200. See "Examples" folder for other example cases.

Overview

Once a Problem and State are defined, the basic time-stepping is to just call advance!(state, prob, t). There are also some helpful functions in ibpm.jl to run the full simulation, for instance to save a GIF of the solution.

Current Status (4/22/21)

Currently only rigid bodies have been implemented, although a single moving body can be simulated by moving the grid (a "body-fixed" reference frame, although the equations are in the inertial lab frame). The reference cases (see the benchmarks folder) match the Fortran implementation to within $10^{-6}$ relative error, but with an average of about 40% speedup (and slightly more compared to the C++ code).

The next plans include arbitrary motion (with a fixed grid), parallelization, and adding an FSI solver for flexible bodies.