On Mon, Nov 21, 2011 at 9:39 AM, Hui Zhang <span dir="ltr"><<a href="mailto:mike.hui.zhang@hotmail.com">mike.hui.zhang@hotmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
> On Nov 21, 2011, at 8:01 AM, Jed Brown wrote:<br>
><br>
>> On Mon, Nov 21, 2011 at 04:52, Hui Zhang <<a href="mailto:buyong.huier@gmail.com">buyong.huier@gmail.com</a>> wrote:<br>
>> When using DMDAGlobaltoLocal, how can I communicate only the boundary of the<br>
>> ghosted domain (with stecil width larger than one)?<br>
>><br>
>> Only the ghost values are communicated. The interior is all local.<br>
><br>
> I think Hui means DMDALocalToLocalBegin() and DMDALocalToLocalEnd() but normally one doesn't need this with the PETSc solvers, one only needs the DMGlobalToLocalBegin/End()<br>
><br>
> Barry<br>
><br>
<br>
Thank you all!<br>
<br>
I'm actually implementing domain decomposition methods with restricted communication.<br>
>From my understanding, DMDALocalToLocalXX is also communicating all ghost values of<br>
the second Vec. However, in a restricted way, only the ghost points most far away from<br>
the interior are communicated. </blockquote></div><br>No, the communication pattern in the same. You exchange values which are shared by multiple<div>processes. The difference is that LocalToLocal puts values directly into a ghosted local vector,</div>
<div>whereas LoaclToGlobal puts them into a global vector, which is not ghosted.</div><div><br></div><div> Matt<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<br>
</div>