> On Jul 15, 2022, at 11:20 AM, Matthew Knepley <knep...@gmail.com> wrote:
> 
> On Fri, Jul 15, 2022 at 11:01 AM Randall Mackie <rlmackie...@gmail.com 
> <mailto:rlmackie...@gmail.com>> wrote:
> I am also interested in converting my DMDA code to DMPlex so that I can use 
> OcTree grids.
> 
> Is there a simple example that would show how to do a box grid in DMPlex, or 
> more information about how to convert a DMDA grid to DMPlex?
> 
> Hi Randy,
> 
> Creating a box mesh is easy and can be done from the command line.
> 
> The hard part is usually converting the loop structure. Plex is setup to 
> support FEM and FVM, which are both
> cell-oriented. DMDA, on the other hand, tends to support a stencil of 
> cells/vertices. Is this how your code looks?

Hi Matt,

I figured the hard part was the loop structure.

Yes, my DMDA code is pretty standard and I have fields defined on block edges 
(it’s a staggered grid implementation, but written long before petsc had 
staggered grid capability) and I just loop over the DMDA grid points like:

do k=zs,ze
  do j=ys,ye
    do i=xs,xe

I’d be very interested to see what you can show us.

Thanks, Randy

> 
> I have a student working on a PetscFD which I could show you, but it is far 
> from production.
> 
>   Thanks,
> 
>      Matt
>  
> Thanks, Randy
> 
>> On Jun 21, 2022, at 10:57 AM, Mark Adams <mfad...@lbl.gov 
>> <mailto:mfad...@lbl.gov>> wrote:
>> 
>> (keep on the list, you will need Matt and Toby soon anyway).
>> 
>> So you want to add AMRex to your code.
>> 
>> 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.
>> Others like Matt can give advice on how to get started on that translation.
>> There is a simple step to create a DMForest (p4/8est) that Matt mentioned 
>> from the DMPlex .
>> 
>> Now at this point you can run your current SNES tests and get back to where 
>> you started, but AMR is easy now.
>> Or as easy as it gets.
>> 
>> As far as AMRex, well, it's not clear what AMRex does for you at this point. 
>> You don't seem to have AMRex code that you want to reuse.
>> 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.
>> 
>> PETSc/p4est and AMRex are similar with different strengths and design, and 
>> you could use both but that would complicate things.
>> 
>> Hope that helps,
>> Mark
>> 
>> 
>> On Tue, Jun 21, 2022 at 1:18 PM Bernigaud Pierre <pierre.bernig...@onera.fr 
>> <mailto:pierre.bernig...@onera.fr>> wrote:
>> Hello Mark, 
>> 
>> 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. 
>> 
>> 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. 
>> 
>> Best, 
>> 
>> Pierre 
>> 
>> Le 21/06/2022 à 18:00, Mark Adams a écrit :
>>> Hi Bernigaud,
>>> 
>>> To be clear, you have SNES working with DMDA in AMRex, but without adapting 
>>> dynamically and you want to know what to do next.
>>> 
>>> Is that right?
>>> 
>>> Mark
>>> 
>>> 
>>> 
>>> 
>>> On Tue, Jun 21, 2022 at 11:46 AM Bernigaud Pierre 
>>> <pierre.bernig...@onera.fr <mailto:pierre.bernig...@onera.fr>> wrote:
>>> Greetings,
>>> 
>>> I hope you are doing great.
>>> 
>>> We are currently working on parallel solver employing PETSc for the main 
>>> numerical methods (GMRES, Newton-Krylov method). We would be interested 
>>> in combining the PETSc solvers with the AMR framework provided by the 
>>> library AMReX (https://amrex-codes.github.io/amrex/ 
>>> <https://amrex-codes.github.io/amrex/>). I know that within 
>>> the AMReX framework the KSP solvers provided by PETSc can be used, but 
>>> what about the SNES solvers? More specifically, we are using a DMDA to 
>>> manage parallel communications during the SNES calculations, and I am 
>>> wondering how it would behave in a context where the data layout between 
>>> processors is modified by the AMR code when refining the grid.
>>> 
>>> Would you have any experience on this matter ? Is there any 
>>> collaboration going on between PETsc and AMReX, or would you know of a 
>>> code using both of them?
>>> 
>>> Respectfully,
>>> 
>>> Pierre Bernigaud
>>> 
>> -- 
>> <jlgjjjnkhffoclfc.gif>Pierre Bernigaud
>> Doctorant
>> Département multi-physique pour l’énergétique
>> Modélisation Propulsion Fusée
>> Tél: +33 1 80 38 62 33 
>> 
>> ONERA - The French Aerospace Lab - Centre de Palaiseau
>> 6, Chemin de la Vauve aux Granges - 91123 PALAISEAU
>> Coordonnées GPS : 48.715169, 2.232833
>> 
>> Nous suivre sur : www.onera.fr <https://www.onera.fr/> | Twitter 
>> <http://www.twitter.com/@onera_fr> |  LinkedIn 
>> <http://www.linkedin.com/company/onera> | Facebook 
>> <http://www.facebook.fr/thefrenchaerospacelab> | Instagram 
>> <https://www.instagram.com/onera_the_french_aerospace_lab>
>> 
>> Avertissement/disclaimer https://www.onera.fr/en/emails-terms 
>> <https://www.onera.fr/en/emails-terms><dldmcfkmcojhebgb.png>
>> 
>> 
> 
> 
> 
> -- 
> 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/>

Reply via email to