Hello Prof. Wolfgang,

Thanks for your reply and recognition! The deal.II project sets an excellent example in terms of code organization and documentation. It has been a major inspiration for my project.

Sure, it's my pleasure that you visit HierBEM from deal.II applications page.

I absolutely agree with your suggestions about contributing HierBEM's underlying data structures and functions to deal.II. With the following things, I think deal.II users can quickly build their own BEM or BEM/FEM coupled applications without bothering with low level technical details:

 * Cluster tree
 * Block cluster tree
 * H-matrix
 * BEM function space
 * BEM bilinear form
 * Operator preconditioners based on dual mesh
 * Preconditioners based on H-matrix Cholesky or LU factorizations
 * Complex valued iterative solvers
 * All related tool functions which are used by the above facilities.

In the class LAPACKFullMatrixExt, I've encapsulated and added more LAPACK functions, mainly used for SVD, matrix/vector multiplication when the matrix is symmetric or Hermite symmetric, etc. I hope these can be directly merged into deal.II's class LAPACKFullMatrix, so that there will be only one class dealing with LAPACK matrices.

For how to organize these code into deal.II, I would like to hear your opinions.

On 12/16/25 07:09, 'Wolfgang Bangerth' via deal.II User Group wrote:

Hi Jihuan:
this is pretty amazing!

I’ve developed HierBEM, a 3D Galerkin boundary element method (BEM) library written in C++. Built on deal.II, HierBEM uses hierarchical matrices for near log-linear complexity. The numerical quadrature is accelerated by CUDA. I hope HierBEM can be a nice supplement to deal.II with its capability of handling open domains and directly solving physical fields on surfaces with a higher accuracy than FEM.

First, would you like us to visit HierBEM here?
https://dealii.org/gallery_applications/applications/

Second, are there parts of HierBEM that you think might be of broader interest and that you would like to contribute to deal.II itself? Looking at your list of features, I wonder whether for example these things might be of sufficient interest to others:
* your complex-valued CG/GMRES
* various H-matrix algebra pieces you list under your "Features"
* (some of) the things you currently have in LAPACKFullMatrixExt
* the TableBase::data() function
* many of your tool functions
* classes such as ClusterTree
If some of this became part of deal.II you would also not have to support that code yourself any more.

In general, looking through your code, it is really nice to see how well you document everything!

Best
 Wolfgang

--
Best regards!

Yours sincerely,
Jihuan Tian

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dealii/be13adfe-1938-4b48-bf9c-b12b81baa70e%40gmail.com.

Reply via email to