[petsc-users] Moving from KSPSetNullSpace to MatSetNullSpace

Mark Adams mfadams at lbl.gov
Thu Oct 27 11:29:25 CDT 2016


It the ksp_view data I see on the fine grid:

        Chebyshev: eigenvalue estimates:  min = 0.14153, max = 1.55683
        Chebyshev: eigenvalues estimated using gmres with translations  [0.
0.1; 0. 1.1]
        KSP Object:        (poisson_mg_levels_2_esteig_)         2 MPI
processes
          type: gmres
            GMRES: restart=30, using Classical (unmodified) Gram-Schmidt
Orthogonalization with no iterative refinement
            GMRES: happy breakdown tolerance 1e-30
          maximum iterations=10, initial guess is zero
          tolerances:  relative=1e-12, absolute=1e-50, divergence=10000.

and GAMG has:

[0] PCGAMGOptProlongator_AGG(): Smooth P0: max eigen=1.977326e+00
min=3.920450e-02 PC=jacobi

You have a 5-point stencil dof del^2, the correct max eig is 2, and 1.55683
is not close enough for the 1.1 safety factor to save it.

The view should have this line from petsc/src/ksp/ksp/impls/cheby/cheby.c
(it does not):

      if (cheb->usenoisy) {
        ierr = PetscViewerASCIIPrintf(viewer,"  Chebyshev: estimating
eigenvalues using noisy right hand side\n");CHKERRQ(ierr);
      }

This was fixed in late May and 3.7 came out in late April, so I would think
3.7.4 would have this fix, but it does not look like it.

You can fix this with some parameters but you should check that your source
does not have this line.



On Thu, Oct 27, 2016 at 12:14 PM, Olivier Mesnard <
olivier.mesnard8 at gmail.com> wrote:

> Exact.
>
> On 27 October 2016 at 11:58, Mark Adams <mfadams at lbl.gov> wrote:
>
>>
>>> -poisson_mg_levels_esteig_ksp_max_it 50
>>>
>>
>> 50 works but say 10 fails?
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161027/11100ea2/attachment.html>


More information about the petsc-users mailing list