Laslo,
An reordering of matrix changes matrix sparse pattern,
then the factored matrix cannot be stored in the original matrix.
Here is the notes from petsc MatILUFactor():
Notes:
Probably really in-place only when level of fill is zero, otherwise
allocates
new space to store factored matrix and deletes previous memory.
i.e., except ilu(0) without reordering, petsc inplace ilu()
virtually computes a new factor, and deletes the previous memory.
You may use petsc out-place ilu, and call MatDestroy()
to delete your original matrix.
In otherwords, Petsc only supports in place ILU(0) without reordering.
The idea behind doing an in place factorization is so that I don't use
twice as much memory to store my matrix (ie the original matrix and the
ILU factored matrix).
Is in place ILU factorization with reordering going to be supported by
Petsc anytime in the near future or is there an easy work around so I can
get this to work?
We can add this support. As mentioned above, the factored matrix
will be newly allocated with the original memory deleted.
Hong