Dear all, I have a question with regards to the behavior of the Conjugate Gradient method in serial and parallel. I am using version 8.5 of dealii and I have a parallel implementation based on Trilinos. The system matrix is in a block format and sparse, with blocks A, B, B^T and 0. The right hand side has two blocks, f_0 and f_1 = 0. I am using a Schur complement similar to step 20 but in parallel to solve the system and I am facing an issue with the first step of the solve routine, where I use the conjugate gradient to solve for y_1. At this point I am not using any preconditioning.
I have exported and converted the matrices and vectors in appropriate format, so that I am able to work with them in Matlab too. When I compare the system matrix created serially and the one created in parallel (say mpirun -n2), their maximum difference in absolute value is of order 1e-11. The right hand sides created serially and in parallel are identical. However, the solution of the system with tolerance for CG 1e-8, has a maximum difference of order 1e-4. However, for this particular calculation the condition number of the Schur complement is of order 1e+5 (calculated in Matlab). Moreover, when I use Matlab to do the Schur solve with CG for those matrices and the same tolerance, the resulting solutions differ by an order of 1e-12. The above discrepancy in the solution reduces by two orders if I make the tolerance for CG to be smaller, i.e. of order 1e-11, for both the serial and the parallel execution. My question is why for this difference in the matrices and this condition number do I see such a difference in the solution? Could this be related to how CG is implemented in parallel and how the tolerance is guaranteed in parallel vs serially? Thanks, Dimitris -- 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.