[petsc-users] Block Preconditioning
Elias Karabelas
elias.karabelas at medunigraz.at
Thu May 28 11:09:13 CDT 2015
Dear Matt,
sorry but I think I haven't understood points 2 and 3 you mentioned.
Could you be a bit more specific?
Thanks
Elias
On 28.05.2015 18:02, Matthew Knepley wrote:
> On Thu, May 28, 2015 at 10:47 AM, Elias Karabelas
> <elias.karabelas at medunigraz.at <mailto:elias.karabelas at medunigraz.at>>
> wrote:
>
> Dear Members,
>
> I want to solve a Block System arising from the Discretization of
> a stabilized Finite Element Formulation of the Stokes System.
>
> I have the following Block Structure
>
> A -B^T
> B C
>
> The Preconditioner I intend to use is a block preconditioner of
> the Form
>
> A -B^T
> S
>
> where S is an approximation of the Schur Complement. For applying
> the inverse of the schur complement I want to use a Stabilized
> Least Squares Commutator in the form
>
> S^-1 = (B diag(Q)^-1 B^T + C_1)^-1 (B diag(Q)^-1 A diag(Q)^-1 B^T
> + C_2) (B diag(Q)^-1 B^T + C_1)^-1
>
> where Q is the mass matrix and C_1 and C_2 are some additional
> stabilization matrices.
>
> I got from the Manual, that I can use the PCFieldSplit
> preconditioner for generating the general Block preconditioner as
> indicated above. And I also found that I can define some arbitrary
> PC with PCSHELL. My question is, if it is possible to use PCSHELL
> to define the action of S^-1 as indicated above.
>
>
> 1) Use FieldSplit is the right PC to start with. Make sure you can do
> something simple like
>
> A -B^T
> C + B diag(A)^{-1} B^T
>
> with it before we do the more complicated thing.
>
> 2) You will want to implement a PC for the (1,1) block. You can use a
> PCSHELL, which is simpler to setup, but
> that means you will have to manually pull out the FieldSplit KSP
> and set it. If instead you define your own
> PC implementation, its more boilerplate code, but you could
> specify this PC from the command line without
> any FieldSplit specific code in your application.
>
> 3) Your PC will get two matrices, the MatSchurComplement, and the
> preconditioning matrix. If you set Q as the
> preconditioning matrix, or really if you set
>
> A 0
> 0 Q
> as the global preconditioning matrix, then the subsolve for (1,1) will
> get the Schur Complement and Q, and I think
> that is enough to build your Stabilized LSC PC.
>
> Let me know if this makes sense to you.
>
> Thanks,
>
> Matt
>
> Kind Regards
> Elias Karabelas
>
> --
> Elias Karabelas, Ph.D.
>
> Medical University of Graz
> Institute of Biophysics
> Harrachgasse 21/IV
> 8010 Graz, Austria
>
> Phone: +43 316 380 7759 <tel:%2B43%20316%20380%207759>
> Email: elias.karabelas at medunigraz.at
> <mailto:elias.karabelas at medunigraz.at>
> Web : http://forschung.medunigraz.at/fodok/staff?name=EliasKarabelas
>
>
>
>
> --
> 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
--
Elias Karabelas, Ph.D.
Medical University of Graz
Institute of Biophysics
Harrachgasse 21/IV
8010 Graz, Austria
Phone: +43 316 380 7759
Email: elias.karabelas at medunigraz.at
Web : http://forschung.medunigraz.at/fodok/staff?name=EliasKarabelas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150528/954c25a9/attachment.html>
More information about the petsc-users
mailing list