Hi all,
I’m working on a problem that involves coupling FEM and BEM methods using FEniCSx and BEM++. The workflow I’m implementing is as follows:
I. I solve the Laplace equation using FEniCSx (in parallel) to obtain a potential field Phi.
II. I then use this potential as input for bempp (which runs in serial) to compute the normal flux on the boundary.
III. Finally, I want to use this computed boundary flux as input data for another PDE in FEniCSx.
What would be the optimal or recommended way to manage this FEM/BEM coupling, especially regarding mesh and data exchange?
Since FEniCSx runs in parallel using MPI, the mesh is distributed across different processes. However, BEM++ needs access to the full (serial) boundary data. I was considering loading the mesh twice — once in parallel for FEniCSx and once in serial for BEM++ — and then matching the boundary node indices between the two representations.
Does this approach make sense? Is there a better or more robust method for transferring boundary data between FEniCSx and BEM++?
thanks