[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Further question about PC with Jaocbi Row Sum




Shi,

Suppose I have a diagonal matrix, what is the best way to invert it in PETSc?
Do I have to install the external packages superlu_dist or mumps?
I realized that LU or Cholesky decomposition does not work with MPIAIJ matrices.
I also know the best way is probably to directly call Vector operations directly.
However, I want to keep the same KSPSolve structure so that the same code can be used  for non-diagonal MPIAIJ matrices without changing each call to KSPSolve.
Thank you very much.

Without changing your application code, i.e., keep the same KSPSolve structure,
running it with the option
'-pc_type jacobi'
actually inverts the diagonal matrix, in both sequential and parallel cases.


Install external packages superlu_dist or mumps, then run your code in sequential or parallel with
-ksp_type preonly -pc_type lu -mat_type superlu_dist
(work with mpiaij matrix)
or
-ksp_type preonly -pc_type cholesky -mat_type sbaijmumps
(work with mpisbaij matrix format).

Hong


Shi
Then you may try direct sparse linear solver,
sequential run:
-ksp_type preonly -pc_type cholesky
parallel run (install external packages superlu_dist or mumps):
-ksp_type preonly -pc_type lu -mat_type superlu_dist
or
-ksp_type preonly -pc_type cholesky -mat_type sbaijmumps

Hong





__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com