[petsc-users] Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE

Mark Adams mfadams at lbl.gov
Mon Jul 17 09:22:12 CDT 2017


This makes no sense: -linear_snes_rtol 1.e-60

This is the relative tolerance and so 1.e-14 with double precision about as
low as you want to go. Right? I'm not sure why this converges at all.

Anyway, It looks like your problem get hard after the first time step. Run
with one processor and 'lu' instead of 'asm' for the pc_type. This is a
direct solver. Then I would look at your solution and make sure that it
looks OK. Often poor iterative solver performance is correlated with a
simulations that is bad.

And what kind of equation and discretization is this?


On Mon, Jul 17, 2017 at 10:16 AM, 李瑞 <lirui319 at hnu.edu.cn> wrote:

>
> Dear professor or engineer:
>    I recently attempt to solve the system of equation that consist of two
> sub equations,which are respetivly spatially and timely dependant.The
> structure of equations are likely : F_1(x,y)=0;F_2(w(t),x)=0.and y can be
> explicitly obtained in each time step.We need to pay attention to the first
> equation is a linear equation and the second a  nonlinear equation
> dependent on time.Getting W(t0) by sequentially obtain y and x.
>    When I solve the equation F1 in first time step,the result was
> convergent,but in the second step was not.The answer reveals that:
> >>>In the first time step:
>       ....
>   126 KSP Residual norm 6.505554772167e-03
>   127 KSP Residual norm 2.563866095029e-03
>   128 KSP Residual norm 5.365504095451e-04
>   129 KSP Residual norm 9.699344087450e-05
>   130 KSP Residual norm 2.793539286585e-05
>   131 KSP Residual norm 8.413249813721e-06
>   132 KSP Residual norm 2.488394296066e-06
>   133 KSP Residual norm 1.055822777756e-06
>   134 KSP Residual norm 7.820629842889e-07
> Nonlinear solve converged due to CONVERGED_ITS
>
> >>>In the second time step :
>        ....
>   294 KSP Residual norm 2.632117164436e+03
>   295 KSP Residual norm 2.627315190869e+03
>   296 KSP Residual norm 2.626944159914e+03
>   297 KSP Residual norm 2.625073489387e+03
>   298 KSP Residual norm 2.624035038684e+03
>   299 KSP Residual norm 2.623956156495e+03
>   300 KSP Residual norm 2.623696336837e+03
> Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE
>
> The following code is typing my makefile.
> -linear_ksp_monitor -linear_snes_converged_reason -linear_snes_atol 1.e-4
> -linear_snes_rtol 1.e-60 -linear_ksp_type gmres \
> -linear_ksp_max_it 300 -linear_ksp_atol 1.e-6 -linear_ksp_gmres_restart 90
> -linear_ksp_rtol 1.e-60 \
> -linear_ksp_pc_side right -linear_pc_type asm -linear_pc_asm_type restrict
> -linear_pc_asm_overlap 1 \
> -linear_sub_ksp_type preonly -linear_sub_pc_type lu \
>
>  Is there anything wrong,Pc_type or Krylov method?Can you give me some
> detailed suggestions or other ways to solve my obsession?Thank for your
> heartful help!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170717/a60f2c24/attachment.html>


More information about the petsc-users mailing list