Start with https://petsc.org/release/faq/#why-is-newton-s-method-snes-not-converging-or-converges-slowly

    Next use


On Nov 21, 2024, at 7:11 AM, David Jiawei LUO LIANG <12431140@mail.sustech.edu.cn> wrote:

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" 

when I run the code
  0 SNES Function norm 1.206289245288e+01
  1 SNES Function norm 7.128802192789e+00
  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. 

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. 

I doubt that whether my understanding of the newton iteration is different from SNES's newton iteration process.




David Jiawei LUO LIANG

南方科技大学/学生/研究生/2024

广东省深圳市南山区学苑大道1088号
 
<SNES_heat.cpp>