On Mon, Nov 21, 2011 at 9:39 AM, Hui Zhang <span dir="ltr">&lt;<a href="mailto:mike.hui.zhang@hotmail.com">mike.hui.zhang@hotmail.com</a>&gt;</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>
&gt; On Nov 21, 2011, at 8:01 AM, Jed Brown wrote:<br>
&gt;<br>
&gt;&gt; On Mon, Nov 21, 2011 at 04:52, Hui Zhang &lt;<a href="mailto:buyong.huier@gmail.com">buyong.huier@gmail.com</a>&gt; wrote:<br>
&gt;&gt; When using DMDAGlobaltoLocal, how can I communicate only the boundary of the<br>
&gt;&gt; ghosted domain (with stecil width larger than one)?<br>
&gt;&gt;<br>
&gt;&gt; Only the ghost values are communicated. The interior is all local.<br>
&gt;<br>
&gt;   I think Hui means DMDALocalToLocalBegin() and DMDALocalToLocalEnd() but normally one doesn&#39;t need this with the PETSc solvers, one only needs the DMGlobalToLocalBegin/End()<br>
&gt;<br>
&gt;   Barry<br>
&gt;<br>
<br>
Thank you all!<br>
<br>
I&#39;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>