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/>