> 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).
>
>
Using DMShell is the cleanest approach.

An alternative is to have you user code simply take control of all of the
configuration of the PCMG object. E.g. you call your user code which
creates the restriction operator, you pull out the PC and call
PCMGSetRestriction() on etc. This can be done easily performed in the
context of linear problems. For non-linear problems, you could jam this
setup code inside your ComputeJacobian function.

This is all possible, albeit clunky and kinda ugly. It works though if you
need something before Barry adds the required support in PCMG.

Cheers
  Dave

Reply via email to