[petsc-users] FieldSplit and Biot's poroelasticity

Matthew Knepley knepley at gmail.com
Wed Dec 14 08:24:20 CST 2016


On Wed, Dec 14, 2016 at 2:17 AM, Karin&NiKo <niko.karin at gmail.com> 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 <knepley at gmail.com>:
>
>> On Tue, Dec 13, 2016 at 10:50 AM, Karin&NiKo <niko.karin at gmail.com>
>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161214/37f79e48/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 9086 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161214/37f79e48/attachment.png>


More information about the petsc-users mailing list