[petsc-users] ILU, ASM, GMRES and memory
francois pacull
fpacull at fluorem.com
Fri Feb 18 09:22:09 CST 2011
Dear PETSc team,
I am using a gmres solver along with an additive Schwarz preconditioner
and an ILU factorization within the sub-domains: ksp GMRES + pc ASM +
subksp PREONLY + subpc ILU (MAT_SOLVER_PETSC). Also, I am using a
preconditioner matrix Pmat that is different from the linear system
operator matrix Amat.
So, from my understanding, just after the end of the ILU factorization
(for example, just after a call to PCSetUp(subpc) and before a call to
KSPSolve(ksp,...)), the rank i process holds in the memory:
1 - the local rows of Amat (ksp&pc's linear system matrix)
2 - the local rows of Pmat (ksp&pc's precond matrix)
3 - the sub-domain preconditioner operator, P[i], which is the local
diagonal block of Pmat augmented with the overlap (subksp&subpc's
matrix, linear system matrix = precond matrix)
4 - the incomplete factorization of P[i] (subpc's ILU matrix)
Is it correct?
If it is, how can I destroy parts 2 and 3, Pmat and the P[i]'s, in order
to save some memory space for the Arnoldi vectors?
When Pmat is destroyed with MatDestroy, its corresponding memory space
seems to be actually freed only when the ksp is destroyed?
From what I remember, PCFactorSetUseInPlace will destroy the P[i]'s,
but under the constraints that there is no fill-in and the natural
matrix ordering is used?
Thanks for your help,
francois.
More information about the petsc-users
mailing list