[petsc-dev] Support for projections in petsc solvers

Alejandro Cosimo alecosimo at gmail.com
Thu Oct 1 04:38:42 CDT 2015


Hello everybody,

I'm interested in implementing FETI-1. Regardless of the iterative solver
used for solving the interface problem, before applying the preconditioner
it is required to project the residual and after applying the
preconditioner to the projected residual to re-project again. It could seem
that PCCOMPOSITE could be used in this case, performing the operation
P*M^{-1}*P^T at once over the residual. However, this is not useful for the
general case in FETI-1 because the convergence of the iterative solver must
be checked with the projected residual, that is P^T*r, or in same cases
with M^{-1}*P^T*r, but not with P*M^{-1}*P^T*r. That is why I would need
support for projection and reprojection phases in petsc solvers.

Right now there is no support for that. So, my question: for implementing
the support of the projection and reprojection phases in petsc I would
introduce the functions ApplyProjection and ApplyReProjection to the petsc
implementation in the same way that, for example, ApplyPC is supported.
What do you think about this? Would you proceed like this?

After implementing the support for ApplyProjection and ApplyReProjection, I
would incorporate the behavior to one of the petsc iterative solvers. For
that I would adopt the GMRES solver because it prevents me from
implementing the full re-orthogonalization that is required when CG is
adopted as iterative solver for FETI-1 (something which is not implemented
in petsc CG). In that case, do you recommend me to define a new GMRES in
petsc, or to modify the already exiting GMRES implementation by introducing
the option of performing the phases of projection and reprojection?

Regards,
Alejandro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20151001/981e9e0d/attachment.html>


More information about the petsc-dev mailing list