Run with -snes_monitor and -ksp_monitor_true_residual and send the output

> On Sep 20, 2023, at 9:34 AM, Harry-Arthur Cousin <harry-art...@hotmail.fr> 
> wrote:
> 
> Hello,
> 
> I'm on petsc version 3.4.5.
> 
> My program has a time loop where I have to solve a non-linear system of the 
> form F(X) = D*L*J + I + kappa(X) where X is an unknown vector, D and L are 
> diagonal square matrices, J is a vector that can be calculated by solving a 
> linear system with X and kappa is a non-linear application. I use the 
> "-snes_mf" option to, as I understand it, approximate the Jacobian using 
> finite differences.
> 
> A first version of my problem could be solved, so I made it more complex by 
> changing the values of the matrix L, which used to have the same value on the 
> whole diagonal and now has values of the same order of magnitude but 
> different. This second version takes longer and doesn't converge after a 
> while. I get the message: Nonlinear solve did not converge due to 
> DIVERGED_LINEAR_SOLVE. However, when I look at the faq 
> (https://petsc.org/release/faq/#why-is-newton-s-method-snes-not-converging-or-converges-slowly),
>  it indicates that it's probably a Jacobian problem. What should I do? Do I 
> have to calculate the explicit Jacobian? The explicit Jacobian requires the 
> inversion of a matrix (due to the linear system for solving J).
> 
> 
> Kind regards,
> 
> Harry Cousin

Reply via email to