Thank you very much Matt. I have given selfp a try and I am even more convienced that the pressure mass matrix must be implemented!
Regards, Nicolas 2016-12-14 15:24 GMT+01:00 Matthew Knepley <[email protected]>: > On Wed, Dec 14, 2016 at 2:17 AM, Karin&NiKo <[email protected]> wrote: > >> Lawrence, Matt, >> >> I really do share your point. >> Nevertheless there are sometimes good reasons to do things "not the best >> way they should be done", at least in a first time (here PETSc is used >> within a huge fortran-based general purpose finite element solver and build >> and extract the pressure mass matrix is not a straightforward task). >> In the present case, I am looking for "the less worst approach" out of >> the fieldsplit built-in preconditioners. >> And I consider this is not an uninteresting question. >> > > Depending on how diagonally dominant things are, 'selfp' could be an > acceptable replacement for using the mass matrix: > > http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/ > PCFieldSplitSetSchurPre.html#PCFieldSplitSetSchurPre > > Matt > > >> Best regards, >> Nicolas >> >> 2016-12-13 19:41 GMT+01:00 Matthew Knepley <[email protected]>: >> >>> On Tue, Dec 13, 2016 at 10:50 AM, Karin&NiKo <[email protected]> >>> wrote: >>> >>>> Dear Petsc-gurus, >>>> >>>> I am solving Biot's poroelasticity problem : >>>> [image: Images intégrées 1] >>>> >>>> I am using a mixed P2-P1 finite element discretization. >>>> >>>> I am using the fieldsplit framework to solve the linear systems. Here >>>> are the options I am using : >>>> -pc_type fieldsplit >>>> -pc_field_split_type schur >>>> -fieldsplit_0_pc_type gamg >>>> -fieldsplit_0_pc_gamg_threshold -1.0 >>>> -fieldsplit_0_ksp_type gmres >>>> -fieldsplit_0_ksp_monitor >>>> -fieldsplit_1_pc_type sor >>>> -fieldsplit_1_ksp_type gmres >>>> -pc_fieldsplit_schur_factorization_type upper >>>> >>>> >>>> By increasing the mesh size, I get increasing numbers of outer >>>> iterations. >>>> >>>> According to your own experience, among all the features of fieldsplit, >>>> was is the "best" set of preconditioners for this rather classical problem >>>> in order to get an extensible solver (I would like to solve this problem >>>> on some tens millions of unknowns of some hundreds of procs)? >>>> >>> >>> Lawrence is right that you should construct the right preconditioner >>> matrix for the Schur complement, and its probably just something like I + >>> \Delta with >>> the correct multipliers. Without the mass matrix, it will likely be >>> quite bad. It should not take much time to code that up since you already >>> have the mass >>> matrix from your c_0 p term. >>> >>> Matt >>> >>> >>>> Thanks, >>>> Nicolas >>>> >>> >>> >>> >>> -- >>> 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 >>> >> >> > > > -- > 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 >
