Dear Matt! Dear Dave! Thank you for your messages! I pursued your option 1) and the solver I sent is what I ended up with. Thus, I would like to pursue option 2): Find a better preconditioner than the a11 block.
From a technical viewpoint I understand how I would build a matrix that is used as a preconditioner for the Schur complement. But, from a mathematical viewpoint I do not know what to assemble. How do I find a good preconditioner for my problem? How would I tackle such a problem? Thank you! Henrik -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 http://www.eonerc.rwth-aachen.de/GGE hbues...@eonerc.rwth-aachen.de Von: Dave May <dave.mayhe...@gmail.com> Gesendet: Mittwoch, 25. Juli 2018 11:14 An: Matthew Knepley <knep...@gmail.com> Cc: Buesing, Henrik <hbues...@eonerc.rwth-aachen.de>; PETSc <petsc-users@mcs.anl.gov> Betreff: Re: [petsc-users] Fieldsplit - Schur Complement Reduction - Efficient Preconditioner for Schur Complement On 25 July 2018 at 09:48, Matthew Knepley <knep...@gmail.com<mailto:knep...@gmail.com>> wrote: On Wed, Jul 25, 2018 at 4:24 AM Buesing, Henrik <hbues...@eonerc.rwth-aachen.de<mailto:hbues...@eonerc.rwth-aachen.de>> wrote: Dear all, I would like to improve the iterative solver [1]. As I understand it I would need to improve the preconditioner for the Schur complement. How would I do that? 1) I always start from the exact thing (full Schur factorization with exact solves and back off parts until I am happy) 2) Is the a11 block a good preconditioner for your Schur complement? If not, I would start by replacing that matrix with something better. Some additional info. If you want to pursue option 2, you need to do call PCFieldSplitSetSchurPre() http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCFieldSplitSetSchurPre.html#PCFieldSplitSetSchurPre with PC_FIELDSPLIT_SCHUR_PRE_USER<http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCFieldSplitSchurPreType.html#PCFieldSplitSchurPreType> (second arg) and your user defined schur complement preconditioner (last arg). Thanks, Dave Thanks, Matt Thank you for your help! Henrik [1] -ksp_max_it 100 -ksp_rtol 1e-6 -ksp_atol 1e-50 -ksp_type fgmres -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_schur_precondition a11 -fieldsplit_p_w_ksp_type preonly -fieldsplit_S_n_ksp_type gmres -fieldsplit_p_w_pc_type hypre -fieldsplit_p_w_pc_hypre_type boomeramg -fieldsplit_S_n_pc_type hypre -fieldsplit_S_n_pc_hypre_type boomeramg -fieldsplit_S_n_ksp_max_it 100 fieldsplit_S_n_ksp_rtol 1e-2 -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University Mathieustr. 10<https://maps.google.com/?q=Mathieustr.+10&entry=gmail&source=g> | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 http://www.eonerc.rwth-aachen.de/GGE hbues...@eonerc.rwth-aachen.de<mailto:hbues...@eonerc.rwth-aachen.de> -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/<http://www.caam.rice.edu/~mk51/>