[petsc-users] DMShellSetCreateRestriction

Barry Smith bsmith at mcs.anl.gov
Wed Mar 16 15:54:04 CDT 2016


   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 <popov at uni-mainz.de> 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 <kaus at uni-mainz.de> wrote:
>>> 
>>> 
>>>> On Mar 11, 2016, at 8:53 PM, Matthew Knepley <knepley at gmail.com> wrote:
>>>> 
>>>> On Fri, Mar 11, 2016 at 12:26 PM, Dave May <dave.mayhem23 at gmail.com> wrote:
>>>> On 11 March 2016 at 18:11, anton <popov at uni-mainz.de> 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
> 



More information about the petsc-users mailing list