Boundary ghost cell types in PETSc 3.15
hi I've been testing building my code with PETSc 3.15 and have hit a weird problem. If I create a DMPlex and add boundary ghost cells using DMPlexConstructGhostCells(), I expect the boundary ghost cells to have cell type DM_POLYTOPE_FV_GHOST, if I check the cell types using DMPlexGetCellTypeLabel() and DMLabelGetValue(). That is true if I build using PETSc 3.14. But with 3.15 it appears the boundary ghost cells are ending up with cell type DM_POLYTOPE_INTERIOR_GHOST. These types are defined in include/petscdmtypes.h and currently DM_POLYTOPE_FV_GHOST = 11 and DM_POLYTOPE_INTERIOR_GHOST = 12. I've attached a minimal example program in Fortran. It creates a box mesh and adds boundary ghost cells, then counts how many have type DM_POLYTOPE_FV_GHOST. With PETSc 3.14 it is 24, the same as the number of ghost cells. With PETSc 3.15 it is zero, and the boundary ghost cells all have type 12. Any clues? Regards, Adrian -- Dr Adrian Croucher Senior Research Fellow Department of Engineering Science University of Auckland, New Zealand email: [email protected] tel: +64 (0)9 923 4611
On Tue, Jun 29, 2021 at 9:04 PM Adrian Croucher <[email protected]> wrote:
hi
I've been testing building my code with PETSc 3.15 and have hit a weird problem.
If I create a DMPlex and add boundary ghost cells using DMPlexConstructGhostCells(), I expect the boundary ghost cells to have cell type DM_POLYTOPE_FV_GHOST, if I check the cell types using DMPlexGetCellTypeLabel() and DMLabelGetValue().
That is true if I build using PETSc 3.14. But with 3.15 it appears the boundary ghost cells are ending up with cell type DM_POLYTOPE_INTERIOR_GHOST.
These types are defined in include/petscdmtypes.h and currently DM_POLYTOPE_FV_GHOST = 11 and DM_POLYTOPE_INTERIOR_GHOST = 12.
I've attached a minimal example program in Fortran. It creates a box mesh and adds boundary ghost cells, then counts how many have type DM_POLYTOPE_FV_GHOST.
With PETSc 3.14 it is 24, the same as the number of ghost cells. With PETSc 3.15 it is zero, and the boundary ghost cells all have type 12.
Any clues?
Yes, src/dm/f90-mod/petscdm.h is missing PYRAMID. I will make a fix right now. Thanks, Matt
Regards, Adrian
-- Dr Adrian Croucher Senior Research Fellow Department of Engineering Science University of Auckland, New Zealand email: [email protected] tel: +64 (0)9 923 4611
-- 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/>
On Wed, Jun 30, 2021 at 6:13 AM Matthew Knepley <[email protected]> wrote:
On Tue, Jun 29, 2021 at 9:04 PM Adrian Croucher <[email protected]> wrote:
hi
I've been testing building my code with PETSc 3.15 and have hit a weird problem.
If I create a DMPlex and add boundary ghost cells using DMPlexConstructGhostCells(), I expect the boundary ghost cells to have cell type DM_POLYTOPE_FV_GHOST, if I check the cell types using DMPlexGetCellTypeLabel() and DMLabelGetValue().
That is true if I build using PETSc 3.14. But with 3.15 it appears the boundary ghost cells are ending up with cell type DM_POLYTOPE_INTERIOR_GHOST.
These types are defined in include/petscdmtypes.h and currently DM_POLYTOPE_FV_GHOST = 11 and DM_POLYTOPE_INTERIOR_GHOST = 12.
I've attached a minimal example program in Fortran. It creates a box mesh and adds boundary ghost cells, then counts how many have type DM_POLYTOPE_FV_GHOST.
With PETSc 3.14 it is 24, the same as the number of ghost cells. With PETSc 3.15 it is zero, and the boundary ghost cells all have type 12.
Any clues?
Yes, src/dm/f90-mod/petscdm.h is missing PYRAMID. I will make a fix right now.
Here it is: https://gitlab.com/petsc/petsc/-/merge_requests/4140 Thanks, Matt
Thanks,
Matt
Regards, Adrian
-- Dr Adrian Croucher Senior Research Fellow Department of Engineering Science University of Auckland, New Zealand email: [email protected] tel: +64 (0)9 923 4611
-- 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/>
-- 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/>
On 30/06/21 11:17 pm, Matthew Knepley wrote:
Yes, src/dm/f90-mod/petscdm.h is missing PYRAMID. I will make a fix right now.
Here it is: https://gitlab.com/petsc/petsc/-/merge_requests/4140 <https://gitlab.com/petsc/petsc/-/merge_requests/4140>
Aha, yes that's fixed it. Thanks Matt! - Adrian -- Dr Adrian Croucher Senior Research Fellow Department of Engineering Science University of Auckland, New Zealand email: [email protected] tel: +64 (0)9 923 4611
participants (2)
-
Adrian Croucher -
Matthew Knepley