On Tue, Dec 11, 2012 at 2:19 PM, Zou (Non-US), Ling <ling.zou at inl.gov> wrote: > Matt, one more question. > > Can I combine the options > -snes_type test > and > -mat_mffd_err 1.e-10 > to see the effect?
I do not understand your question. test does compare the analytic and FD Jacobian actions, but I thought you did not have an analytic action. Matt > 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 >> >> > -- 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
