Hong, thanks! That makes perfect sense.
A follow up question about ILU.

The following is the performance of ILU(5). Note that each KPS solving reports 
converged but as the output shows, the preconditioned residual does while true 
residual does not. Is there any way this performance could be improved?
Background: the preconditioning matrix is finite difference generated, and 
should be exact.

-Ling


Time Step 21, time = -491.75, dt = 1

    NL Step =  0, fnorm =  6.98749E+01

    0 KSP preconditioned resid norm 1.684131526824e+04 true resid norm 
6.987489798042e+01 ||r(i)||/||b|| 1.000000000000e+00

    1 KSP preconditioned resid norm 5.970568556551e+02 true resid norm 
6.459553545222e+01 ||r(i)||/||b|| 9.244455064582e-01

    2 KSP preconditioned resid norm 3.349113985192e+02 true resid norm 
7.250836872274e+01 ||r(i)||/||b|| 1.037688366186e+00

    3 KSP preconditioned resid norm 3.290585904777e+01 true resid norm 
1.186282435163e+02 ||r(i)||/||b|| 1.697723316169e+00

    4 KSP preconditioned resid norm 8.530606201233e+00 true resid norm 
4.088729421459e+01 ||r(i)||/||b|| 5.851499665310e-01

  Linear solve converged due to CONVERGED_RTOL iterations 4

    NL Step =  1, fnorm =  4.08788E+01

    0 KSP preconditioned resid norm 1.851047973094e+03 true resid norm 
4.087882723223e+01 ||r(i)||/||b|| 1.000000000000e+00

    1 KSP preconditioned resid norm 3.696809614513e+01 true resid norm 
2.720016413105e+01 ||r(i)||/||b|| 6.653851387793e-01

    2 KSP preconditioned resid norm 5.751891392534e+00 true resid norm 
3.326338240872e+01 ||r(i)||/||b|| 8.137068663873e-01

    3 KSP preconditioned resid norm 8.540729397958e-01 true resid norm 
8.672410748720e+00 ||r(i)||/||b|| 2.121492062249e-01

  Linear solve converged due to CONVERGED_RTOL iterations 3

    NL Step =  2, fnorm =  8.67124E+00

    0 KSP preconditioned resid norm 5.511333966852e+00 true resid norm 
8.671237519593e+00 ||r(i)||/||b|| 1.000000000000e+00

    1 KSP preconditioned resid norm 1.174962622023e+00 true resid norm 
8.731034658309e+00 ||r(i)||/||b|| 1.006896032842e+00

    2 KSP preconditioned resid norm 1.104604471016e+00 true resid norm 
1.018397505468e+01 ||r(i)||/||b|| 1.174454630227e+00

    3 KSP preconditioned resid norm 4.257063674222e-01 true resid norm 
4.023093124996e+00 ||r(i)||/||b|| 4.639583584126e-01

    4 KSP preconditioned resid norm 1.023038868263e-01 true resid norm 
2.365298462869e+00 ||r(i)||/||b|| 2.727751901068e-01

    5 KSP preconditioned resid norm 4.073772638935e-02 true resid norm 
2.302623112025e+00 ||r(i)||/||b|| 2.655472309255e-01

    6 KSP preconditioned resid norm 1.510323179379e-02 true resid norm 
2.300216593521e+00 ||r(i)||/||b|| 2.652697020839e-01

    7 KSP preconditioned resid norm 1.337324816903e-02 true resid norm 
2.300057733345e+00 ||r(i)||/||b|| 2.652513817259e-01

    8 KSP preconditioned resid norm 1.247384902656e-02 true resid norm 
2.300456226062e+00 ||r(i)||/||b|| 2.652973374174e-01

    9 KSP preconditioned resid norm 1.247038855375e-02 true resid norm 
2.300532560993e+00 ||r(i)||/||b|| 2.653061406512e-01

   10 KSP preconditioned resid norm 1.244611343317e-02 true resid norm 
2.299441241514e+00 ||r(i)||/||b|| 2.651802855496e-01

   11 KSP preconditioned resid norm 1.227243209527e-02 true resid norm 
2.273668115236e+00 ||r(i)||/||b|| 2.622080308720e-01

   12 KSP preconditioned resid norm 1.172621459354e-02 true resid norm 
2.113927895437e+00 ||r(i)||/||b|| 2.437861828442e-01

   13 KSP preconditioned resid norm 2.880752338189e-03 true resid norm 
1.076190247720e-01 ||r(i)||/||b|| 1.241103412620e-02

  Linear solve converged due to CONVERGED_RTOL iterations 13

    NL Step =  3, fnorm =  1.59729E-01

    0 KSP preconditioned resid norm 1.676948440854e+03 true resid norm 
1.597288981238e-01 ||r(i)||/||b|| 1.000000000000e+00

    1 KSP preconditioned resid norm 2.266131510513e+00 true resid norm 
1.819663943811e+00 ||r(i)||/||b|| 1.139220244542e+01

    2 KSP preconditioned resid norm 2.239911493901e+00 true resid norm 
1.923976907755e+00 ||r(i)||/||b|| 1.204526501062e+01

    3 KSP preconditioned resid norm 1.446859034276e-01 true resid norm 
8.692945031946e-01 ||r(i)||/||b|| 5.442312026225e+00

  Linear solve converged due to CONVERGED_RTOL iterations 3

    NL Step =  4, fnorm =  1.59564E-01

    0 KSP preconditioned resid norm 1.509663716414e+03 true resid norm 
1.595641817504e-01 ||r(i)||/||b|| 1.000000000000e+00

    1 KSP preconditioned resid norm 1.995956587709e+00 true resid norm 
1.712323298361e+00 ||r(i)||/||b|| 1.073125108390e+01

    2 KSP preconditioned resid norm 1.994336275847e+00 true resid norm 
1.741263472491e+00 ||r(i)||/||b|| 1.091262119975e+01

    3 KSP preconditioned resid norm 1.268035008497e-01 true resid norm 
8.197057317360e-01 ||r(i)||/||b|| 5.137153731769e+00

  Linear solve converged due to CONVERGED_RTOL iterations 3

Nonlinear solve did not converge due to DIVERGED_LINE_SEARCH iterations 4

 Solve Did NOT Converge!



From: Zhang, Hong <hzh...@mcs.anl.gov>
Date: Wednesday, March 27, 2024 at 4:59 PM
To: petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>, Zou, Ling <l...@anl.gov>
Subject: Re: Does ILU(15) still make sense or should just use LU?
Ling,
ILU(level) is used for saving storage space with more computations. Normally, 
we use level=1 or 2. It does not make sense to use level 15. If you have 
sufficient space, LU would be the best.
Hong

________________________________
From: petsc-users <petsc-users-boun...@mcs.anl.gov> on behalf of Zou, Ling via 
petsc-users <petsc-users@mcs.anl.gov>
Sent: Wednesday, March 27, 2024 4:24 PM
To: petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>
Subject: [petsc-users] Does ILU(15) still make sense or should just use LU?


Hi, I’d like to avoid using LU, but in some cases to use ILU and still 
converge, I have to go to ILU(15), i.e., `-pc_factor_levels 15`. Does it still 
make sense, or should I give it up and switch to LU?



For this particular case, ~2k DoF, and both ILU(15) and LU perform similarly in 
terms of wall time.



-Ling

Reply via email to