ok. I tried. Seems there is no effect.<div><br><div><font size="4">./my-moose-project -i input.i -snes_type test -mat_mffd_umin 1.e-10 -snes_test_display > out</font><br><br>Also, the webpage says: <br><table border="0" cellpadding="0" cellspacing="0" style="color:rgb(0,0,0);font-family:Times;background-color:rgb(255,255,255)">
<tbody><tr><td align="LEFT" valign="TOP"><b>-mat_mffd_unim <umin><br><br></b><span style="background-color:transparent">I am not quite sure if 'unim' is a typo. I tried both 'umin' and 'unim' anyway.<br>
<br>Ling<br><br><br><br>On Tue, Dec 11, 2012 at 3:50 PM, Matthew Knepley </span><span dir="ltr" style="background-color:transparent"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span><span style="background-color:transparent"> wrote:</span></td>
</tr></tbody></table><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Tue, Dec 11, 2012 at 2:40 PM, Zou (Non-US), Ling <<a href="mailto:ling.zou@inl.gov">ling.zou@inl.gov</a>> wrote:<br>

> Hmm... I have an 'approximated' analytical Jacobian to compare. And I did<br>
> this:<br>
><br>
> ./my-moose-project -i input.i -snes_type test -snes_test_display > out<br>
><br>
> I actually found out that the PETSc provided FD Jacobian gives 'nan'<br>
> numbers, while my approximated Jacobian does not give 'nan' at the same<br>
> positions.<br>
><br>
> As we discussed in the previous emails, the perturbation on U0 is too large,<br>
> which makes 'nan' appear in the FD Jacobians. So....I am trying to use a<br>
> smaller '-mat_mffd_err <number here>', to see if I could get an easy fix by<br>
> now, like this,<br>
<br>
</div>I don't think 'err' has anything to do with it. If you read the page I<br>
mailed you, I<br>
believe umin can be made very small.<br>
<br>
   Matt<br>
