<div class="gmail_quote">On Thu, Oct 27, 2011 at 18:14, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Why not use Eisentat trick SOR with Chebychev? Much cheaper than SOR plus separate Matrix vector productions.</blockquote><div><br></div><div>Hmm, the MatShell tricks that Eisenstat is doing are interfering with the eigenvalue estimation in Chebychev. I'm not sure how the PC{Pre,Post}Solve_Eisenstat is supposed to interact with KSPChebychev's reuse of the same preconditioning context for eignvalue estimation. Could you have a look at that?</div>
<div><br></div><div><div>$ ./ex2 -ksp_type chebychev -ksp_chebychev_estimate_eigenvalues 1,0,0,1.1 -pc_type eisenstat</div><div>[0]PETSC ERROR: --------------------- Error Message ------------------------------------</div>
<div>[0]PETSC ERROR: No support for this operation for this object type!</div><div>[0]PETSC ERROR: Cannot have different mat and pmat!</div><div>[0]PETSC ERROR: ------------------------------------------------------------------------</div>
<div>[0]PETSC ERROR: Petsc Development HG revision: 711caad7ce0e7d4332772ac626a1541284bd2edb  HG Date: Thu Oct 20 09:59:19 2011 -0700</div><div>[0]PETSC ERROR: See docs/changes/index.html for recent updates.</div><div>[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.</div>
<div>[0]PETSC ERROR: See docs/index.html for manual pages.</div><div>[0]PETSC ERROR: ------------------------------------------------------------------------</div><div>[0]PETSC ERROR: ./ex2 on a ompi named batura by jed Fri Oct 28 14:06:44 2011</div>
<div>[0]PETSC ERROR: Libraries linked from /home/jed/petsc/ompi/lib</div><div>[0]PETSC ERROR: Configure run at Thu Oct 20 14:11:15 2011</div><div>[0]PETSC ERROR: Configure options --download-blacs --download-hypre --download-ml --download-mumps --download-parmetis --download-parms --download-scalapack --download-spai --download-sundials --download-superlu --download-superlu_dist --download-umfpack --with-parmetis-dir=/usr --with-shared-libraries --with-single-library=0 --with-sowing PETSC_ARCH=ompi</div>
<div>[0]PETSC ERROR: ------------------------------------------------------------------------</div><div>[0]PETSC ERROR: PCPreSolve_Eisenstat() line 62 in /home/jed/petsc/src/ksp/pc/impls/eisens/eisen.c</div><div>[0]PETSC ERROR: PCPreSolve() line 1381 in /home/jed/petsc/src/ksp/pc/interface/precon.c</div>
<div>[0]PETSC ERROR: KSPSolve() line 410 in /home/jed/petsc/src/ksp/ksp/interface/itfunc.c</div><div>[0]PETSC ERROR: KSPSolve_Chebychev() line 209 in /home/jed/petsc/src/ksp/ksp/impls/cheby/cheby.c</div><div>[0]PETSC ERROR: KSPSolve() line 429 in /home/jed/petsc/src/ksp/ksp/interface/itfunc.c</div>
<div>[0]PETSC ERROR: main() line 199 in src/ksp/ksp/examples/tutorials/ex2.c</div><div>--------------------------------------------------------------------------</div><div>MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD </div>
<div>with errorcode 56.</div><div><br></div><div>NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.</div><div>You may or may not see output from other processes, depending on</div><div>exactly when Open MPI kills them.</div>
<div>--------------------------------------------------------------------------</div></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> In fact why not do that also in the symmetric case?</blockquote>
</div><br><div>It's unnecessary, Richardson/SOR or Chebychev/Jacobi are both fine. The latter is much nicer if we have a GPU. But I suppose we could do both just to make things more predictable.</div>