Coincidentally, Matt. I am gonna write the 2d heat dynamic problem.
Now I still not that much understand how DM mesh works. It is a good chance to learn DM by studying your example. Hope you the best! David Jiawei LUO LIANG 南方科技大学/学生/研究生/2024 广东省深圳市南山区学苑大道1088号 ------------------ Original ------------------ From: "Matthew Knepley"<knep...@gmail.com>; Date: Thu, Nov 21, 2024 11:37 PM To: "Jed Brown"<j...@jedbrown.org>; Cc: "David Jiawei LUO LIANG"<12431...@mail.sustech.edu.cn>; "petsc-users"<petsc-users@mcs.anl.gov>; Subject: Re: [petsc-users] Cannot iterate well when using Newton iteration of SNES One more suggestion email. I solve the linear version myself in ts/tutorials/ex45.c Thanks, Matt On Thu, Nov 21, 2024 at 10:35 AM Jed Brown <j...@jedbrown.org> wrote: You should add VecZeroEntries(f) near the top of your FormFunction (it's currently accumulating into whatever was there last) and MatZeroEntries(B) to FormJacobian. I reduced to nElem = 5 for ease of viewing. With these changes, I see quadratic convergence but the problem is still nonlinear. To explore further, consider using these diagnostics ./SNES_heat -{snes,ksp}_monitor -{snes,ksp}_converged_reason -snes_linesearch_monitor -ksp_view_mat with and without -snes_fd. For readability, I would suggest consistency in "u" vs "x". "David Jiawei LUO LIANG" <12431...@mail.sustech.edu.cn> writes: > I am using the Newton iteration to solve a nonlinear 1D heat equation problem by using FEM. > > > I attached my source code named "SNES_heat.cpp"&nbsp; > > > when I run the code > > &nbsp; 0 SNES Function norm 1.206289245288e+01 > > &nbsp; 1 SNES Function norm 7.128802192789e+00 > > &nbsp; 2 SNES Function norm 6.608812909525e+00 > > > > you can find that it only iterate 3 steps, and then do all the function evaluation and finally just stop the program.&nbsp; > > > I think it is not reasonble. I check my code, it is correct if I set it as a linear problem. it means my Jacobian and Residual function is correct. > > > But when I set it as a nonlinear, the residual seems reduces as not expected.&nbsp; > > > I doubt that whether my understanding of the newton iteration is different from SNES's newton iteration process. > > > > > > > > > David Jiawei LUO LIANG > > > > 南方科技大学/学生/研究生/2024 > > > > 广东省深圳市南山区学苑大道1088号 > > > > > &nbsp; -- 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 https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!dSL2GSpljTIMB0tcY__f9j77VbVzQe3qtLiTf_zyXLkjYGis3L_HhIi6Zd3Xebfl90gusl7j3fAmWfqFsna4Ipv55wHVlbA1$