We present a fast and accurate algorithm to solve Poisson problems in complex
geometries, using regular Cartesian grids. We consider a variety of
configurations, including Poisson problems with interfaces across which the
solution is discontinuous (of the type arising in multi-fluid flows). The
algorithm is based on a combination of the Correction Function Method (CFM) and
Boundary Integral Methods (BIM). Interface and boundary conditions can be
treated in a fast and accurate manner using boundary integral equations, and
the associated BIM. Unfortunately, BIM can be costly when the solution is
needed everywhere in a grid, e.g. fluid flow problems. We use the CFM to
circumvent this issue. The solution from the BIM is used to rewrite the problem
as a series of Poisson problems in rectangular domains - which requires the BIM
solution at interfaces/boundaries only. These Poisson problems involve
discontinuities at interfaces, of the type that the CFM can handle. Hence we
use the CFM to solve them (to high order of accuracy) with finite differences
and a Fast Fourier Transform based fast Poisson solver. We present 2-D examples
of the algorithm applied to Poisson problems involving complex geometries,
including cases in which the solution is discontinuous. We show that the
algorithm produces solutions that converge with either 3rd or 4th order of
accuracy, depending on the type of boundary condition and solution
discontinuity