<div dir="ltr">On Wed, Oct 30, 2013 at 9:49 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Peter Brune <<a href="mailto:prbrune@gmail.com">prbrune@gmail.com</a>> writes:<br>
<br>
> It might be best to just pair things.  Prefix matching sounds like a recipe<br>
> for ripping one's hair out over minutiae.<br>
<br>
Let's ask petsc-dev.<br>
<br>
All, how should we deal with people forgetting to clear dynamic<br>
functions in XXDestroy_YY?<br></blockquote><div><br></div><div>So the rationale for this is when we change backend types?</div><div><br></div><div>Is it worth anything more than a convention? If so, what about just having</div>
<div>a count in PetscObject that gets checked in the teardown process.</div><div><br></div><div>   Matt</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

><br>
> - Peter<br>
><br>
><br>
> On Wed, Oct 30, 2013 at 9:20 AM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
><br>
>> Alternatively, we could have a PetscObject function that strips all<br>
>> functions that match a prefix like PCGAMGAgg* or PCGAMG*.<br>
>><br>
>> Peter Brune <<a href="mailto:prbrune@gmail.com">prbrune@gmail.com</a>> writes:<br>
>><br>
>> > As I think I said on bitbucket (they're having a massive outage,<br>
>> > apparently), I'm going to create a branch where I make sure that each<br>
>> > composition is paired, because while it looks like this rule was followed<br>
>> > in TS, it certainly isn't followed anywhere else, and therefore didn't<br>
>> > appear to be a convention.<br>
>> ><br>
>> > - Peter<br>
>> ><br>
>> ><br>
>> > On Wed, Oct 30, 2013 at 8:17 AM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
>> ><br>
>> >> Mark Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> writes:<br>
>> >><br>
>> >> > I can't read bitbucket anymore.<br>
>> >> ><br>
>> >> > How can I undo:<br>
>> >> ><br>
>> >> >   ierr =<br>
>> >> ><br>
>> >><br>
>> PetscObjectComposeFunction((PetscObject)pc,"PCSetCoordinates_C",PCSetCoordinates_AGG);CHKERRQ(ierr);<br>
>> >><br>
>> >> ierr =<br>
>> >><br>
>> PetscObjectComposeFunction((PetscObject)pc,"PCSetCoordinates_C",NULL);CHKERRQ(ierr);<br>
>> >><br>
>> >> just like PCDestroy_FieldSplit, KSPDestroy_GMRES, and hopefully all<br>
>> >> subtype destructors.<br>
>> >><br>
>> >> > and I'm thinking we can sort of deprecated the PCSetCoordinates stuff.<br>
>> >> >  Lets get ex54 working with PCSetCoordinates and remove it from all<br>
>> other<br>
>> >> > tests.  Doing it the right way, with CreateRigidBodyModes solves<br>
>> Peter's<br>
>> >> > desire of getting it out of GAMG.  If a user of PCSetCoordinates<br>
>> breaks,<br>
>> >> > when the change something, then we just tell them to update to the new<br>
>> >> > regime.  Old users, like Sanjay G, do not need to be bothered.<br>
>> >><br>
>> >> Sounds fine to me.<br>
>> >><br>
>><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>