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.

Reply via email to