| 21635b76 | 31-Mar-2013 |
Jed Brown <jed@59A2.org> |
PCFieldSplit: make Schur complement use normal iterative solver by default
Consider the block system
J = [A B; C D]
where S = D - C A_inner^{-1} B. It is common that if an iterative solve is per
PCFieldSplit: make Schur complement use normal iterative solver by default
Consider the block system
J = [A B; C D]
where S = D - C A_inner^{-1} B. It is common that if an iterative solve is performed with S, that A_inner^{-1} uses the same solver configuration as A^{-1}. PCFieldSplit required this until 514bf10dab8e522ec43f5ccc117d5d97e4aaca18, when the option of a distinct A_inner was added. In that commit, the default inner solver for A^{-1} was (likely unintentionally) changed to KSPPREONLY, as a side-effect of calling MatSchurComplementSetKSP() with no modifications.
This patch reinstates the original default, in which A^{-} = A_inner^{-1} is defined by GMRES instead of PREONLY. Note that it is also common to use PREONLY for S, in which case S may not be used directly, and the user is responsible for setting an inexact method for fieldsplit's A^{-1}.
show more ...
|