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

Matthew Knepley knepley at gmail.com
Mon Feb 5 09:41:14 CST 2024


On Mon, Feb 5, 2024 at 10:10 AM GUBERNATIS Pierre <pierre.gubernatis at cea.fr>
wrote:

> 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 ?
>

Maybe I am saying things you have already thought of, but I would start by
checking the error in my transfer operators. For instance, if it is
supposed to preserve constants, if you put a constant field on the two
domains, go to the global domain, and then back, it is still the same
constant? Does it work with higher polynomials? Once that is assured, we
could look at MMS problems.

  Thanks,

     Matt


> Thanks for any advice….
>
> *Pierre*
>
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240205/06cef94b/attachment-0001.html>


More information about the petsc-users mailing list