<div dir="auto">Thank you both very much, it is exactly what I needed.<div dir="auto"><br></div><div dir="auto">Best regards</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 9, 2022, 21:19 Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr">On Wed, Mar 9, 2022 at 5:13 PM Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank" rel="noreferrer">bsmith@petsc.dev</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><div><br></div>  You need to do a mapping of your global numbering to the standard PETSc numbering and use the PETSc numbering for all access to vectors and matrices. <div><br></div><div>   <a href="https://petsc.org/release/docs/manualpages/AO/AOCreate.html" target="_blank" rel="noreferrer">https://petsc.org/release/docs/manualpages/AO/AOCreate.html</a> provides one approach to managing the renumbering.</div></div></blockquote><div><br></div><div>You can think of this as the mapping to offsets that you would need in any event to store your values (they could not be directly addressed with your random indices).</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><div>  Barry</div><div><br><div><br><blockquote type="cite"><div>On Mar 9, 2022, at 3:42 PM, Nicolás Barnafi <<a href="mailto:nabw91@gmail.com" target="_blank" rel="noreferrer">nabw91@gmail.com</a>> wrote:</div><br><div><div dir="ltr">Hi community, <div><br></div><div>I have an application with polytopal meshes (elements of arbitrary shape) where the distribution of dofs is not PETSc friendly, meaning that it is not true that cpu0 owns dofs [0,a), then cpu1 owns [a,b) and so on, but instead the distribution is in fact random. Another important detail is that boundary dofs are shared, meaning that if dof 150 is on the boundary, each subdomain vector has dof 150. </div><div><br></div><div>Under this considerations: </div><div><br></div><div>i) Is it possible to give an arbitrary mapping to the matrix structure or is the blocked distribution hard coded? </div><div>ii) Are the repeated boundary dofs an issue when computing a Fieldsplit preconditioner in parallel?</div><div><br></div><div>Best regards,<br clear="all"><div>Nicolas</div></div></div>
</div></blockquote></div><br></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><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" rel="noreferrer">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div>