On Tue, Nov 20, 2012 at 5:21 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> How do they "get out a coarse level and explicitly change it" for > > 1) KSP? > PCMG > 2) SNES? > SNESFAS > 3) TS? > Doesn't exist now, but will if we do multilevel in time methods. > > > > > > > The DMTSGetContext() business uses PetscObjectCompose to attach the TSDM > to a dm. Why not just have DM's have opaque pointers to KSPDM, SNESDM, and > TSDM built into the DM and things > > like DMGetKSPDM() that do the usual dm->kspdm access instead of > composing business. Since the business of DM's is to talk to TS, SNES, and > KSP there is no reason to go through the more complicated object compose > business is there? (The object compose business is for out-of-the-ordinary > stashing of stuff, not ordinary stashing of stuff, it is kind of like using > object compose to attach the ksp to the snes). > > > > Okay, but when the optimizers need to attach something, do we add > special support for that in DM as well? > > Sure > > > What about UQ and so on? The idea here was to keep DM as ignorant as > possible, but allow it to carry this extra data around for the various > solver objects that need it. > > Ok, objectcompose is certainly more extensible. > > BTW: DMTSGetContext() is kind of a funky name, context is a very general > term, this function returns a TSDM (or DMTS) so could be DMGetDMTS() or > DMTSGetDMTS() > Sure. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121120/c04b4ae9/attachment.html>
