<div dir="ltr">Hi,<div><br></div><div>I'm trying to solve a linear system in parallel using SuperLU but for some reason, it's not giving me the correct solution. I'm testing on a small example so I can compare the sequential and parallel cases manually. I'm absolutely sure that my routine for generating the matrix and right-hand side in parallel is working correctly.</div>
<div><br></div><div>Running with 1 process and PCLU gives the correct solution. Running with 2 processes and using SUPERLU_DIST does not give the correct solution (I tried with 1 process too but according to the superlu documentation, I would need SUPERLU for sequential?). This is the code for solving the system:</div>
<div><br></div><div><div>        /* solve the system */</div><div><span class="" style="white-space:pre">       </span>KSPCreate(PETSC_COMM_WORLD, &ksp);</div><div><span class="" style="white-space:pre">     </span>KSPSetOperators(ksp, Aglobal, Aglobal, DIFFERENT_NONZERO_PATTERN);</div>
<div><span class="" style="white-space:pre">    </span>KSPSetType(ksp,KSPPREONLY);</div><div><br></div><div><span class="" style="white-space:pre">       </span>KSPGetPC(ksp, &pc);</div><div><br></div><div><span class="" style="white-space:pre">   </span>KSPSetTolerances(ksp, 1.e-13, PETSC_DEFAULT, PETSC_DEFAULT, PETSC_DEFAULT);</div>
<div><span class="" style="white-space:pre">    </span>PCFactorSetMatSolverPackage(pc, MATSOLVERSUPERLU_DIST);</div><div><br></div><div><span class="" style="white-space:pre">   </span>KSPSolve(ksp, bglobal, bglobal);</div></div>
<div><br></div><div>Sincerely,</div><div>Justin</div><div><br></div><div><br></div></div>