<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<br>
<br>
<div class="moz-cite-prefix">On 12/08/2022 18:15, Matthew Knepley
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAMYG4GmzzvfqPuXRBE9n1ZFZ5sCU=Ao95KNNPtPCvD4O7_4ZrQ@mail.gmail.com">
<div style="background-color:#fff2e6; border:2px dotted #ff884d"><span style="font-size:12pt; font-family: sans-serif; color:black;
font-weight:bold; padding:.2em">This email was sent to you by
someone outside the University.</span>
<div style="font-size:10pt; font-family: sans-serif;
font-style:normal; padding:.2em"> You should only click on
links or attachments if you are certain that the email is
genuine and the content is safe.</div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">On Fri, Aug 12, 2022 at 9:27 AM David Scott
<<a href="mailto:d.scott@epcc.ed.ac.uk" moz-do-not-send="true" class="moz-txt-link-freetext">d.scott@epcc.ed.ac.uk</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>On 12/08/2022 11:26, Matthew Knepley wrote:<br>
</div>
<blockquote type="cite">
<div style="background-color:rgb(255,242,230);border:2px
dotted rgb(255,136,77)"> <span style="font-size:12pt;font-family:sans-serif;color:black;font-weight:bold;padding:0.2em">This
email was sent to you by someone outside the
University.</span>
<div style="font-size:10pt;font-family:sans-serif;font-style:normal;padding:0.2em">You
should only click on links or attachments if you
are certain that the email is genuine and the
content is safe.</div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">On Fri, Aug 12, 2022 at 2:21 AM
Quynh Nguyen <<a href="mailto:nguyenquynh9537@gmail.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">nguyenquynh9537@gmail.com</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 developers and
users,
<div><br>
</div>
<div>I am a new petsc user ^_^.</div>
<div>I have some questions about using
DMDA_BOUNDARY_GHOSTED.</div>
<div><br>
</div>
<div>1. I have 2D Poisson code with domain
(nx, ny), and I used DMDA_BOUNDARY_NONE,
then the size of the matrix is
(nx*ny)X(nx*ny). <b><i>what is the size
of the matrix if I used
DMDA_BOUNDARY_GHOSTED? is it the same
size as DMDA_BOUNDARY_NONE</i></b>?</div>
</div>
</blockquote>
<div><br>
</div>
<div>Yes, the matrix should be the same size,
but local vectors have extra ghost node slots.</div>
<div> <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>
<div>2. if the matrix size of
DMDA_BOUNDARY_GHOSTED isn't the same as
DMDA_BOUNDARY_NONE, <b><i>how i can
view the matrix including ghost
points</i></b>? I ask this one
because I used MatView(P,
PETSC_VIEWER_STDOUT_WORLD) to show the
matrix but excluded ghost points.</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Ghost nodes are there so that stencil
operations on local vectors work at
boundaries. You fill in the slots with
boundary information.</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
I can see how this works if you are writing your own
solver but can it be used with a KSP? In the case of
periodic boundary conditions the boundary values are
"filled in" for you by PETSc. Is there any way for a
user to supply boundary information to a PETSc solver
when using DMDA_BOUNDARY_GHOSTED?<br>
</div>
</blockquote>
<div><br>
</div>
<div>Right now, there is not. This is mainly due to the lack
of consensus for boundary condition specification.
Periodic conditions are simple in this respect.</div>
<div><br>
</div>
<div>For example, Plex has such a thing</div>
<div><br>
</div>
<div> <a href="https://petsc.org/main/docs/manualpages/DM/DMAddBoundary/" moz-do-not-send="true" class="moz-txt-link-freetext">https://petsc.org/main/docs/manualpages/DM/DMAddBoundary/</a></div>
<div><br>
</div>
<div>that can be used to fill in these constrained spots</div>
<div><br>
</div>
<div> <a href="https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexInsertBoundaryValues/" moz-do-not-send="true" class="moz-txt-link-freetext">https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexInsertBoundaryValues/</a></div>
<div><br>
</div>
<div>But there have been many complaints about this
interface (and I suspect any interface we choose).</div>
<div><br>
</div>
<div>Maybe there is something that we could write that would
make it easier for you with DMDA?</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
The way I had imagined it working was that for each dimension the
user could register a function to be to be called at the start of
every iteration (in a similar fashion to adding a monitor). Not all
of the dimensions would have to be specified as
DMDA_BOUNDARY_GHOSTED and thus require a function to be registered.
This function would have access to the DMDA and the local vector so
it could determine if ghost locations were present and, if so, set
appropriate values. Does this make sense?<br>
<br>
Thanks,<br>
<br>
David<br>
<br>
<blockquote type="cite" cite="mid:CAMYG4GmzzvfqPuXRBE9n1ZFZ5sCU=Ao95KNNPtPCvD4O7_4ZrQ@mail.gmail.com">
<div>
<div dir="ltr">
<div class="gmail_quote">
<div> </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>Thanks,<br>
<br>
David<br>
<br>
<blockquote type="cite">
<div>
<div dir="ltr">
<div class="gmail_quote">
<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>
<div>I hope someone can explain my wonder
:)</div>
<div><br>
</div>
<div>P/S: maybe, those question is
simple and a bit stupid ^_^. </div>
<div><br>
</div>
<div>Have a nice day,</div>
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div><span>Quynh Nguyen</span><br>
</div>
<div><font face="times new
roman, serif" color="#3d85c6"><span style="font-size:12.8px">Graduate student, Ocean Engineering.</span></font></div>
<div><font face="times new
roman, serif" color="#3d85c6"><span style="font-size:12.8px">School of Naval Architecture and Ocean
Engineering,
University of Ulsan.</span></font></div>
<div>
<div><font face="times
new roman, serif" color="#3d85c6">-----------------------------------------------------------------------------------------</font></div>
<div><font face="times
new roman, serif" color="#3d85c6">Mobile:
(+82) 010-9394-5595 </font></div>
<div><font face="times
new roman, serif" color="#3d85c6">Email:
<a href="mailto:nguyenquynh9537@gmail.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">nguyenquynh9537@gmail.com</a>; <a href="mailto:nguyenthiquynhb_t58@hus.edu.vn" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">nguyenthiquynhb_t58@hus.edu.vn</a></font></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</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" moz-do-not-send="true">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
The University of Edinburgh is a charitable body,
registered in Scotland, with registration number
SC005336. Is e buidheann carthannais a th’ ann an
Oilthigh Dhùn Èideann, clàraichte an Alba, àireamh
clàraidh SC005336. </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" moz-do-not-send="true">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>