<div dir="ltr">On Fri, May 24, 2013 at 12:53 PM, Zou (Non-US), Ling <span dir="ltr"><<a href="mailto:ling.zou@inl.gov" target="_blank">ling.zou@inl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi All,<div><br></div><div>For a 1-D problem with multiple variables (u, v, w), it is natural to put those unknowns in a Vec for SNES to solve, like,</div>
<div><br></div><div>u0, v0, w0, u1, v1, w1, ... uN, vN, wN</div>
<div><br></div><div>as it would reduce the band width of the Jacobian matrix.</div><div><br></div><div>When passing this kind of structure to FormFunction, it is however not convenient to access values as you need to jump around to get u(i-1), u(i) and u(i+1). It is more convenient to have the structure in an order like</div>

<div><br></div><div>u0, u1, ... uN, v0, v1, ... vN, w0, w1, ... wN</div></div></blockquote><div><br></div><div style>No, not at all. That will kill your cache coherence, and generally be very bad. You can still index as you want, just</div>
<div style>use DMDAVecGetArrayDOF(), so that you get</div><div style><br></div><div style>  f[i-1][j][0] --> f_u(i-1,j)</div><div>  f[i][j+1][2] --> f_w(i,j+1)</div><div><br></div><div style>   Matt</div><div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Thus I need some way to map b/w them. I looked at the manual, it seems that AO is probably the thing I am looking for. However, there are no specific examples for them. I also tried VecScatter, split the original Vec to three Vec(s), however, I am not quite sure if it is the right concept to use for this kind of scenario.</div>

<div><br></div><div>Does anyone have experience on this topic (I bet it is quite common).</div><div><br></div><div><br></div><div>Best,</div><div><br></div><div>Ling</div></div>
</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
</div></div>