Greetings,

Nothing new, in that I am trying to work with the PETSc and deal.II. Here
goes with the problem I face...

I have a block matrix (elastic-electric equations) which look like:

(A B)
(C D)

where A and B are symmetric square matrices and B and C are rectangular.
Obviously I would like to solve this system; though since D is not zero
(such as in, for example, step-20) I can not use the techniques given by
the deal.II tutorial. Jaka szkoda...   :-)

(i) One option is to solve the entire matrix. This is fine for me to
start, but it seems that the PETScWrappers do not allow this type of
matrix (dealii::PETScWrappers::MPI::BlockSparseMatrix) to be passed to the
GMRES solver; for example. Can this be fixed by template argument or
instantiation in the petsc_solver.*? The use of "Blocks" is specific to
deal.II right? All PETSc "sees" is another matrix to play with...

(ii) A second option is to compute the Schur complement using a
matrix-matrix solver, which can always be constructed, and is not too
difficult to do so (PETSc has one of these and it only needs to provide
an appropriate wrapper which would use the petsc_full_matrix class).

Any guesses which is the way to go? (i) or (ii), both, or even a (iii)??

I am interested in short-term solutions (getting a quick answer before
the sun comes up tomorrow) and long term solutions (hacking and
testing and then getting a fast, stable, and resusable algorithm).

A few words of guidance, or a pointer to the lierature, if you can, would
be greatly appreciated.

Best,
        Toby

-----

Toby D. Young
Assistant Professor

Institute of Fundamental Technological Problems
Polish Academy of Sciences
ul Adolfa Pawinskiego 5b
02-106 Warsaw
Poland

www:   http://www.ippt.gov.pl/~tyoung
skype: stenografia

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to