<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal;">Hi Matt,<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>i don't understand how it can be the condition of the system.<br>
After all, the matrix as well as the RHS vector is EXACTLY the same between the 2 runs. This is what puzzles me so much.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>The only difference is whether i solve it using 1 core vs 4 cores.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Of course i could be missing something.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>matt<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>On Wednesday 07 October 2009, Matthew Knepley wrote:<br>
&gt; This sounds like it has to do with the condition of your system, not any<br>
&gt; parallel problem. Errors<br>
&gt; in the solution can only be reduced to about (condition number) * (residual<br>
&gt; norm).<br>
&gt;<br>
&gt;   Matt<br>
&gt;<br>
&gt; On Wed, Oct 7, 2009 at 5:26 PM, Matt Funk &lt;mafunk@nmsu.edu&gt; wrote:<br>
&gt; &gt; Hi,<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; i have a problem for which i am not exaclty sure about what to do.<br>
&gt; &gt; I set up a simple 2D rectangular domain and decompose it into four equal<br>
&gt; &gt; boxes. I then build the petsc matrix based on this layout as well as the<br>
&gt; &gt; corresponsing RHS vector.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; I print out the matrix and RHS vector right before my KSPSolve call, and<br>
&gt; &gt; right after that call i print out the solution vector 'x'.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; I do this for 2 runs.<br>
&gt; &gt; 1) 1 processor<br>
&gt; &gt; 2) 4 processors.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; For both runs i do a difference (i.e. on the output files using diff) on<br>
&gt; &gt; all 3 quantities (the matrix, the RHS vector and the solution vector).<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; The 'diff' command reports no difference between the files for the matrix<br>
&gt; &gt; and RHS vector.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; However, the soltution vector is different between the 2 runs. How<br>
&gt; &gt; different depends a little on what precond/solver combination i use and<br>
&gt; &gt; the tolerances.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; However, for example for BJacobi/GMRES with reltol=abstol=1e-12 the<br>
&gt; &gt; vector element with the maximum difference is on the order 1e-05. This is<br>
&gt; &gt; only after the first timestep. My problem has some nonlinearlity to it<br>
&gt; &gt; such that this will become a problem later on.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; The worst difference i have seen is if i use hypre's euclid. It was on<br>
&gt; &gt; the order of 1e-02.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; So my question is whether someone has an idea why this is happening (i<br>
&gt; &gt; suppose it is related to the parallel communication) and if there is way<br>
&gt; &gt; to fix it.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; thanks<br>
&gt; &gt; matt<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p></body></html>