[petsc-dev] Problem with DMKSP/DMSNES and GMG

Boris Boutkov borisbou at buffalo.edu
Fri Oct 26 10:11:02 CDT 2018


Hi,  I'm just wondering if this ties into the issues I brought up in :
https://lists.mcs.anl.gov/pipermail/petsc-dev/2018-October/023615.html ?

>From my perspective, I think I would prefer the copy everything mechanism,
but I'm not sure about the nature of the introduced dependencies and if I
would have to make extra adjustments from my end.

Thanks for any clarification,
-  Boris

On Fri, Oct 26, 2018 at 10:49 AM Matthew Knepley <knepley at gmail.com> wrote:

> I am having a problem, and every solution I can think of would seem to do
> violence to encapsulation or to DMKSP/DMSNES.
>
> I want to have GMG automatically work on the velocity part of Stokes. So I
> give
>
>   -fieldsplit_velocity_pc_type mg
>
> in SNES ex62. This complains that the KSP has a DM but
> KSPSetComputeOperator() has not been called. It is fine on the global
> system because SNES called that in SNESSetupMatrices(). Thus in FieldSplit,
> I inserted
>
>           {
>             PetscErrorCode (*func)(KSP,Mat,Mat,void*);
>             void            *ctx;
>
>             ierr = DMKSPGetComputeOperators(pc->dm, &func,
> &ctx);CHKERRQ(ierr);
>             ierr = DMKSPSetComputeOperators(dms[i],  func,
> ctx);CHKERRQ(ierr);
>           }
>
> where we call KSPSetDM(). However, this does not work, because the subDM
> has a new DMSNES, which does not have the information about the problem.
>
> Solution #1:
>
>   Copy the info from the old DMSNES to the subDMSNES. This inserts a
> dependence between KSP and SNES which we do not want.
>
> Solution #2:
>
>   Have DMCreateSubDM() copy everything from the solvers. This also inserts
> dependencies, unless we have a "copy everything" mechanism, but is this
> what we want.
>
> Solution #3:
>
>   Rethink DMKSP/DMSNES. Is this how we should store problem information.
> Dave already had another problem with the organization.
>
> What should be done? I have never understood this construct very well.
> Right now, this is holding up doing some computations I need.
>
>   Thanks,
>
>      Matt
> --
> 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
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20181026/6c45ac55/attachment.html>


More information about the petsc-dev mailing list