MUMPS with PETScWrappers::MPI::BlockSparseMatrix

32 views
Skip to first unread message

Konrad

unread,
Sep 6, 2019, 12:25:28 PM9/6/19
to deal.II User Group
Dear deal.ii community,

is it possible to use MUMPS with a PETScWrappers::MPI::BlockSparseMatrix? Don't find anything but I see that PETScWrappers::MPI::BlockSparseMatrix does not inherit from PETScWrappers::MatrixBase.

Best,
Konrad

David Wells

unread,
Sep 6, 2019, 1:46:23 PM9/6/19
to deal.II User Group
Hi Konrad,

I don't think that it is possible to use MUMPS with a block matrix for exactly this reason. I think that if you want to use MUMPS you will need to copy the block matrix into a non-block matrix.

Thanks,
David

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/290c3820-4c09-4515-a2f9-847691627427%40googlegroups.com.

Konrad

unread,
Sep 8, 2019, 9:20:20 AM9/8/19
to deal.II User Group
Thank you, David, so I will see if I can maybe still use it in the Schur complement somehow.

Best,
Konrad


On Friday, September 6, 2019 at 7:46:23 PM UTC+2, David Wells wrote:
Hi Konrad,

I don't think that it is possible to use MUMPS with a block matrix for exactly this reason. I think that if you want to use MUMPS you will need to copy the block matrix into a non-block matrix.

Thanks,
David

On Fri, Sep 6, 2019 at 12:25 PM Konrad <ksimo...@gmail.com> wrote:
Dear deal.ii community,

is it possible to use MUMPS with a PETScWrappers::MPI::BlockSparseMatrix? Don't find anything but I see that PETScWrappers::MPI::BlockSparseMatrix does not inherit from PETScWrappers::MatrixBase.

Best,
Konrad

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dea...@googlegroups.com.

Richard Schussnig

unread,
Sep 9, 2019, 3:24:19 AM9/9/19
to deal.II User Group
Hi Konrad!

You can use the parallel direct solver in the schur complement, for orientation, take a look at step-57 (should be Navier-Stokes with direct solver for the A-block, if im not mistaken).
However, my inferior C++ knowledge did not allow me to do the factorization in the constructor of the 'preconditioner', but you can initialize it before creating the preconditioner and pass it as an argument!
This is considerably faster than doing the factorization inside the preconditioner of course, since you would re-do it every iteration. Nevertheless, this is perfectly fine for testing, to see if it is really doing the job!

Kind regards, Richard
Reply all
Reply to author
Forward
0 new messages