The ACA or other algorithm to accelerate bempp?

Does bempp support The Adaptive Cross Approximation Algorithm? I can’t find the relevant description in the document. But I saw the relevant introduction in an article citing bempp:

When I select the assember as ‘fmm’, the Gmres iteration is slow as it call ExaFMM frequently. When I select the default assembler (‘dense’), the Gmres iteration is fast but It took too long to assembler the boundary layer. Is there a better acceleration strategy? I have already set the device_interface to opencl with 1080ti.


The paper you quoted is using the old version of Bempp (3.something). This included Hmatrix compression using ACA.

The new version of Bempp (bempp-cl) uses the Fast Multipole Method (FMM) to accelerate computations. You’re seeing slow gmres iterations, as an fmm computation is being done each step. However as you refine your mesh, you should see that the time taken for a compution with FMM scales much better than a dense computation.

If you’re interested, this paper gives a good introduction to how FMM works.