<meta http-equiv="Content-Type" content="text/html; charset=GB18030"><div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Sir, I have a problem when using petsc.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">I want to solve a series of linear equations.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">A1*x1=b1, A2*x2=b2, A3*x3=b3 ...</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">The A1,A2,A3 have the same sparstiy pattern.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">I want to use MUMPS to solve the system.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">In order to enhance performance, I want to reuse the symbolic factorization.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Here my code for solve a single linear system is</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">-----------------------------------------------------</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Mat A, P, F;</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">PC pc;</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Vec rhs_vec, result_vec;</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">KSPSetOperators(ksp, A, A);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">KSPSetType(ksp, KSPPREONLY);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">KSPGetPC(ksp, &pc);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">PCSetType(pc, PCLU);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">PCFactorSetMatSolverType(pc, MATSOLVERMUMPS);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">PCFactorSetUpMatSolverType(pc);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">PCFactorGetMatrix(pc, &F);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">MatMumpsSetIcntl(F, 7, 5); // configure mumps.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">KSPSolve(ksp, rhs_vec, result_vec);</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">-----------------------------------------------------</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">I have no idea how to reuse symbolic factorization when using MUMPS.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">I have see the information from interent. The petsc developper have suggested that using:</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">KSPSetOperators(KSP_A, A, A, DIFFERENT_NONZERO_PATTERN)</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">KSPSetOperators(KSP_A, A, A, SAME_NONZERO_PATTERN)</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">However, this API seems depreacted.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">see <a href="https://lists.mcs.anl.gov/pipermail/petsc-users/2013-March/016646.html" rel="noopener" target="_blank" style="outline: none; cursor: pointer; color: rgb(0, 102, 153);">https://lists.mcs.anl.gov/pipermail/petsc-users/2013-March/016646.html</a></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">I have see there exist API: MatLUFactorSymbolic,  MatLUFactorNumeric(). but I have no idea how to call it.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Could you please give me an example how to reuse the symbolic factorization when using MUMPS in petsc?</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Thanks for your time.</div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";"><br></div><div style="font-family: "lucida Grande", Verdana, "Microsoft YaHei";">Xu Hui</div></div><div><br></div><div><div style="font-size:14px;font-family:Verdana;color:#000;"><div><div style="font-family: Verdana;"><div><br></div></div></div>


</div></div><div> </div>