bempp / bempp-cl

A fast Python based just-in-time compiling boundary element library
http://www.bempp.com
MIT License
141 stars 38 forks source link

Fast direct solvers and FMM #51

Open tbetcke opened 4 years ago

tbetcke commented 4 years ago

Offer a discretisation framework that can flexibly use fast direct solvers or FMM methods depending on user needs.

djanekovic commented 4 years ago

Hi, I recently started reading Fast Direct Solvers for Elliptic PDEs and I would like to help implement it in bempp. Also, since I'm currently masters student I would maybe write my masters thesis about this project. Do you think this is manageable and if yes, what could and should be my first step doing this?

pimanov-h commented 3 years ago

Hi, is any progress in applying of Fast Direct Solvers to bempp? It looks like a big deal.

pimanov commented 2 years ago

I have experience running Fast Direct Solver based on H2-matrices (https://arxiv.org/abs/2201.07325) with bempp-cl. The solver uses not all elements of the matrix of the linear system, but it's subset. I added an interface to bempp to compute any required submatrices of the locked boundary operator in O(n) time, where n is the number of matrix elements to compute. The implementation was quite efficient in the following sense. The algorithm spends half the time in bempp calculating the matrix elements and half the time in the solver doing factorization. It show close to linear complexity and was near 2 times faster than dense direct solver on 50k of unknowns. This interface also allows the implementation of iterative solvers with H2 matrices, which is significantly faster than the currently used FMM. If you are interested, I can share more details.