I would support a name change to Create().  However, we should be really sure before we do stuff<div>like that since nothing pisses people off (Wolfgang) like name changes.</div><div><br></div><div>   Matt<br><br><div class="gmail_quote">
On Fri, Aug 27, 2010 at 5:49 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
  Hmmm,<br>
<br>
petscda.h:EXTERN PetscErrorCode PETSCDM_DLLEXPORT  DMGetColoring(DM,ISColoringType,const MatType,ISColoring*);<br>
petscda.h:EXTERN PetscErrorCode PETSCDM_DLLEXPORT  DMGetMatrix(DM, const MatType,Mat*);<br>
petscda.h:EXTERN PetscErrorCode PETSCDM_DLLEXPORT  DMGetInterpolation(DM,DM,Mat*,Vec*);<br>
petscda.h:EXTERN PetscErrorCode PETSCDM_DLLEXPORT  DMGetInterpolationScale(DM,DM,Mat,Vec*);<br>
petscda.h:EXTERN PetscErrorCode PETSCDM_DLLEXPORT  DMGetAggregates(DM,DM,Mat*);<br>
<br>
   should all of these be Create?<br>
<br>
   In my mind usually Get means get something intrinsic to the underlying object (some property of it for example);  Create means generate a new thing that while it may be associated with the DA is not "owned" or "controlled" by the DA.<br>

<br>
    Another way to organize is Create() implies you later Destroy() that object, while for things you Get you do something else (like restore).<br>
<br>
    I'm inclined to change all of these ones to Create() since they are all Destroyed()<br>
<font color="#888888">   Barry<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
On Aug 27, 2010, at 11:10 AM, Jed Brown wrote:<br>
<br>
> On Fri, 27 Aug 2010 12:00:32 -0400, Kai Germaschewski <<a href="mailto:kai.germaschewski@unh.edu">kai.germaschewski@unh.edu</a>> wrote:<br>
>> And it also requires some more memory management framework which would<br>
>> call upon caches to expire long-unused objects when memory is running<br>
>> low.<br>
><br>
> How would you detect this?  Note that further allocation may be done<br>
> external to PETSc, and perhaps even in a separate process.  We're not in<br>
> a managed environment, we can't get a reliable "time to GC".  If we<br>
> could get that sort of signal, then I would be for such caching at all<br>
> times, but I don't think we can, in which case I still think<br>
> managed/pooled access versus owned creation needs to be explicitly<br>
> different.<br>
><br>
> Jed<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <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<br>
</div>