<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 27, 2019 at 7:27 PM Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br></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">On Fri, Mar 22, 2019 at 1:41 PM Swarnava Ghosh <<a href="mailto:swarnava89@gmail.com" target="_blank">swarnava89@gmail.com</a>> wrote:<br></div><div dir="ltr"><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">Hi Mark and Matt,<div><br></div><div>Thank you for your responses.</div><div> "They may have elements on the unstructured mesh that intersect with any number of processor domains on the structured mesh. But the unstructured mesh vertices are in the structured mesh set of vertices"</div><div>Yes, that is correct. We would want a vertex partitioning.</div></div></blockquote><div><br></div><div>Okay, I need to understand better what you want. A vertex partition of a mesh does not make sense to me. What kind</div><div>of mesh do you have, and how do you plan to use the partitioned mesh?</div></div></div></div></blockquote><div><br></div><div>I would guess they want a vertex partitioning to make an MatMPIAIJ. They could inject fine (structured) grid points into coarse (unstructured) points/vertices w/o communication. That's my best guess.</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 class="gmail_quote"><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>Sincerely,</div><div>Swarnava</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 4:08 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br></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">Matt, <div>I think they want a vertex partitioning. They may have elements on the unstructured mesh that intersect with any number of processor domains on the structured mesh. But the unstructured mesh vertices are in the structured mesh set of vertices. They want the partition of the unstructured mesh vertices (ie, matrices) to be slaved to the partitioning of the structured mesh.</div><div>Do I have that right Swarnava?</div><div>Mark</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 6:56 PM Matthew Knepley via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br></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 dir="ltr">On Thu, Mar 21, 2019 at 8:20 PM Swarnava Ghosh via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">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">Dear PETSc users and developers,<div><br></div><div>I am new to DMPLEX and had a query regarding setting up a consistent domain decomposition of two meshes in PETSc.</div><div>I have a structured finite difference grid, managed through DMDA. I have another unstructured finite element mesh managed through DMPLEX. Now all the nodes in the unstructured finite element mesh also belong to the set of nodes in the structured finite difference mesh (but not necessarily vice-versa), and the number of nodes in DMPLEX mesh is less than the number of nodes in DMDA mesh. How can I guarantee a consistent domain decomposition of the two meshes? By consistent, I mean that if a process has a set of nodes P from DMDA, and the same process has the set of nodes Q from DMPLEX, then Q is a subset of P.</div></div></blockquote><div><br></div><div>Okay, this is not hard. DMPlexDistribute() basically distributes according to a cell partition. You can use PetscPartitionerShell() to stick in whatever cell partition you want. You can see me doing this here:</div><div><br></div><div> <a href="https://bitbucket.org/petsc/petsc/src/e2aefa968a094f48dc384fffc7d599a60aeeb591/src/dm/impls/plex/examples/tests/ex1.c#lines-261" target="_blank">https://bitbucket.org/petsc/petsc/src/e2aefa968a094f48dc384fffc7d599a60aeeb591/src/dm/impls/plex/examples/tests/ex1.c#lines-261</a></div><div><br></div><div>Will that work for you?</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>I look forward to your response.</div><div><br></div><div>Sincerely,</div><div>Swarnava</div><div class="gmail-m_-2448400408271044630gmail-m_-9127506707058032744gmail-m_-3282327433537910127gmail-m_-8971217635761509212gmail-m_2555930922245788985gmail-m_-4766921637993663647gmail-yj6qo"></div><br class="gmail-m_-2448400408271044630gmail-m_-9127506707058032744gmail-m_-3282327433537910127gmail-m_-8971217635761509212gmail-m_2555930922245788985gmail-m_-4766921637993663647gmail-Apple-interchange-newline"></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-2448400408271044630gmail-m_-9127506707058032744gmail-m_-3282327433537910127gmail-m_-8971217635761509212gmail-m_2555930922245788985gmail_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>
</blockquote></div>
</blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-2448400408271044630gmail-m_-9127506707058032744gmail_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>
</blockquote></div></div>