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>