<div class="HOEnZb"><div class="h5"><br>
> ./my-moose-project -i input.i -snes_type test -md_mffd_err 1.e-10<br>
> -snes_test_display > out<br>
><br>
> seems not working :-(<br>
> no matter what number I give to -md_mffd_err, the print out results seem not<br>
> changed.<br>
><br>
> But of course, non-dimensionalization might be the ultimate solution.<br>
><br>
> Ling<br>
><br>
> On Tue, Dec 11, 2012 at 3:29 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
>><br>
>> On Tue, Dec 11, 2012 at 2:19 PM, Zou (Non-US), Ling <<a href="mailto:ling.zou@inl.gov">ling.zou@inl.gov</a>><br>
>> wrote:<br>
>> > Matt, one more question.<br>
>> ><br>
>> > Can I combine the options<br>
>> > -snes_type test<br>
>> > and<br>
>> > -mat_mffd_err 1.e-10<br>
>> > to see the effect?<br>
>><br>
>> I do not understand your question. test does compare the analytic and<br>
>> FD Jacobian<br>
>> actions, but I thought you did not have an analytic action.<br>
>><br>
>>    Matt<br>
>><br>
>> > Best,<br>
>> ><br>
>> > Ling<br>
>> ><br>
>> ><br>
>> ><br>
>> > On Tue, Dec 11, 2012 at 2:47 PM, Zou (Non-US), Ling <<a href="mailto:ling.zou@inl.gov">ling.zou@inl.gov</a>><br>
>> > wrote:<br>
>> >><br>
>> >> thank you Matt. I will try to figure it out. Non-dimensionalization is<br>
>> >> certainly something worth to try.<br>
>> >><br>
>> >> Best,<br>
>> >><br>
>> >> Ling<br>
>> >><br>
>> >><br>
>> >> On Tue, Dec 11, 2012 at 2:41 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>><br>
>> >> wrote:<br>
>> >>><br>
>> >>> On Tue, Dec 11, 2012 at 1:40 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>><br>
>> >>> wrote:<br>
>> >>> > On Tue, Dec 11, 2012 at 1:34 PM, Zou (Non-US), Ling<br>
>> >>> > <<a href="mailto:ling.zou@inl.gov">ling.zou@inl.gov</a>><br>
>> >>> > wrote:<br>
>> >>> >> Dear All,<br>
>> >>> >><br>
>> >>> >> I have recently had an issue using snes_mf_operator. I've tried to<br>
>> >>> >> figure it<br>
>> >>> >> out from PETSc manual and PETSc website but didn't get any luck, so<br>
>> >>> >> I<br>
>> >>> >> submit<br>
>> >>> >> my question here and hope some one could help me out.<br>
>> >>> >><br>
>> >>> >> (1)<br>
>> >>> >> =================================================================<br>
>> >>> >> A little bit background here: my problem has 7 variables, i.e.,<br>
>> >>> >><br>
>> >>> >> U = [U0, U1, U2, U3, U4, U5, U6]<br>
>> >>> >><br>
>> >>> >> U0 is in the order of 1.<br>
>> >>> >> U1, U2, U4 and U5 in the oder of 100.<br>
>> >>> >> U3 and U6 are in the order of 1.e8.<br>
>> >>> >><br>
>> >>> >> I believe this should be quite common for most PETSc users.<br>
>> >>> >><br>
>> >>> >> (2)<br>
>> >>> >> =================================================================<br>
>> >>> >> My problem here is, U0, by its physical meaning, has to be limited<br>
>> >>> >> between 0<br>
>> >>> >> and 1. When PETSc starts to perturb the initial solution of U<br>
>> >>> >> (which I<br>
>> >>> >> believe properly set) to approximate the operation of J (dU), the<br>
>> >>> >> U0<br>
>> >>> >> get a<br>
>> >>> >> perturbation size in the order of 100, which causes problem as U0<br>
>> >>> >> has<br>
>> >>> >> to be<br>
>> >>> >> smaller than 1.<br>
>> >>> >><br>
>> >>> >> From my observation, this same perturbation size, say eps, is<br>
>> >>> >> applied<br>
>> >>> >> on all<br>
>> >>> >> U0, U1, U2, etc. <=== Is this the default setting?<br>
>> >>> >> I also guess that this eps, in the order of 100, is determined from<br>
>> >>> >> my<br>
>> >>> >> initial solution vector and other related PETSc parameters.  <===<br>
>> >>> >> Is<br>
>> >>> >> my<br>
>> >>> >> guessing right?<br>
>> >>> >><br>
>> >>> >> (3)<br>
>> >>> >> =================================================================<br>
>> >>> >> My question: I'd like to avoid a perturbation size ~100 on U0,<br>
>> >>> >> i.e., I<br>
>> >>> >> have<br>
>> >>> >> to limit it to be ~0.01 (or some small number) to avoid the U0 > 1<br>
>> >>> >> situation. Is there any way to control that?<br>
>> >>> >> Or, is there any advanced option to control the perturbation size<br>
>> >>> >> on<br>
>> >>> >> different variables when using snes_mf_operator?<br>
>> >>> ><br>
>> >>> > Here is a description of the algorithm for calculating h. It seems<br>
>> >>> > to<br>
>> >>> > me a better way to do this<br>
>> >>> > is to non-dimensionalize first.<br>
>> >>><br>
>> >>> I forgot the URL:<br>
>> >>><br>
>> >>><br>
>> >>> <a href="http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatCreateMFFD.html#MatCreateMFFD" target="_blank">http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatCreateMFFD.html#MatCreateMFFD</a><br>

>> >>><br>
>> >>>    Matt<br>
>> >>><br>
>> >>> >    Matt<br>
>> >>> ><br>
>> >>> >><br>
>> >>> >> Hope my explanation is clear. Please let me know if it is not.<br>
>> >>> >><br>
>> >>> >><br>
>> >>> >> Best Regards,<br>
>> >>> >><br>
>> >>> >> Ling<br>
>> >>> >><br>
>> >>> ><br>
>> >>> ><br>
>> >>> ><br>
>> >>> > --<br>
>> >>> > What most experimenters take for granted before they begin their<br>
>> >>> > experiments is infinitely more interesting than any results to which<br>
>> >>> > their experiments lead.<br>
>> >>> > -- Norbert Wiener<br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>> --<br>
>> >>> What most experimenters take for granted before they begin their<br>
>> >>> experiments is infinitely more interesting than any results to which<br>
>> >>> their experiments lead.<br>
>> >>> -- Norbert Wiener<br>
>> >><br>
>> >><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> What most experimenters take for granted before they begin their<br>
>> experiments is infinitely more interesting than any results to which<br>
>> their experiments lead.<br>
>> -- Norbert Wiener<br>
><br>
><br>
<br>
<br>
<br>
--<br>
What most experimenters take for granted before they begin their<br>
experiments is infinitely more interesting than any results to which<br>
their experiments lead.<br>
-- Norbert Wiener<br>
</div></div></blockquote></div><br></div></div>