<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Pierre - there's still development going on with DMStag and block PCs,  so if you don't find the example you're looking for, please let me know.<div class=""><br class=""></div><div class="">Best,</div><div class="">Patrick<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">Am 13.10.2019 um 20:11 schrieb Pierre Gubernatis via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a>>:</div><br class="Apple-interchange-newline"><div class=""><div dir="auto" class=""><div class="">Thanks Matt, I Hope I can find a simple example of these DMStags...</div><div dir="auto" class="">I'll start with the linear stage of our algorithm (a Newton iteration used for minimizing a residual). Next I will consider giving the whole non linear problem to petsc...</div><div dir="auto" class="">Regards.<br class=""><br class=""><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">Le dim. 13 oct. 2019 à 19:00,  <<a href="mailto:petsc-users-request@mcs.anl.gov" class="">petsc-users-request@mcs.anl.gov</a>> a écrit :<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send petsc-users mailing list submissions to<br class="">
        <a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a><br class="">
<br class="">
To subscribe or unsubscribe via the World Wide Web, visit<br class="">
        <a href="https://lists.mcs.anl.gov/mailman/listinfo/petsc-users" rel="noreferrer noreferrer" target="_blank" class="">https://lists.mcs.anl.gov/mailman/listinfo/petsc-users</a><br class="">
or, via email, send a message with subject or body 'help' to<br class="">
        <a href="mailto:petsc-users-request@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users-request@mcs.anl.gov</a><br class="">
<br class="">
You can reach the person managing the list at<br class="">
        <a href="mailto:petsc-users-owner@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users-owner@mcs.anl.gov</a><br class="">
<br class="">
When replying, please edit your Subject line so it is more specific<br class="">
than "Re: Contents of petsc-users digest..."<br class="">
<br class="">
<br class="">
Today's Topics:<br class="">
<br class="">
   1.  Using petsc with an existing domain decomposition.<br class="">
      (Pierre Gubernatis)<br class="">
   2. Re:  Using petsc with an existing domain decomposition.<br class="">
      (Matthew Knepley)<br class="">
   3. Re:  Using petsc with an existing domain decomposition.<br class="">
      (Mark Adams)<br class="">
<br class="">
<br class="">
----------------------------------------------------------------------<br class="">
<br class="">
Message: 1<br class="">
Date: Sun, 13 Oct 2019 11:24:04 +0200<br class="">
From: Pierre Gubernatis <<a href="mailto:pierre.gubernatis@gmail.com" target="_blank" rel="noreferrer" class="">pierre.gubernatis@gmail.com</a>><br class="">
To: <a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a><br class="">
Subject: [petsc-users] Using petsc with an existing domain<br class="">
        decomposition.<br class="">
Message-ID:<br class="">
        <CAAiXahKb8tQ1csBd0nkVXfJzZcDsJfWJ9ir=<a href="mailto:S3htogCzCwmTVw@mail.gmail.com" target="_blank" rel="noreferrer" class="">S3htogCzCwmTVw@mail.gmail.com</a>><br class="">
Content-Type: text/plain; charset="utf-8"<br class="">
<br class="">
Hello all,<br class="">
<br class="">
It souds that the best way to introduce petsc in a code is not to introduce<br class="">
it, but develop the code over the petsc structure.<br class="">
<br class="">
It is probably true but my problem is that my existing code already is<br class="">
equipped with a domain decomposition based on MPI (a typical themal<br class="">
hydraulic with cartesian staggered mesh)<br class="">
<br class="">
The user can slice the domain in sub-domains and construct a linear problem<br class="">
by block: each sub-domain assembles its part of the operator and its part<br class="">
of the RHS.<br class="">
<br class="">
I am wondering what is the best way now to introduce petsc (considering<br class="">
that I don?t want to assemble a global operator on a given proc). Is there<br class="">
an example that would show how to introduce petsc in this situation ?<br class="">
Thank you, Pierre<br class="">
-------------- next part --------------<br class="">
An HTML attachment was scrubbed...<br class="">
URL: <<a href="http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191013/d7d41233/attachment-0001.html" rel="noreferrer noreferrer" target="_blank" class="">http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191013/d7d41233/attachment-0001.html</a>><br class="">
<br class="">
------------------------------<br class="">
<br class="">
Message: 2<br class="">
Date: Sun, 13 Oct 2019 07:22:27 -0400<br class="">
From: Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank" rel="noreferrer" class="">knepley@gmail.com</a>><br class="">
To: Pierre Gubernatis <<a href="mailto:pierre.gubernatis@gmail.com" target="_blank" rel="noreferrer" class="">pierre.gubernatis@gmail.com</a>><br class="">
Cc: PETSc <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a>><br class="">
Subject: Re: [petsc-users] Using petsc with an existing domain<br class="">
        decomposition.<br class="">
Message-ID:<br class="">
        <CAMYG4G=nxz+=<a href="mailto:2Cs26wNrX3eyqEznCVkfx7Yctr_dKGFsKQR7gA@mail.gmail.com" target="_blank" rel="noreferrer" class="">2Cs26wNrX3eyqEznCVkfx7Yctr_dKGFsKQR7gA@mail.gmail.com</a>><br class="">
Content-Type: text/plain; charset="utf-8"<br class="">
<br class="">
Without having seen your code, it sounds to me like the best strategy here<br class="">
is to:<br class="">
<br class="">
  1) Produce a mirror of your mesh using DMStag<br class="">
<br class="">
  2) Use that DM to construct the linear block problems, which can then be<br class="">
solved by PETSc<br class="">
<br class="">
      Since the PETSc grid matches your own, you can share the solution<br class="">
vectors between your code and PETSc,<br class="">
      so it will fit nicely into your existing structure.<br class="">
