[petsc-dev] On remaining libMesh-PETsc fieldsplit interface cleanup
Boris Boutkov
borisbou at buffalo.edu
Mon Apr 1 20:12:39 CDT 2019
Hello all,
I've been working on the libMesh - PETSc interface for utilizing
gmg/fieldsplit on the command line by creating DMShells; things are
seemingly in pretty good shape at this point, so thanks much for the
support along the way!
The last lingering issue of the implementation is that I still have a
little bit of dependency on PETSc private/dmimpl.h. In short, during our
implementation of DMCreateSubDM I try and get some of the parent DMs
function pointers, specifically dm->ops->{coarsen, refine,
createinterpolation, createrestriction,and createsubdm}, which then I
set for the subDM using DMShellSet* by passing in the parent DM pointer
directly.
I'd like to remove this private dmimpl.h dependency but removing the
header gives me compilation errors - "invalid use of incomplete type"
pointing to PETsc DM struct for the above calls. As far as I understand
it, this means that I would need public API similar to the DMShellSet*
methods but now instead DMShellGet*.
If the above's the case, any reason this doesn't exist yet outside of
lack of prior need? And how much work would introducing this require? Or
of course please let me know if there's some simple way around this that
I may be missing.
Thanks as always for your time,
- Boris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190401/1d3bd870/attachment.html>
More information about the petsc-dev
mailing list