<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 20, 2013 at 10:35 PM, Geoffrey Irving <span dir="ltr"><<a href="mailto:irving@naml.us" target="_blank">irving@naml.us</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">DMPlexCreateSection expects that the boundary index sets its given are<br>
non-null. However, if these are retrieved via DMPlexGetStratumIS from<br>
a label generated by DMPlexMarkBoundaryFaces, the index sets will come<br>
out null, causing the following error.<br>
<br>
In my case this was caused by a bug: my DMPlex creation routine is<br>
broken. However, it could also arise from a mesh without boundary,<br>
such as a Klein bottle. Do we care about this kind of corner case?<br>
If so, what's the right fix? Two example possibilities are<br>
<br>
1. Make DMPlexCreateSection treat null index sets as no boundary.<br>
2. Make DMPlexMarkBoundaryFaces ensure that the stratum for value 1 is<br>
"there" even though it is empty. I'm not sure if this makes sense in<br>
the desired semantics.<br></blockquote><div><br></div><div>My preference is to have the code calling DMPlexCreateSection() check for NULL</div><div>when it extracts the IS and decrement numBC if this happens.</div><div><br>
</div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks,<br>
Geoffrey<br>
<br>
---------------------------------------------------------------------<br>
<br>
[0]PETSC ERROR: --------------------- Error Message<br>
------------------------------------<br>
[0]PETSC ERROR: Null argument, when expecting valid pointer!<br>
[0]PETSC ERROR: Null Object: Parameter # 1!<br>
[0]PETSC ERROR:<br>
------------------------------------------------------------------------<br>
[0]PETSC ERROR: Petsc Development GIT revision:<br>
352a19e720c6e388b1693cf6502c5f90a094459e GIT Date: 2013-11-20<br>
19:18:56 -0800<br>
[0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
[0]PETSC ERROR: See docs/index.html for manual pages.<br>
[0]PETSC ERROR:<br>
------------------------------------------------------------------------<br>
[0]PETSC ERROR: Unknown Name on a debug named cayley by irving Wed Nov<br>
20 20:29:20 2013<br>
[0]PETSC ERROR: Libraries linked from /home/irving/petsc/debug/lib<br>
[0]PETSC ERROR: Configure run at Wed Nov 20 19:39:25 2013<br>
[0]PETSC ERROR: Configure options --download-ctetgen<br>
--download-exodusii --download-generator --with-debugging=1<br>
--with-fortran=1 --with-hdf5-dir=/usr --with-netcdf-dir=/usr<br>
--with-triangle-dir=/usr PETSC_ARCH=debug<br>
[0]PETSC ERROR:<br>
------------------------------------------------------------------------<br>
[0]PETSC ERROR: ISGetLocalSize() line 322 in src/vec/is/is/interface/index.c<br>
[0]PETSC ERROR: DMPlexCreateSectionBCDof() line 4504 in src/dm/impls/plex/plex.c<br>
[0]PETSC ERROR: DMPlexCreateSection() line 4716 in src/dm/impls/plex/plex.c<br>
[0]PETSC ERROR: --------------------- Error Message<br>
------------------------------------<br>
[0]PETSC ERROR: Null argument, when expecting valid pointer!<br>
[0]PETSC ERROR: !<br>
[0]PETSC ERROR:<br>
------------------------------------------------------------------------<br>
[0]PETSC ERROR: Petsc Development GIT revision:<br>
352a19e720c6e388b1693cf6502c5f90a094459e GIT Date: 2013-11-20<br>
19:18:56 -0800<br>
[0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
[0]PETSC ERROR: See docs/index.html for manual pages.<br>
[0]PETSC ERROR:<br>
------------------------------------------------------------------------<br>
[0]PETSC ERROR: Unknown Name on a debug named cayley by irving Wed Nov<br>
20 20:29:20 2013<br>
[0]PETSC ERROR: Libraries linked from /home/irving/petsc/debug/lib<br>
[0]PETSC ERROR: Configure run at Wed Nov 20 19:39:25 2013<br>
[0]PETSC ERROR: Configure options --download-ctetgen<br>
--download-exodusii --download-generator --with-debugging=1<br>
--with-fortran=1 --with-hdf5-dir=/usr --with-netcdf-dir=/usr<br>
--with-triangle-dir=/usr PETSC_ARCH=debug<br>
[0]PETSC ERROR:<br>
------------------------------------------------------------------------<br>
[0]PETSC ERROR: create_default_section() line 174 in hollow/dm.cpp<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>