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
