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>
