OFFICIAL USE ONLY / À USAGE EXCLUSIF I’d like to unsubscribe to this mailing list.
Thanks. ~ Sharon From: petsc-users <petsc-users-boun...@mcs.anl.gov> On Behalf Of Barry Smith Sent: Thursday, March 28, 2024 3:26 PM To: Zou, Ling <l...@anl.gov> Cc: petsc-users@mcs.anl.gov Subject: [External] Re: [petsc-users] Does ILU(15) still make sense or should just use LU? You may benefit from a literature search on your model AND preconditioners to see what others have used. But I would try PETSc/MUMPS on the biggest size you want and see how it goes (better it runs for a little longer and you don't waste months ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. Do not open attachments or click links from unknown senders or unexpected email Report Suspicious <https://us-phishalarm-ewt.proofpoint.com/EWT/v1/I4HAk28DiqjYeRyS71U!1R4lyukC3Ed5L2o7iduV5poB6rBS6qdB-U1FW_TqIgjA_xzIUeaCsMG8LclAzVjZorV7mIx3TwCgK1k7a-ev1Mjdfhq6a4ReIg_cpA$> ZjQcmQRYFpfptBannerEnd You may benefit from a literature search on your model AND preconditioners to see what others have used. But I would try PETSc/MUMPS on the biggest size you want and see how it goes (better it runs for a little longer and you don't waste months ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. ZjQcmQRYFpfptBannerEnd You may benefit from a literature search on your model AND preconditioners to see what others have used. But I would try PETSc/MUMPS on the biggest size you want and see how it goes (better it runs for a little longer and you don't waste months trying to find a good preconditioner). On Mar 28, 2024, at 2:20 PM, Zou, Ling <l...@anl.gov<mailto:l...@anl.gov>> wrote: Thank you, Barry. Yes, I have tried different preconditioners, but in a naïve way, i.e., looping through possible options using `-pc_type <option>` command line. But no, not in a meaningful way because the lack of understanding of the connection between physics (the problem we are dealing with) to math (the correct combination of those preconditioners). -Ling From: Barry Smith <bsm...@petsc.dev<mailto:bsm...@petsc.dev>> Date: Thursday, March 28, 2024 at 1:09 PM To: Zou, Ling <l...@anl.gov<mailto:l...@anl.gov>> Cc: Zhang, Hong <hzh...@mcs.anl.gov<mailto:hzh...@mcs.anl.gov>>, petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov> <petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> Subject: Re: [petsc-users] Does ILU(15) still make sense or should just use LU? 1 million is possible for direct solvers using PETSc with the MUMPS direct solver when you cannot get a preconditioner to work well for your problems. ILU are not very robust preconditioners and I would not rely on them. Have you investigated ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. ZjQcmQRYFpfptBannerEnd 1 million is possible for direct solvers using PETSc with the MUMPS direct solver when you cannot get a preconditioner to work well for your problems. ILU are not very robust preconditioners and I would not rely on them. Have you investigated other preconditioners in PETSc, PCGAMG, PCASM, PCFIELDSPLIT or some combination of these preconditioners work for many problems, though certainly not all. On Mar 28, 2024, at 1:14 PM, Zou, Ling <l...@anl.gov<mailto:l...@anl.gov>> wrote: Thank you, Barry. Yeah, this is unfortunate given that the problem we are handling is quite heterogeneous (in both mesh and physics). I expect that our problem sizes will be mostly smaller than 1 million DOF, should LU still be a practical solution? Can it scale well if we choose to run the problem in a parallel way? PS1: -ksp_norm_type unpreconditioned did not work as the true residual did not go down, even with 300 linear iterations. PS2: what do you think if it will be beneficial to have more detailed discussions (e.g., a presentation?) on the problem we are solving to seek more advice? -Ling From: Barry Smith <bsm...@petsc.dev<mailto:bsm...@petsc.dev>> Date: Thursday, March 28, 2024 at 11:14 AM To: Zou, Ling <l...@anl.gov<mailto:l...@anl.gov>> Cc: Zhang, Hong <hzh...@mcs.anl.gov<mailto:hzh...@mcs.anl.gov>>, petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov> <petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> Subject: Re: [petsc-users] Does ILU(15) still make sense or should just use LU? This is a bad situation, the solver is not really converging. This can happen with ILU() sometimes, it so badly scales things that the preconditioned residual decreases a lot but the true residual is not really getting smaller. Since your matrices ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. ZjQcmQRYFpfptBannerEnd This is a bad situation, the solver is not really converging. This can happen with ILU() sometimes, it so badly scales things that the preconditioned residual decreases a lot but the true residual is not really getting smaller. Since your matrices are small best to stick to LU. You can use -ksp_norm_type unpreconditioned to force the convergence test to use the true residual for a convergence test and the solver will discover that it is not converging. Barry On Mar 28, 2024, at 11:43 AM, Zou, Ling via petsc-users <petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> wrote: 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<mailto:hzh...@mcs.anl.gov>> Date: Wednesday, March 27, 2024 at 4:59 PM To: petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov> <petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>>, Zou, Ling <l...@anl.gov<mailto: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<mailto:petsc-users-boun...@mcs.anl.gov>> on behalf of Zou, Ling via petsc-users <petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> Sent: Wednesday, March 27, 2024 4:24 PM To: petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov> <petsc-users@mcs.anl.gov<mailto: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 This email is confidential between the sender and the intended recipient specified in the message, and may contain proprietary or otherwise protected information of the intended parties. If you received this email in error, please notify the sender immediately and confirm you have deleted this message. Any unauthorized review, disclosure, retransmission, dissemination or other use of or reliance on this information may be unlawful and is strictly prohibited.