parallel solve question

Matt Funk mafunk at
Wed Oct 7 17:26:23 CDT 2009


i have a problem for which i am not exaclty sure about what to do.
I set up a simple 2D rectangular domain and decompose it into four equal 
boxes. I then build the petsc matrix based on this layout as well as the 
corresponsing RHS vector.

I print out the matrix and RHS vector right before my KSPSolve call, and right 
after that call i print out the solution vector 'x'.

I do this for 2 runs. 
1) 1 processor
2) 4 processors.

For both runs i do a difference (i.e. on the output files using diff) on all 3 
quantities (the matrix, the RHS vector and the solution vector).

The 'diff' command reports no difference between the files for the matrix and 
RHS vector.

However, the soltution vector is different between the 2 runs. How different 
depends a little on what precond/solver combination i use and the tolerances.

However, for example for BJacobi/GMRES with reltol=abstol=1e-12 the vector 
element with the maximum difference is on the order 1e-05. This is only after 
the first timestep. My problem has some nonlinearlity to it such that this 
will become a problem later on.

The worst difference i have seen is if i use hypre's euclid. It was on the 
order of 1e-02.

So my question is whether someone has an idea why this is happening (i suppose 
it is related to the parallel communication) and if there is way to fix it. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list