<div dir="ltr">On Wed, Sep 25, 2013 at 4:55 AM, Christophe Ortiz <span dir="ltr"><<a href="mailto:christophe.ortiz@ciemat.es" target="_blank">christophe.ortiz@ciemat.es</a>></span> wrote:<br><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br>
<br><br><div class="gmail_quote">On Wed, Sep 25, 2013 at 1:46 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><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>On Wed, Sep 25, 2013 at 4:40 AM, Christophe Ortiz <span dir="ltr"><<a href="mailto:christophe.ortiz@ciemat.es" target="_blank">christophe.ortiz@ciemat.es</a>></span> wrote:<br></div><div class="gmail_extra">


<div class="gmail_quote"><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">Hi Matt,<div>

Thanks for your prompt reply.<br><div class="gmail_extra"><br><div class="gmail_quote">
On Wed, Sep 25, 2013 at 1:34 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br>
<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>On Wed, Sep 25, 2013 at 4:31 AM, Christophe Ortiz <span dir="ltr"><<a href="mailto:christophe.ortiz@ciemat.es" target="_blank">christophe.ortiz@ciemat.es</a>></span> wrote:<br>



</div><div class="gmail_extra">
<div class="gmail_quote"><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 style="font-family:arial,sans-serif;font-size:13.333333969116211px">



Hi guys,</div>
<div style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br></div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px">
Please apologize if this question has already been raised in previous posts.</div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br></div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px">





I am developing a code in fortran 90 to solve a 1D multicomponent problem.</div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px"><div class="gmail_extra">For instance, something like</div><div class="gmail_extra">





<br></div><div class="gmail_extra">u_t = u_xx + R(u,v)</div><div class="gmail_extra">v_t = v_xx + R(u,v)</div></div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br></div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px">





I have already implemented this for one component (u) and using DMDA. So far no problem. It works fine.<br></div><div style="font-family:arial,sans-serif;font-size:13.333333969116211px"><div class="gmail_extra"><br></div>





<div class="gmail_extra">Now I am trying to implement several components per node. Following example ex22f.F, for the residual function I would have for node i (1D)</div><div class="gmail_extra"><br></div><div class="gmail_extra">





F(1,i) = ....</div><div class="gmail_extra">F(2,i) = ....</div><div class="gmail_extra"><br></div><div class="gmail_extra">Now, I am not quite sure to understand how to construct the Jacobian when there are various components. In this case, how is the vector in PETSc ?</div>




</div></div></blockquote><div><br></div></div><div>The Jacobian is a matrix, and the rows are ordered in the same way as in the residual function. The columns are the same as the rows.</div></div></div></div></blockquote>



<div><br></div><div>Yes, I understand this for one component. My question is when you have dof > 1. For a multicomponent problem you can write the residual function as an array:</div><div><br></div><div>F(1,i) =...           (component 1)</div>



<div>F(2,i) = ...          (component 2)</div><div><br></div><div>Since there is only one Jacobian for the whole system, how are the components of the Jacobian ordered in that case ? Is it first the components of u, then the components of v ?</div>


</div></div></div></div></blockquote><div><br></div></div><div>The ordering of the rows (and columns) of the Jacobian match the rows of the residual EVEN in the multicomponent case.</div><div><br></div><div>   Matt</div>

<div><div> </div></div></div></div></div></blockquote><div><br></div><div>Ok. But what I still don't understand is the ordering of the residual in the multicomponent case. Let's say dof=2, components u and v. Which is the correct ordering in the following ?</div>

<div><br></div><div>Fu0, Fu1, Fu2,...Fumx-1, Fv0, Fv1, Fv2, ...Fvmx-1</div><div><br></div><div>or</div><div><br></div><div>Fu0, Fv0, Fu1, Fv1, Fu2, Fv2, ...    ?</div></div></div></div></blockquote><div><br></div><div>This one.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>It is this point that is not clear to me.</div>

<div><br></div><div>Also, which subroutine do you advice to use to fill in the Matrix ? MatSetValues ? MatSetValuesBlocked ?</div></div></div></div></blockquote><div><br></div><div>MatSetValuesStencil.</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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="HOEnZb"><font color="#888888"><div>
Christophe</div><div><br></div><div> </div></font></span></div></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>