[petsc-users] how to control snes_mf_operator

Matthew Knepley knepley at gmail.com
Tue Dec 11 15:41:00 CST 2012


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


More information about the petsc-users mailing list