<br class="">
Once that works, if the entire mesh is Cartesian, you could use DMStag to<br class="">
model that and let PETSc handle parallel<br class="">
decomposition. At the same stage, you could decide to let PETSc SNES handle<br class="">
the nonlinear problem, rather than<br class="">
just the linear parts.<br class="">
<br class="">
  Thanks,<br class="">
<br class="">
    Matt<br class="">
<br class="">
On Sun, Oct 13, 2019 at 5:25 AM Pierre Gubernatis via petsc-users <<br class="">
<a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a>> wrote:<br class="">
<br class="">
> Hello all,<br class="">
><br class="">
> It souds that the best way to introduce petsc in a code is not to<br class="">
> introduce it, but develop the code over the petsc structure.<br class="">
><br class="">
> It is probably true but my problem is that my existing code already is<br class="">
> equipped with a domain decomposition based on MPI (a typical themal<br class="">
> hydraulic with cartesian staggered mesh)<br class="">
><br class="">
> The user can slice the domain in sub-domains and construct a linear<br class="">
> problem by block: each sub-domain assembles its part of the operator and<br class="">
> its part of the RHS.<br class="">
><br class="">
> I am wondering what is the best way now to introduce petsc (considering<br class="">
> that I don?t want to assemble a global operator on a given proc). Is there<br class="">
> an example that would show how to introduce petsc in this situation ?<br class="">
> Thank you, Pierre<br class="">
><br class="">
<br class="">
<br class="">
-- <br class="">
What most experimenters take for granted before they begin their<br class="">
experiments is infinitely more interesting than any results to which their<br class="">
experiments lead.<br class="">
-- Norbert Wiener<br class="">
<br class="">
<a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer noreferrer" target="_blank" class="">https://www.cse.buffalo.edu/~knepley/</a> <<a href="http://www.cse.buffalo.edu/~knepley/" rel="noreferrer noreferrer" target="_blank" class="">http://www.cse.buffalo.edu/~knepley/</a>><br class="">
-------------- next part --------------<br class="">
An HTML attachment was scrubbed...<br class="">
URL: <<a href="http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191013/59f371e0/attachment-0001.html" rel="noreferrer noreferrer" target="_blank" class="">http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191013/59f371e0/attachment-0001.html</a>><br class="">
<br class="">
------------------------------<br class="">
<br class="">
Message: 3<br class="">
Date: Sun, 13 Oct 2019 09:56:58 -0400<br class="">
From: Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank" rel="noreferrer" class="">mfadams@lbl.gov</a>><br class="">
To: Pierre Gubernatis <<a href="mailto:pierre.gubernatis@gmail.com" target="_blank" rel="noreferrer" class="">pierre.gubernatis@gmail.com</a>><br class="">
Cc: PETSc users list <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a>><br class="">
Subject: Re: [petsc-users] Using petsc with an existing domain<br class="">
        decomposition.<br class="">
Message-ID:<br class="">
        <CADOhEh7PhC+SG_kDYd2gdPMMuvHacYBx+nGt=<a href="mailto:EN0WGESoLfdUA@mail.gmail.com" target="_blank" rel="noreferrer" class="">EN0WGESoLfdUA@mail.gmail.com</a>><br class="">
Content-Type: text/plain; charset="utf-8"<br class="">
<br class="">
On Sun, Oct 13, 2019 at 5:25 AM Pierre Gubernatis via petsc-users <<br class="">
<a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a>> wrote:<br class="">
<br class="">
> Hello all,<br class="">
><br class="">
> It souds that the best way to introduce petsc in a code is not to<br class="">
> introduce it, but develop the code over the petsc structure.<br class="">
><br class="">
<br class="">
All things being equal, yes, but few users start with PETSc from scratch.<br class="">
You situation is normal and Matt's suggestion of mirroring your mesh in<br class="">
PETSc mesh object (DM) is a common approach.<br class="">
<br class="">
<br class="">
> It is probably true but my problem is that my existing code already is<br class="">
> equipped with a domain decomposition based on MPI (a typical themal<br class="">
> hydraulic with cartesian staggered mesh)<br class="">
><br class="">
> The user can slice the domain in sub-domains and construct a linear<br class="">
> problem by block: each sub-domain assembles its part of the operator and<br class="">
> its part of the RHS.<br class="">
><br class="">
> I am wondering what is the best way now to introduce petsc (considering<br class="">
> that I don?t want to assemble a global operator on a given proc). Is there<br class="">
> an example that would show how to introduce petsc in this situation ?<br class="">
> Thank you, Pierre<br class="">
><br class="">
-------------- next part --------------<br class="">
An HTML attachment was scrubbed...<br class="">
URL: <<a href="http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191013/f9219b2b/attachment-0001.html" rel="noreferrer noreferrer" target="_blank" class="">http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191013/f9219b2b/attachment-0001.html</a>><br class="">
<br class="">
------------------------------<br class="">
<br class="">
Subject: Digest Footer<br class="">
<br class="">
_______________________________________________<br class="">
petsc-users mailing list<br class="">
<a href="mailto:petsc-users@mcs.anl.gov" target="_blank" rel="noreferrer" class="">petsc-users@mcs.anl.gov</a><br class="">
<a href="https://lists.mcs.anl.gov/mailman/listinfo/petsc-users" rel="noreferrer noreferrer" target="_blank" class="">https://lists.mcs.anl.gov/mailman/listinfo/petsc-users</a><br class="">
<br class="">
<br class="">
------------------------------<br class="">
<br class="">
End of petsc-users Digest, Vol 130, Issue 43<br class="">
********************************************<br class="">
</blockquote></div></div></div>
</div></blockquote></div><br class=""></div></body></html>