[petsc-users] how to control snes_mf_operator

Zou (Non-US), Ling ling.zou at inl.gov
Tue Dec 11 15:34:01 CST 2012


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?



Hope my explanation is clear. Please let me know if it is not.


Best Regards,

Ling
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20121211/8eb66997/attachment.html>


More information about the petsc-users mailing list