<div dir="ltr"><div>Hi, </div><div><br></div><div>I am writing to seek your advice regarding a problem I encountered while using multigrid to solve a certain issue.<br></div><div>I am currently using multigrid with the coarse problem solved by PCLU. However, the PC failed randomly with the error below (the value of INFO(2) may differ):<br></div><div><div>```shell</div><div>[ 0] Error reported by MUMPS in numerical factorization phase: INFOG(1)=-9, INFO(2)=36<br></div><div>```</div></div><div><br></div><div>Upon checking the documentation of MUMPS, I discovered that increasing the value of ICNTL(14) may help resolve the issue. Specifically, I set the option -mat_mumps_icntl_14 to a higher value (such as 40), and the error seemed to disappear after I set the value of ICNTL(14) to 80. However, I am still curious as to why MUMPS failed randomly in the first place.<br></div><div><br></div><div>Upon further inspection, I found that the number of nonzeros of the PETSc matrix and the MUMPS matrix were different every time I ran the code. I am now left with the following questions:<br><br>1. What could be causing the number of nonzeros of the MUMPS matrix to change every time I run the code?<br>2. Why is the number of nonzeros of the MUMPS matrix significantly greater than that of the PETSc matrix (as seen in the output of ksp_view, 115025949 vs 7346177)?</div><div>3. Is it possible that the varying number of nonzeros of the MUMPS matrix is the cause of the random failure?</div><div><br>I have attached a test example written in Firedrake. The output of `ksp_view` after running the code twice is included below for your reference.</div><div>In the output, the number of nonzeros of the MUMPS matrix was 115025949 and 115377847, respectively, while that of the PETSc matrix was only 7346177.<br><br><div>```shell</div><div>(complex-int32-mkl) $ mpiexec -n 32 python test_mumps.py -ksp_view ::ascii_info_detail | grep -A3 "type: "<br>  type: preonly<br>  maximum iterations=10000, initial guess is zero<br>  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000.<br>  left preconditioning<br>--<br>  type: lu<br>    out-of-place factorization<br>    tolerance for zero pivot 2.22045e-14<br>    matrix ordering: external<br>--<br>          type: mumps<br>          rows=1050625, cols=1050625<br>          package used to perform factorization: mumps<br>          total: nonzeros=115025949, allocated nonzeros=115025949<br>--<br>    type: mpiaij<br>    rows=1050625, cols=1050625<br>    total: nonzeros=7346177, allocated nonzeros=7346177<br>    total number of mallocs used during MatSetValues calls=0<br>(complex-int32-mkl) $ mpiexec -n 32 python test_mumps.py -ksp_view ::ascii_info_detail | grep -A3 "type: "<br>  type: preonly<br>  maximum iterations=10000, initial guess is zero<br>  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000.<br>  left preconditioning<br>--<br>  type: lu<br>    out-of-place factorization<br>    tolerance for zero pivot 2.22045e-14<br>    matrix ordering: external<br>--<br>          type: mumps<br>          rows=1050625, cols=1050625<br>          package used to perform factorization: mumps<br>          total: nonzeros=115377847, allocated nonzeros=115377847<br>--<br>    type: mpiaij<br>    rows=1050625, cols=1050625<br>    total: nonzeros=7346177, allocated nonzeros=7346177<br>    total number of mallocs used during MatSetValues calls=0<br></div><div>```</div><br>I would greatly appreciate any insights you may have on this matter. Thank you in advance for your time and assistance.<br><br></div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr">Best wishes,<div>Zongze</div></div></div></div></div>