<div class="gmail_extra">On Sun, Apr 22, 2012 at 11:35 AM, Dominik Szczerba <span dir="ltr">&lt;<a href="mailto:dominik@itis.ethz.ch" target="_blank">dominik@itis.ethz.ch</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">
I do<br>
<br>
VecGhostUpdateBegin(x1, INSERT_VALUES, SCATTER_FORWARD);<br>
VecGhostUpdateEnd(x1, INSERT_VALUES, SCATTER_FORWARD);<br>
<br>
then<br>
<br>
VecCopy(x1,x2)<br>
<br>
to find that x2 does not have correct ghost values and I need to explicitly call<br>
<br>
VecGhostUpdateBegin(x2, INSERT_VALUES, SCATTER_FORWARD);<br>
VecGhostUpdateEnd(x2, INSERT_VALUES, SCATTER_FORWARD);<br>
<br>
Is there a rationale for this behavior? I would suggest to add a note<br>
to the VecCopy man page about it.<br></blockquote><div><br></div><div>VecCopy works for all vector types, and thus does not get extra information for</div><div>a specific type, and a Vec is defined by the global values, not local copies. Moreover,</div>
<div>although VecGhost is available, the recommended paradigm is to use local Vecs and</div><div>GlobalToLocal().</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Thanks<br>
<span class="HOEnZb"><font color="#888888">Dominik<br>
</font></span></blockquote></div><br><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>