[petsc-users] Recomputing ksp
Barry Smith
bsmith at mcs.anl.gov
Thu Jul 9 14:43:19 CDT 2015
By default in the last two PETSc releases KSP automatically updates the preconditioner whenever the matrix you set with KSPSetOperators() has been changed. That is you have to do nothing and PETSc will recompute the preconditioner as needed. If you wish to keep the same preconditioner even though the matrix has changed then you can use KSPSetReusePreconditioner(ksp,PETSC_TRUE) and it will keep using the same preconditioner until you call KSPSetReusePreconditioner(ksp,PETSC_FALSE) which will switch back to the default mode.
You only need to destroy the KSP or call KSPReset() when you change the size of the vectors or matrices.
Barry
> On Jul 9, 2015, at 12:20 PM, Michele Rosso <mrosso at uci.edu> wrote:
>
> Hi,
>
> I need to recompute the preconditioner every once in a while. So far I do this "manually", i.e. I destroy ksp and re-create and reset it whenever needed.
> I am wondering if there is a cleaner way of doing this via a PETSc function. I found KSPreset but there are no examples about it so I am not sure it is what I am looking for.
> Could you help please?
>
>
> Thanks,
> Michele
More information about the petsc-users
mailing list