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
<[email protected] <mailto:[email protected]>>
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: [email protected]
<mailto:[email protected]>
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: [email protected]
Web : http://forschung.medunigraz.at/fodok/staff?name=EliasKarabelas