Computational fluid dynamics (CFD) is used extensively for analyzing fluid flows in complex domains and improving engineering designs. One of the obstacles to the broader adoption of CFD is the cost of the solution particularly in problems involving complex geometries with high aspect ratio, higher Reynolds number flows, multi-domain simulations, fluid-structure interaction, and optimization among others. The cost of CFD simulations primarily stems from the underlying linear solver, underscoring the need for more efficient iterative solvers. Thus, in this talk, I will present an iterative algorithm (called bi-partitioned method) for CFD problems as a substitute for standard algorithms such as Generalized minimal residual method (GMRES). I will also discuss a specialized preconditioner for simulations involving coupled boundary that are often encountered in cardiovascular flows. Finally, I will demonstrate the effectiveness of the bi-partitioned method by comparing it against GMRES, showing up to more than an order of magnitude improvement in performance.