[petsc-users] Advice for a non conform boundary coupling with PETSc

GUBERNATIS Pierre pierre.gubernatis at cea.fr
Mon Feb 5 09:10:20 CST 2024


Hello,
I would appreciate an advice on this task, if possible.

So far, we use PETSc to 'couple' two computations of the same simulation code, in a single MPI run.
I simplify but roughly, we have 2 Cartesian domains on which we discretize the same evolution problem.
These two computations have a common boundary and we want to solve the global problem as if it were a single domain problem.

We use the 'ghost cells' paradigm to handle the boundary conditions.
At each required step of the time algorithm, we update the values in the ghost cells of both domains.

Thanks to these exchanges, we can make a global resolution (as if it were a unique domain) by using PETSc : Each domain builds its part of the main operator and its part of the RHS. PETSc solves the global problem and broadcasts the partial solutions to each domain.
This 'boundary coupling' of 2 computations works perfectly well with conforming meshes.
(we can consider this type of coupling as a domain decomposition process, but instead of cutting a domain in two pieces, we merge two domains together).

We are extending this method to the non-conforming case (we use a specific library to make the interpolations/mapping from one grid onto the other).
The non-conforming case doesn't work so far. Our guess is that the error is in the way we fill the data array of PETSc and we keep on working on it.

Would you see a problem we are missing in this extension to the non-conforming situation ? Do you know a similar work we could look at ?

Thanks for any advice....
Pierre

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240205/ad8d3f7e/attachment.html>


More information about the petsc-users mailing list