thank you Matt. I will try to figure it out. Non-dimensionalization is certainly something worth to try.<div><br></div><div>Best,</div><div><br></div><div>Ling<br><br><div class="gmail_quote">On Tue, Dec 11, 2012 at 2:41 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tue, Dec 11, 2012 at 1:40 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>

> On Tue, Dec 11, 2012 at 1:34 PM, Zou (Non-US), Ling <<a href="mailto:ling.zou@inl.gov">ling.zou@inl.gov</a>> wrote:<br>
>> Dear All,<br>
>><br>
>> I have recently had an issue using snes_mf_operator. I've tried to figure it<br>
>> out from PETSc manual and PETSc website but didn't get any luck, so I 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 between 0<br>
>> and 1. When PETSc starts to perturb the initial solution of U (which I<br>
>> believe properly set) to approximate the operation of J (dU), the U0 get a<br>
>> perturbation size in the order of 100, which causes problem as U0 has to be<br>
>> smaller than 1.<br>
>><br>
>> From my observation, this same perturbation size, say eps, is applied 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 my<br>
>> initial solution vector and other related PETSc parameters.  <=== Is my<br>
>> guessing right?<br>
>><br>
>> (3)<br>
>> =================================================================<br>
>> My question: I'd like to avoid a perturbation size ~100 on U0, i.e., I 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 on<br>
>> different variables when using snes_mf_operator?<br>
><br>
> Here is a description of the algorithm for calculating h. It seems to<br>
> me a better way to do this<br>
> is to non-dimensionalize first.<br>
<br>
</div></div>I forgot the URL:<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>
<div class="HOEnZb"><div class="h5"><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>
</div></div></blockquote></div><br></div>