[petsc-dev] Options setup logic is broken

Matthew Knepley knepley at gmail.com
Sun Mar 30 20:34:22 CDT 2014


I have a PetscOptionsBegin/End() block. Inside, we create some contexts,
which
have PetscOptionsHead/Tail() blocks. This used to work fine, but I started
getting
a bizarre error.

It turned out that the part of the function after OptionsTail() had not
run. This was
because the PetscOptionsPublishCount was > 1. This happened because I had
moved the creation of a PetscObject inside the Begin/End block. This was the
first object created, so a ThreadComm communicator was created. This called
PetscThreadCommSetNThreads(), which called its own OptionsBegin/End block
which screwed up mine.

This is crazy.

   Matt

-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140330/01323a41/attachment.html>


More information about the petsc-dev mailing list