<div dir="ltr"><div dir="ltr"><div dir="ltr">On Tue, Jan 29, 2019 at 7:58 PM Dave Lee via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>just wondering if its possible to manually specify the parallel decomposition of data within PETSc Vecs and Mats? And if so, will the FieldSplit preconditioning handle this also?</div><div><br></div><div>I have an application (non-PETSc) data layout as:</div><div><font face="monospace, monospace">DATA[16][4][num_procs][3472]</font></div><div><br></div><div>and if possible I would like to use FieldSplit preconditioning without re-arranging this layout.</div></div></div></blockquote><div><br></div><div>Yes. You need to call</div><div><br></div><div>  <a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCFieldSplitSetIS.html">https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCFieldSplitSetIS.html</a></div><div><br></div><div>in order to define the splits. Note that if you have nested splits, you will have to also call it on the</div><div>nested PC, which stinks, but we have no other way of getting the information.</div><div><br></div><div>Nested splits can also be handled by implementing the DM interface, but that is a lot of work. It is,</div><div>however, the way we handle it internally because it makes things much easier and more flexible.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Currently I have a nested FieldSplit preconditioning with 16 outer field splits, and a schur complement field split within each. however this throws up an indexing error as FieldSplit assumes that the parallel decomposition is contiguous (I think).</div><div><br></div><div><p style="margin:0px;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;color:rgb(0,249,0);background-color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;background-color:rgb(0,230,229)">[</span><span style="font-variant-ligatures:no-common-ligatures">0</span><span style="font-variant-ligatures:no-common-ligatures;background-color:rgb(0,230,229)">]</span><span style="font-variant-ligatures:no-common-ligatures">PETSC ERROR: #1 ISComplement() line 750 in /home/dlee0035/soft/petsc-3.9.3/src/vec/is/is/utils/iscoloring.c</span></p>
<p style="margin:0px;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;color:rgb(0,249,0);background-color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">[0]PETSC ERROR: #2 PCSetUp_FieldSplit() line 703 in /home/dlee0035/soft/petsc-3.9.3/src/ksp/pc/impls/fieldsplit/fieldsplit.c</span></p>
<p style="margin:0px;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;color:rgb(0,249,0);background-color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">[0]PETSC ERROR: #3 PCSetUp() line 923 in /home/dlee0035/soft/petsc-3.9.3/src/ksp/pc/interface/precon.c</span></p></div><div><br></div><div>Cheers, Dave.</div><div><br></div><div><br></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div></div>