<div dir="ltr">I am getting this in the output:<div><br></div><div><div>[0] VecNormalize(): Vector of zero norm can not be normalized; Returning only the zero norm</div><div>[0] KSPGMRESCycle(): Converged due to zero residual norm on entry</div><div>[0]PETSC ERROR: KSPComputeEigenvalues() line 119 in /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c Null Pointer: Parameter # 3</div><div>[0]PETSC ERROR: PETSC: Attaching /usr/bin/gdb to ./test1 of pid 50632 on display /tmp/launch-ikNsM1/org.macosforge.xquartz:0 on machine Macintosh-6.local</div></div><div><br></div><div>and in gdb I see this (appended).  The problem is that KSPComputeEigenvalues is called with NULL outputs.  This because KSPChebyshevComputeExtremeEigenvalues_Private get the number of iterations and it is zero, it mallocs zero, and this is an error.</div><div><br></div><div>Should there be a check like:</div><div><br></div><div><div>326       ierr = KSPGetIterationNumber(kspest,&n);CHKERRQ(ierr);</div><div>if (!n) bail out</div><div>327       ierr = PetscMalloc2(n,&re,n,&im);CHKERRQ(ierr);</div></div><div><br></div><div>or is something going wrong upstream?</div><div><br></div><div>Mark</div><div><br></div><div><div>#5  0x000000010fb86057 in PetscAttachDebuggerErrorHandler (comm=1140850689, line=119, fun=0x1115b0a25 "KSPComputeEigenvalues", file=0x1115b09b9 "/Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c", num=85, p=PETSC_ERROR_INITIAL, mess=0x7fff50102290 "Null Pointer: Parameter # 3", ctx=0x0) at /Users/markadams/Codes/petsc/src/sys/error/adebug.c:462</div><div>#6  0x000000010fb88d30 in PetscError (comm=1140850689, line=119, func=0x1115b0a25 "KSPComputeEigenvalues", file=0x1115b09b9 "/Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c", n=85, p=PETSC_ERROR_INITIAL, mess=0x1115518ca "Null Pointer: Parameter # %d") at /Users/markadams/Codes/petsc/src/sys/error/err.c:378</div><div>#7  0x0000000110bd3464 in KSPComputeEigenvalues (ksp=0x7fe92d813e60, n=0, r=0x0, c=0x0, neig=0x7fff50102c14) at /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c:119</div><div>#8  0x0000000110b6a915 in KSPChebyshevComputeExtremeEigenvalues_Private (kspest=0x7fe92d813e60, emin=0x7fff50102ca0, emax=0x7fff50102ca8) at /Users/markadams/Codes/petsc/src/ksp/ksp/impls/cheby/cheby.c:328</div><div>#9  0x0000000110b69043 in KSPSolve_Chebyshev (ksp=0x7fe92c869a60) at /Users/markadams/Codes/petsc/src/ksp/ksp/impls/cheby/cheby.c:373</div><div>#10 0x0000000110bd81ce in KSPSolve (ksp=0x7fe92c869a60, b=0x7fe92d002860, x=0x7fe92d007c60) at /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c:460</div><div>#11 0x0000000110a8e4b8 in PCMGMCycle_Private (pc=0x7fe92c862e60, mglevelsin=0x7fe92c868a60, reason=0x0) at /Users/markadams/Codes/petsc/src/ksp/pc/impls/mg/mg.c:19</div><div>#12 0x0000000110a9e1d5 in PCApply_MG (pc=0x7fe92c862e60, b=0x7fe92d002860, x=0x7fe92d007c60) at /Users/markadams/Codes/petsc/src/ksp/pc/impls/mg/mg.c:337</div><div>#13 0x0000000110ad6f2c in PCApply (pc=0x7fe92c862e60, x=0x7fe92d002860, y=0x7fe92d007c60) at /Users/markadams/Codes/petsc/src/ksp/pc/interface/precon.c:440</div><div>#14 0x0000000110affbd2 in KSP_PCApply (ksp=0x7fe92c833a60, x=0x7fe92d002860, y=0x7fe92d007c60) at kspimpl.h:230</div><div>#15 0x0000000110afcd31 in KSPSolve_CG (ksp=0x7fe92c833a60) at /Users/markadams/Codes/petsc/src/ksp/ksp/impls/cg/cg.c:139</div><div>#16 0x0000000110bd81ce in KSPSolve (ksp=0x7fe92c833a60, b=0x0, x=0x0) at /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c:460</div><div>#17 0x000000010fafea7d in main ()</div><div>(gdb) frame 8</div><div>#8  0x0000000110b6a915 in KSPChebyshevComputeExtremeEigenvalues_Private (kspest=0x7fe92d813e60, emin=0x7fff50102ca0, emax=0x7fff50102ca8) at /Users/markadams/Codes/petsc/src/ksp/ksp/impls/cheby/cheby.c:328</div><div>328       ierr = KSPComputeEigenvalues(kspest,n,re,im,&neig);CHKERRQ(ierr);</div><div>Current language:  auto; currently minimal</div><div>(gdb) p re</div><div>$1 = (PetscReal *) 0x0</div><div>(gdb) list</div><div>323       PetscReal      *re,*im,min,max;</div><div>324     </div><div>325       PetscFunctionBegin;</div><div>326       ierr = KSPGetIterationNumber(kspest,&n);CHKERRQ(ierr);</div><div>327       ierr = PetscMalloc2(n,&re,n,&im);CHKERRQ(ierr);</div><div>328       ierr = KSPComputeEigenvalues(kspest,n,re,im,&neig);CHKERRQ(ierr);</div><div>329       min  = PETSC_MAX_REAL;</div><div>330       max  = PETSC_MIN_REAL;</div><div>331       for (n=0; n<neig; n++) {</div><div>332         min = PetscMin(min,re[n]);</div></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 21, 2014 at 6:29 PM, Mark Adams <span dir="ltr"><<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Humm,  GAMG works fine form (like you said), but with MG (with or without Galerkin) on 1 or 4 procs I get:<div><br></div><div><div>[0]PETSC ERROR: KSPComputeEigenvalues() line 119 in /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c Null Pointer: Parameter # 3</div><div><br></div><div>Can you tell me exactly what you get with:</div><div><br></div><div><div><font face="arial, sans-serif">./test1 -pc_type mg</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">I get:</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">[0]PETSC ERROR: KSPComputeEigenvalues() line 119 in /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c Null Pointer: Parameter # 3</font></div><div><font face="arial, sans-serif">[0]PETSC ERROR: PETSC: Attaching /usr/bin/gdb to ./test1 of pid 50433 on display /tmp/launch-ikNsM1/org.macosforge.xquartz:0 on machine Macintosh-6.local</font></div><div style="font-family:arial,sans-serif;font-size:12.7272720336914px"><br></div></div><div><font face="arial, sans-serif">And, it seems that the RHS is all zeros on one processor.</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">I am using a debug build.  Try to do the same.</font></div><div><br></div><div><br></div><div><br></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 21, 2014 at 2:50 AM, Filippo Leonardi <span dir="ltr"><<a href="mailto:filippo.leonardi@sam.math.ethz.ch" target="_blank">filippo.leonardi@sam.math.ethz.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Here,<br>
<br>
run this e.g. with<br>
mpirun -np 4 ./test1 -draw_pause -1 -pc_type mg -pc_mg_galerkin<br>
<br>
In Debug mode it crashes, in standard mode it fails. Using Petsc current.<br>
<br>
Run without mg and works!<br>
<br>
Hope it's not me being stupid and doing something terribly wrong!<br>
<br>
Best,<br>
Filippo<br>
<div><div><br>
On Monday 20 October 2014 07:29:04 Barry Smith wrote:<br>
>   Can you send us the code: to <a href="mailto:petsc-maint@mcs.anl.gov" target="_blank">petsc-maint@mcs.anl.gov</a> or<br>
> <a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a> ? Or something that reproduces the problem?<br>
><br>
>   Barry<br>
><br>
> > On Oct 20, 2014, at 3:31 AM, Filippo Leonardi<br>
> > <<a href="mailto:filippo.leonardi@sam.math.ethz.ch" target="_blank">filippo.leonardi@sam.math.ethz.ch</a>> wrote:<br>
> ><br>
> > Hi,<br>
> ><br>
> > I have a very specific problem that I cannot figure out with PCMG and<br>
> > multiple solves. I got a linear system that I solve many times, with same<br>
> > matrix but different RHS. I can successfully solve the system with<br>
> > standard techniques, such as default solver or LU or PCGAMG. Even MG<br>
> > works if I destroy the ksp each time or I recompute the matrices at each<br>
> > time. But when I try and go to MG and not recomputing the matrices each<br>
> > time the solver fails. Any idea?<br>
> ><br>
> > Here some detail: the setup:<br>
> > ierr = KSPSetDMActive(ksp, PETSC_FALSE); CHKERRQ(ierr);<br>
> > ierr = KSPSetDM(ksp,  da); CHKERRQ(ierr);<br>
> > ierr = KSPSetComputeOperators(ksp, ComputeMatrix, ctx); CHKERRQ(ierr);<br>
> > ierr = KSPSetComputeRHS(ksp, ComputeRHS, ctx); CHKERRQ(ierr);<br>
> > ierr = KSPSetFromOptions(ksp); CHKERRQ(ierr);<br>
> ><br>
> > Then I solve as usual, for a large number of time steps:<br>
> > ierr = KSPSolve(ksp, NULL, NULL); CHKERRQ(ierr);<br>
> > ierr = KSPGetSolution(ksp, &phi);<br>
> ><br>
> > The solver converges and does that in a reasonable number of iterations:<br>
> > Linear solve converged due to CONVERGED_RTOL iterations 7<br>
> > And ksp_view and ksp_monitor do not show any weird stuff.<br>
> ><br>
> > - Weirdly enough using any solver (for instance cg+bjacobi or gamg)<br>
> > everything works (So the matrix and RHS are working fine).<br>
> > - But the problem persists with Galerkin matrices (-pc_mg_galerkin) (So is<br>
> > not a ComputeMatrix problem).<br>
> > - If I do:<br>
> > ierr = KSPSetComputeOperators(ksp, ComputeMatrix, this); CHKERRQ(ierr);<br>
> > between each solve or destroy the ksp entirely each time the solution is<br>
> > also perfect (So is not a boundary scaling or other stuff problem).<br>
> > - If I run MG with only 2 levels (so just coarse) I also get a fine<br>
> > result.<br>
> ><br>
> > Setup RHS is called each time as expected, setup matrix is called just<br>
> > once, also as expected.<br>
> ><br>
> > The only thing I can think is that MG does not update some value that<br>
> > actually needs to be recomputed.<br>
> ><br>
> > Any idea?<br>
> ><br>
> > The solution is not that different from:<br>
> > <a href="http://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/</a><br>
> > ex29.c.html<br>
> ><br>
> > Best,<br>
> > Filippo</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>