<div dir="ltr"><div>Thank you very much Matt.</div><div>I have given selfp a try and I am even more convienced that the pressure mass matrix must be implemented!</div><div><br></div><div>Regards, </div><div>Nicolas</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-12-14 15:24 GMT+01:00 Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Wed, Dec 14, 2016 at 2:17 AM, Karin&NiKo <span dir="ltr"><<a href="mailto:niko.karin@gmail.com" target="_blank">niko.karin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>Lawrence, Matt,</div><div><br></div><div>I really do share your point.</div><div>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). </div><div>In the present case, I am looking for "the less worst approach" out of the fieldsplit built-in preconditioners.</div><div>And I consider this is not an uninteresting question.</div></div></blockquote><div><br></div></span><div>Depending on how diagonally dominant things are, 'selfp' could be an acceptable replacement for using the mass matrix:</div><div><br></div><div> <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCFieldSplitSetSchurPre.html#PCFieldSplitSetSchurPre" target="_blank">http://www.mcs.anl.gov/<wbr>petsc/petsc-current/docs/<wbr>manualpages/PC/<wbr>PCFieldSplitSetSchurPre.html#<wbr>PCFieldSplitSetSchurPre</a></div><div><br></div><div> Matt</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>Best regards,</div><div>Nicolas</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-12-13 19:41 GMT+01:00 Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Tue, Dec 13, 2016 at 10:50 AM, Karin&NiKo <span dir="ltr"><<a href="mailto:niko.karin@gmail.com" target="_blank">niko.karin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>Dear Petsc-gurus,</div><div><br></div><div>I am solving Biot's poroelasticity problem :</div><div> <img width="237" height="54" style="margin-right: 0px;" alt="Images intégrées 1" src="cid:ii_158f8fd5ddeb7876"></div><div><br></div><div>I am using a mixed P2-P1 finite element discretization. </div><div><br></div><div>I am using the fieldsplit framework to solve the linear systems. Here are the options I am using : </div><div>-pc_type fieldsplit<br>-pc_field_split_type schur<br>-fieldsplit_0_pc_type gamg<br>-fieldsplit_0_pc_gamg_threshol<wbr>d -1.0<br>-fieldsplit_0_ksp_type gmres<br>-fieldsplit_0_ksp_monitor<br>-fieldsplit_1_pc_type sor<br>-fieldsplit_1_ksp_type gmres<br>-pc_fieldsplit_schur_factoriza<wbr>tion_type upper<br></div><div><br></div><div><br></div><div>By increasing the mesh size, I get increasing numbers of outer iterations. </div><div><br></div><div>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)?</div></div></blockquote><div><br></div></span><div>Lawrence is right that you should construct the right preconditioner matrix for the Schur complement, and its probably just something like I + \Delta with</div><div>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</div><div>matrix from your c_0 p term.</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>Thanks,</div><div>Nicolas<span class="m_3666982095435208727gmail-m_1568209634689553637HOEnZb"><font color="#888888"><br></font></span></div></div><span class="m_3666982095435208727gmail-m_1568209634689553637HOEnZb"><font color="#888888">
</font></span></blockquote></div><span class="m_3666982095435208727gmail-m_1568209634689553637HOEnZb"><font color="#888888"><br><br clear="all"><span class="m_3666982095435208727gmail-HOEnZb"><font color="#888888"><div><br></div>-- <br><div class="m_3666982095435208727gmail-m_1568209634689553637m_6708119002654854396gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</font></span></font></span></div></div>
</blockquote></div><br></div>
</blockquote></div></div></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br><div class="m_3666982095435208727gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div></div></div>
</blockquote></div><br></div>