<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Feb 3, 2014 at 4:13 PM, Luc Berger-Vergiat <span dir="ltr"><<a href="mailto:lb2653@columbia.edu" target="_blank">lb2653@columbia.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Would there be a better option than a DMShell to do define fieldsplits of a matrix already assembled?<div>
The matrix comes from an FEM code and has boundary conditions applied to it before it is passed to PETSc.</div><div>A DMShell seems like a good option since it does not require any particular knowledge on the underlying mesh of the problem.</div>
<div>But is there another DM type supporting the DMCreateSubDM function, can work on a matrix coming from an FEM unstructured quad mesh with BCs applied to it?</div><div>Maybe DMPlex? though I am not sure that FEM meshes can be described as Hasse Diagram all the time especial quad meshes...</div>
</div></blockquote><div><br></div><div>Yes, DMPlex can handle that, but that is not the point for DMCreateSubDM(). You could have a DMShell, but define your</div><div>layout with a PetscSection if you wanted. I assume "with BC applied" means that constrained dofs are eliminated from the</div>
<div>system. If you need help setting up the PetscSection, I can walk you through it.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div>
<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">Best,<br>
Luc</span>
</div>
<br><div><div>On 3 févr. 2014, at 16:59, Matthew Knepley wrote:</div><br><blockquote type="cite"><div dir="ltr">Yes<div><br></div><div>  Matt</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 3, 2014 at 3:32 PM, Luc Berger-Vergiat <span dir="ltr"><<a href="mailto:lb2653@columbia.edu" target="_blank">lb2653@columbia.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">I'm fairly sure I know the answer to this question after looking up the source code but is it possible to create sub-splits while using a DMShell?<div>

To be more specific I have a matrix which I decompose into 4 fields and I would like to do something like</div><div><br></div><div>-ksp_type gmres</div><div>-pc_type fieldsplit</div><div>-pc_fieldsplit_type schur</div><div>

-pc_fieldsplit_schur_factorization_type full</div><div>-pc_fieldsplit_schur_precondition self</div><div>-pc_fieldsplit_0_fields 0,1</div><div>-pc_fieldsplit_1_fields 2,3</div><div>...</div><div><br><div>
<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">Best,<br>

Luc</span></div></div></div></blockquote></div><br><br clear="all"><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>

-- Norbert Wiener
</font></span></div>
</blockquote></div><br></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>