[petsc-dev] Is DMPlexLabelComplete necessary in snes ex12?

Geoffrey Irving irving at naml.us
Tue Nov 19 17:27:08 CST 2013


This question isn't about changing ex12, I'm just making sure I
understand what's going on:

SetupSection in snes ex12 calls DMPlexLabelComplete on the "marker"
label if Dirichlet conditions are chosen (not if Neumann is chosen).
Specifically,

    if (user->bcType == DIRICHLET) {ierr = DMPlexLabelComplete(dm,
label);CHKERRQ(ierr);}

It then uses the same label ("marker") to create an index set:

    if (user->bcType == DIRICHLET) {ierr  = DMPlexGetStratumIS(dm,
bdLabel, 1, &bcPoints[0]);CHKERRQ(ierr);}

I believe 1 is the codimension.  If the index set is restricted to
codimension 1, and DMPlexLabelComplete labels vertices based on edge
labels, isn't the DMPlexLabelComplete call unnecessary?

Hopefully either all that made sense and the answer is yes, or someone
can point out the hole in my understanding.

Thanks for the help with all of my recent emails!  I am getting closer
to the actual solver part of ex12, which I understand from previous
use, so hopefully I will have a working rewritten example in not too
long.

Geoffrey



More information about the petsc-dev mailing list