Massively parallel & inverse matrix solver

31 views
Skip to first unread message

Hermes Sampedro

unread,
Sep 1, 2021, 11:53:00 AM9/1/21
to deal.II User Group
Dear all,

I am trying to solve a similar problem as step-29 but including the massive parallel solution as presented in step-40.
I would like to ask how the solve() function would be in this case.

In step-29:
//LU decomposition and inverse matrix
SparseDirectUMFPACK A_direct;
A_direct.initialize(system_matrix);

//Solve with inverse matrix
A_direct.vmult(solution, system_rhs);

When applying massive parallel computations, my initial guess was:

LA::MPI::Vector    completely_distributed_solution(locally_owned_dofs,mpi_communicator);

//LU decomposition and inverse matrix
SparseDirectUMFPACK A_direct;
A_direct.initialize(system_matrix);

//Solve with inverse matrix
A_direct.vmult(completely_distributed_solution, system_rhs);
 locally_relevant_solution = completely_distributed_solution;


 However, I get a no matching member function for call to 'vmult' error. 

How can I use this LU decomposition and inverse matrix solver using MPI?


Thank you,

Regards,

H


Daniel Arndt

unread,
Sep 1, 2021, 2:10:58 PM9/1/21
to dea...@googlegroups.com
Hermes,

The SparseDirectUMFPACK solver doesn't work with MPI parallel matrices. You will need to find another solver based on the matrix class you are using. Standard choices would be GMRES or CG but I am assuming that your linear system might also be non-symmetric or indefinite.

Best,
Daniel



--
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/ded2e156-7bd7-4474-aa5f-fb57e8540926n%40googlegroups.com.

Hermes Sampedro

unread,
Sep 1, 2021, 2:17:16 PM9/1/21
to dea...@googlegroups.com
Thank you for the answer. I am solving for real and imaginary parts.
What solver would you suggest using? Is it any example in any of the steps?

Thank you
Hermes.

You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/ul4Aa_5t3n0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/CAOYDWbKG87reQPBrhZu0RwoZHrMXMtVWS9Ui6EoFCWtmemG1vQ%40mail.gmail.com.

Jean-Paul Pelteret

unread,
Sep 1, 2021, 3:35:24 PM9/1/21
to dea...@googlegroups.com
Dear Hermes,

The equivalent classes to SparseDirectUMFPACK for parallel linear algebra would be:
TrilinosWrappers::SolverDirect : You can choose the implementation through the AdditionalData struct that is passed into the class constructor.
Reply all
Reply to author
Forward
0 new messages