<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p id="reply-intro">Mark, <br /><br />Thank you for this roadmap. It should be doable to go from a DMDA to a DMPLex code. <br />I wasn't aware of the existence of p4est. From what I've seen, it should fulfil our needs.<br /><br />I will contact you again if we encounter any trouble. <br /><br />Thanks again, <br />Pierre <br /><br /><br /><br />Le 2022-06-21 19:57, Mark Adams a écrit :</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div id="replybody1">
<div dir="ltr">(keep on the list, you will need Matt and Toby soon anyway).
<div> </div>
<div>So you want to add AMRex to your code.</div>
<div> </div>
<div>I think the first thing that you want to do is move your DMDA code into a DMPLex code. You can create a "box" mesh and it is not hard.</div>
<div>Others like Matt can give advice on how to get started on that translation.</div>
<div>There is a simple step to create a DMForest (p4/8est) that Matt mentioned from the DMPlex .</div>
<div> </div>
<div>Now at this point you can run your current SNES tests and get back to where you started, but AMR is easy now.</div>
<div>Or as easy as it gets.</div>
<div> </div>
<div>As far as AMRex, well, it's not clear what AMRex does for you at this point. </div>
<div>You don't seem to have AMRex code that you want to reuse.</div>
<div>If there is some functionality that you need then we can talk about it or if you have some programmatic reason to use it (eg, they are paying you) then, again, we can talk about it.</div>
<div> </div>
<div>PETSc/p4est and AMRex are similar with different strengths and design, and you could use both but that would complicate things.</div>
<div> </div>
<div>Hope that helps,</div>
<div>Mark</div>
<div> </div>
</div>
<br />
<div class="v1gmail_quote">
<div class="v1gmail_attr" dir="ltr">On Tue, Jun 21, 2022 at 1:18 PM Bernigaud Pierre <<a href="mailto:pierre.bernigaud@onera.fr" rel="noreferrer">pierre.bernigaud@onera.fr</a>> wrote:</div>
<blockquote class="v1gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<p>Hello Mark, <br /><br />We have a working solver employing SNES, to which is attached a DMDA to handle ghost cells / data sharing between processors for flux evaluation (using DMGlobalToLocalBegin / DMGlobalToLocalEnd) . We are considering to add an AMReX layer to the solver, but no work has been done yet, as we are currently evaluating if it would be feasible without too much trouble. <br /><br />Our main subject of concern would be to understand how to interface correctly PETSc (SNES+DMDA) and AMRex, as AMRex also appears to have his own methods for parallel data management. Hence our inquiry for examples, just to get a feel for how it would work out. </p>
<p>Best, <br /><br />Pierre </p>
<div>Le 21/06/2022 à 18:00, Mark Adams a écrit :</div>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div dir="ltr">Hi Bernigaud,
<div> </div>
<div>To be clear, you have SNES working with DMDA in AMRex, but without adapting dynamically and you want to know what to do next.</div>
<div> </div>
<div>Is that right?</div>
<div> </div>
<div>Mark</div>
<div> </div>
<div> </div>
<div> </div>
</div>
<br />
<div class="v1gmail_quote">
<div class="v1gmail_attr" dir="ltr">On Tue, Jun 21, 2022 at 11:46 AM Bernigaud Pierre <<a href="mailto:pierre.bernigaud@onera.fr" rel="noreferrer">pierre.bernigaud@onera.fr</a>> wrote:</div>
<blockquote class="v1gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">Greetings,<br /><br />I hope you are doing great.<br /><br />We are currently working on parallel solver employing PETSc for the main <br />numerical methods (GMRES, Newton-Krylov method). We would be interested <br />in combining the PETSc solvers with the AMR framework provided by the <br />library AMReX (<a href="https://amrex-codes.github.io/amrex/" target="_blank" rel="noopener noreferrer">https://amrex-codes.github.io/amrex/</a>). I know that within <br />the AMReX framework the KSP solvers provided by PETSc can be used, but <br />what about the SNES solvers? More specifically, we are using a DMDA to <br />manage parallel communications during the SNES calculations, and I am <br />wondering how it would behave in a context where the data layout between <br />processors is modified by the AMR code when refining the grid.<br /><br />Would you have any experience on this matter ? Is there any <br />collaboration going on between PETsc and AMReX, or would you know of a <br />code using both of them?<br /><br />Respectfully,<br /><br />Pierre Bernigaud<br /><br /></blockquote>
</div>
</blockquote>
<div> </div>
</blockquote>
</div>
</div>
</blockquote>
<p><br /></p>

</body></html>