I'm going to solve a Schur complement in my preconditioner for SUPG stabilized fluid solver and will be using ILU(0) decomposition.

That's generally not a good preconditioner -- it will lead to large numbers of iterations in your linear solver if the problem becomes large. But that's tangential to your point...


Since the BlockJacobi does not turn out to work well, I wrote a wrapper for Pilut, which is a package for ILUT decomposition in Hypre and wrapped by PETSc. I tested my Pilut preconditioner with tutorial step-17 (the MPI elastic problem) and everything looks ok.

Interesting. Would you be willing to contribute this wrapper?


However, when I apply it to my own code, running with 2 ranks takes more time than 1, specifically on solving the Schur complement
where my Pilut is applied.
I tried to output the total iteration number of the solver, but with more ranks, actually less iterations are used. I don't understand why
less iterations take more time. Is there any potential reason for that?

It often comes down to how much communication you do. If your problem is small, then there is not very much work to do for each process, and much time is spent on communication between processes. A typical rule of thumb is that your problem needs to have at least 50,000 to 100,000 unknowns per process for computations to offset communication.


Something that came up to my mind, but I'm not sure: my Schur complement is actually not a matrix, but a derived class that only has definition for vmult. For that reason, my solver is a dealii:solverGMRES instead of PETScWrappers::solverGMRES. However, my results in testing with step-17 did not show significant differences between these two.

I don't think that is the problem -- the two GMRES implementations are comparable in performance.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/

--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to