[petsc-users] how to control snes_mf_operator

Zou (Non-US), Ling ling.zou at inl.gov
Tue Dec 11 16:19:31 CST 2012


Matt, one more question.

Can I combine the options
-snes_type test
and
-mat_mffd_err 1.e-10
to see the effect?

Best,

Ling



On Tue, Dec 11, 2012 at 2:47 PM, Zou (Non-US), Ling <ling.zou at inl.gov>wrote:

> thank you Matt. I will try to figure it out. Non-dimensionalization is
> certainly something worth to try.
>
> Best,
>
> Ling
>
>
> On Tue, Dec 11, 2012 at 2:41 PM, Matthew Knepley <knepley at gmail.com>wrote:
>
>> On Tue, Dec 11, 2012 at 1:40 PM, Matthew Knepley <knepley at gmail.com>
>> wrote:
>> > On Tue, Dec 11, 2012 at 1:34 PM, Zou (Non-US), Ling <ling.zou at inl.gov>
>> wrote:
>> >> Dear All,
>> >>
>> >> I have recently had an issue using snes_mf_operator. I've tried to
>> figure it
>> >> out from PETSc manual and PETSc website but didn't get any luck, so I
>> submit
>> >> my question here and hope some one could help me out.
>> >>
>> >> (1)
>> >> =================================================================
>> >> A little bit background here: my problem has 7 variables, i.e.,
>> >>
>> >> U = [U0, U1, U2, U3, U4, U5, U6]
>> >>
>> >> U0 is in the order of 1.
>> >> U1, U2, U4 and U5 in the oder of 100.
>> >> U3 and U6 are in the order of 1.e8.
>> >>
>> >> I believe this should be quite common for most PETSc users.
>> >>
>> >> (2)
>> >> =================================================================
>> >> My problem here is, U0, by its physical meaning, has to be limited
>> between 0
>> >> and 1. When PETSc starts to perturb the initial solution of U (which I
>> >> believe properly set) to approximate the operation of J (dU), the U0
>> get a
>> >> perturbation size in the order of 100, which causes problem as U0 has
>> to be
>> >> smaller than 1.
>> >>
>> >> From my observation, this same perturbation size, say eps, is applied
>> on all
>> >> U0, U1, U2, etc. <=== Is this the default setting?
>> >> I also guess that this eps, in the order of 100, is determined from my
>> >> initial solution vector and other related PETSc parameters.  <=== Is my
>> >> guessing right?
>> >>
>> >> (3)
>> >> =================================================================
>> >> My question: I'd like to avoid a perturbation size ~100 on U0, i.e., I
>> have
>> >> to limit it to be ~0.01 (or some small number) to avoid the U0 > 1
>> >> situation. Is there any way to control that?
>> >> Or, is there any advanced option to control the perturbation size on
>> >> different variables when using snes_mf_operator?
>> >
>> > Here is a description of the algorithm for calculating h. It seems to
>> > me a better way to do this
>> > is to non-dimensionalize first.
>>
>> I forgot the URL:
>>
>> http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatCreateMFFD.html#MatCreateMFFD
>>
>>    Matt
>>
>> >    Matt
>> >
>> >>
>> >> Hope my explanation is clear. Please let me know if it is not.
>> >>
>> >>
>> >> Best Regards,
>> >>
>> >> Ling
>> >>
>> >
>> >
>> >
>> > --
>> > What most experimenters take for granted before they begin their
>> > experiments is infinitely more interesting than any results to which
>> > their experiments lead.
>> > -- Norbert Wiener
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which
>> their experiments lead.
>> -- Norbert Wiener
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20121211/3dec4559/attachment-0001.html>


More information about the petsc-users mailing list