An Immersed boundary method for coupled multi-physics simulations