<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hello all,</p>
<p>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!</p>
<p>The last lingering issue of the implementation is that I still
have a little bit of dependency on <span class="pl-s">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->{</span><span class="pl-s"><span
class="pl-smi">coarsen, </span></span><span class="pl-smi">refine,
</span><span class="pl-smi">createinterpolation, </span><span
class="pl-smi">createrestriction,</span><span class="pl-smi">
and createsubdm</span>}, which then I set for the subDM using
DMShellSet* by passing in the parent DM pointer directly.<br>
</p>
<p>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*.</p>
<p> 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.</p>
<p>Thanks as always for your time,</p>
<p>- Boris<br>
</p>
<p><br>
</p>
</body>
</html>