<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 7, 2013 at 5:11 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Lulu Liu <<a href="mailto:lulu.liu@kaust.edu.sa">lulu.liu@kaust.edu.sa</a>> writes:<br>

<br>
> The Jacobian of the nonlinear system (unknowns are p,s) has the form of J=[<br>
> Jpp,Jps;Jsp,Jss].<br>
> However, I want to compute each block of Jacobian at different points.<br>
> Jpp at x=(p1,s1); Jps at x(p2,s2);<br>
> Is it possible to approximate each block (evaluated at different points)<br>
> using FD? I have the residual expression for the nonlinear system:<br>
> f[j][i].p=....<br>
> f[j][i].S=....<br>
<br>
</div></div>You can use MatFDColoring, but you'll have to write separate functions<br>
for each part (fp(p;S), fp(S;p), fS(p;S), fS(S;p)).  Those could be<br>
wrappers around a function that evaluates the whole f(p,S).<br>
</blockquote></div><br>Sorry, I still feel confused. Is there any example to show how to do this?</div><div class="gmail_extra"><br></div><div class="gmail_extra">If I have separate functions for each part, how to wrapper them into a function?</div>
<div class="gmail_extra">For example, how could tell PETSc to use the function fp(S;p) when the block Jps is computed?</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks!<br clear="all"><div><br></div>

</div></div>

<br>
<div><hr></div><font face="Arial" size="1">This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.</font>