Just reread my email and i need to apologize for all the grammatical errors in it. Hopefully it still makes sense.<div><br></div><div>matt<br><br><div class="gmail_quote">On Sat, Nov 12, 2011 at 11:34 PM, Matt Funk <span dir="ltr">&lt;<a href="mailto:matze999@gmail.com">matze999@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>Hi,</div><div>i am solving a system for which is interfaced both with petsc and hypre.</div><div>I.e. i have some data and build the matrix up either via petsc or hypre</div>
<div>(for hypre i use the sstruct interface). The output of the system after</div>
<div>several hundred timestep is only different on the order of 1e-04 for a</div><div>non-linear system. So in terms of accuracy things agree pretty well such</div><div>that i think i can rule out that the issue is related to the matrix itself.</div>

<div><br></div><div> Anyway, for both interfaces i am using the Euclid/BiCGSTAB combination</div><div>(rel.tol. 1e-08). I would expect similar results in terms of performance</div><div>which i do not get.</div><div>For PETSC:HYPRE_EUCLID:BICGSTAB for the first 10 timesteps i get 12</div>

<div>iterations per timestep. Using HYPRE directly i get convergence after 3</div><div>iterations. At first the it seems like the tolerance is the issue. I get</div><div>the residuals and iterations as follows:</div><div>

1) HYPRE:</div><div>HYPRE_SStructBiCGSTABGetNumIterations(m_SStruct-&gt;ssSolver, &amp;a_iterations);</div><div>HYPRE_SStructBiCGSTABGetFinalRelativeResidualNorm(m_SStruct-&gt;ssSolver,</div><div>&amp;a_relres);</div><div>

2) PETSC:</div><div>m_ierr = KSPGetIterationNumber(m_ksp, &amp;a_iterations_solver);</div><div>m_ierr = KSPGetResidualNorm(m_ksp, &amp;a_relres_solver);</div><div>Other than that i do change the type of norm or anything.</div>

<div><br></div><div>The residual using HYPRE is on the order of 1e-09</div><div>The residual using PETSC is on the order of 1e-04</div><div><br></div><div>So not only dies HYPRE use less iterations, it also gives the smaller</div>

<div>residual.</div><div><br></div><div>I think this is a user error as i cannot really explain why there would be</div><div>such a vast difference. I was just wondering if anyone has any insight as</div><div>to what else i could try or an attempt at some explanation as to what i am</div>

<div>seeing.</div><div><br></div><div>thanks</div><div>matt</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Matt Funk<br>
Research Associate<br>
Plant and Environmental Scienc. Dept.<br>
New Mexico State University<br>
</div>