Ok, it is finally available in the branch barry/add-dmshellcreaterestriction sorry for the delay I needed some emergency surgery for Toby due to overly complex reference counting.
See src/ksp/ksp/examples/tutorials/ex65.c that is now a full example of using DMSHELL and uses this new functionality. So if you provide a DMCreateRestriction function for SHELL (or any DM in fact) it will use this restriction operator automatically in PCMG Please let us know if you have any difficulties. Barry > On Mar 12, 2016, at 3:09 AM, anton <[email protected]> wrote: > > > > On 03/11/2016 11:25 PM, Barry Smith wrote: >> Boris, >> >> We will add this support to the DMShell and its usage from PCMG within a >> few days. >> >> Barry >> > > Tanks Barry. This is super-fast and very helpful. > > > Cheers, > Anton >>> On Mar 11, 2016, at 3:39 PM, Boris Kaus <[email protected]> wrote: >>> >>> >>>> On Mar 11, 2016, at 8:53 PM, Matthew Knepley <[email protected]> wrote: >>>> >>>> On Fri, Mar 11, 2016 at 12:26 PM, Dave May <[email protected]> wrote: >>>> On 11 March 2016 at 18:11, anton <[email protected]> wrote: >>>> Hi team, >>>> >>>> I'm implementing staggered grid in a PETSc-canonical way, trying to build >>>> a custom DM object, attach it to SNES, that should later transfered it >>>> further to KSP and PC. >>>> >>>> Yet, the Galerking coarsening for staggered grid is non-symmetric. The >>>> question is how possible is it that DMShellSetCreateRestriction can be >>>> implemented and included in 3.7 release? >>>> >>>> It's a little more work than just adding a new method within the DM and a >>>> new APIs for DMCreateRestriction() and DMShellSetCreateRestriction(). >>>> PCMG needs to be modified to call DMCreateRestriction(). >>>> >>>> Dave is correct. Currently, PCMG only calls DMCreateInterpolation(). We >>>> would need to add a DMCreateRestriction() call. >>> The PCMG object already uses a restriction operator that is different from >>> the interpolation parameter if it is specified with PCMGSetRestriction. >>> For consistency, one would expect a similar DMCreateRestriction object, >>> not? I realize that this is not relevant for FEM codes, but for staggered >>> FD it makes quite some difference. >>> >>> Other suggestions on how to best integrate staggered finite differences >>> within the current PETSc framework are ofcourse also highly welcome. >>> Our current thinking was to pack it into a DMSHELL (which has the problem >>> of not having a restriction interface). >>> >>> thanks, >>> Boris >>> >>> >>> >>> >>>> Thanks, >>>> >>>> Matt >>>> Please, please. >>>> >>>> Thanks, >>>> Anton >>>> >>>> >>>> -- >>>> 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 >
