On Thu, Mar 7, 2024 at 12:08 AM Adrian Croucher <a.crouc...@auckland.ac.nz> wrote:
> hi Matt, > > With a bit more experimenting, I find I get the same sort of error in > DMPlexStratify() if I run a very simple program that just reads in a > DMPlex from file and then stratifies it (no dual porosity, no > distribution etc.), i.e.: > > call DMPlexCreateFromFile(PETSC_COMM_WORLD, 'gminc_1d.exo', 'mesh', & > PETSC_TRUE, dm, ierr) > call DMPlexStratify(dm, ierr) > > The error again looks like this: > > [0]PETSC ERROR: Petsc has generated inconsistent data > [0]PETSC ERROR: New depth 0 range [10,54) overlaps with depth 0 range > [10,54) > > Would you expect that to work? > Here is what is happening in this case. The DMPlexCreateFromFile() call already stratifies the mesh. Then the call DMPlexStratify() attempts to do this again. There is a check in DMPlexCreateDepthStratum() that checks for overlap. If we want to call this again, we first need to wipe out the depth label. I wasn't sure I wanted DMPlexStratify() to do this automatically, but maybe it should. Thanks, Matt > - Adrian > > -- > Dr Adrian Croucher > Senior Research Fellow > Department of Engineering Science > Waipapa Taumata Rau / University of Auckland, New Zealand > email: a.crouc...@auckland.ac.nz > 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://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!egE85226em0pMIxZzhtCDoypqqpVkgjeDShU6xwNDaUaSg_Yalo45qmkBBW2k1X4NfXTdLKw0pfSGPXryDoa$ <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!egE85226em0pMIxZzhtCDoypqqpVkgjeDShU6xwNDaUaSg_Yalo45qmkBBW2k1X4NfXTdLKw0pfSGAOd7xGB$ >