On Wed, Nov 10, 2021 at 11:45 PM Eric Chamberland < [email protected]> wrote:
Hi Matthew,
I have joined the ex44.c example so you can see that we see.
The problem is about the "f" field number which I can't see any clue in the documentation to what to put there... We are missing some information maybe written elsewhere?
I have tried 3 different calls (lines 180-182) with comments aside:
//ierr = DMSetBasicAdjacency(ddm, PETSC_TRUE, PETSC_FALSE); CHKERRQ(ierr); //This works: it give only 2 cells for the overlap //ierr = DMSetAdjacency(ddm, 0, PETSC_TRUE, PETSC_FALSE); CHKERRQ(ierr); //This works too, but why do I have to use field #0 ??? Is it a convention? ierr = DMSetAdjacency(ddm, PETSC_DEFAULT, PETSC_TRUE, PETSC_FALSE); CHKERRQ(ierr); //This does not works: it give 3 cells for the overlap instead of 2.
Okay, I will fix the docs. I will run it, but I think I see what is happening here. The default is used _only_ when no fields are defined. This is to support the case of just using Plex without any field definitions. Once you define fields, we let you have a different adjacency for each field, so that Jacobian layout can be customized. However, what is used for topology then? Right now, I believe it is field 0. It sounds like I need a flag to tell me whether the user set something, so we can have better defaults.
Also, do you think your gitlab/knepley/fix-plex-g2n branch will find it's way into next or main? ;)
Put in the MR today. Thanks, Matt
Thanks,
Eric
On 2021-11-10 3:26 p.m., Matthew Knepley wrote:
Okay, so the PETSC_DEFAULT one is what is used for topology. There are two separate uses for adjacency info. First, for this kind of topological extension, and the second is for calculating Jacobians. You should be able to see the difference between FEM and FVM in just the case of a 2x2 mesh where each process gets 1 cell. With FEM, the overlap is the whole mesh, whereas with FVM it leaves out the diagonal partner.
Thanks,
Matt
-- 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/>