Finally got it. My failing memory. I had to add the line

   call KSPSetDMActive(ksp,PETSC_FALSE,ierr)

   immediately after KSPSetDM()   and 

   change 

    call DMCreateMatrix(da,MATMPIAIJ,A,ierr)

   to

    call DMCreateMatrix(da,MATAIJ,A,ierr)

    so it will work in both parallel and sequential then 

ksp_monitor -ksp_converged_reason -pc_type mg -ksp_view  -pc_mg_galerkin 
-pc_mg_levels 2

works great with 2 levels. 

   Barry




On Aug 1, 2013, at 6:29 PM, Michele Rosso <mro...@uci.edu> wrote:

> Barry, 
> 
> no problem. I attached the full code in test_poisson_solver.tar.gz.
> My test code is a very reduced version of my productive code (incompressible 
> DNS code) thus fftw3 and the library 2decomp&fft are needed to run it.
> I attached the 2decomp&fft version I used: it is a matter of minutes to 
> install it, so you should not have any problem.
> Please, contact me for any question/suggestion.
> I the mean time I will try to debug it.
> 
> Michele
> 
> 
> 
> 
> On 08/01/2013 04:19 PM, Barry Smith wrote:
>>    Run on one process until this is debugged. You can try the option 
>> 
>> -start_in_debugger noxterm 
>> 
>> and then call VecView(vec,0) in the debugger when it gives the error below. 
>> It seems like some objects are not getting their initial values set 
>> properly. Are you able to email the code so we can run it and figure out 
>> what is going on?
>> 
>>    Barry
>> 
>> On Aug 1, 2013, at 5:52 PM, Michele Rosso 
>> <mro...@uci.edu>
>>  wrote:
>> 
>> 
>>> Barry,
>>> 
>>> I checked the matrix: the element (0,0) is not zero, nor any other diagonal 
>>> element is.
>>> The matrix is symmetric positive define (i.e. the standard Poisson matrix).
>>> Also, -da_refine is never used (see previous output).
>>> I tried to run with -pc_type mg -pc_mg_galerkin -mg_levels_pc_type jacobi 
>>> -mg_levels_ksp_type chebyshev -mg_levels_ksp_chebyshev_estimate_eigenvalues 
>>>  -ksp_view -options_left
>>> 
>>> and now the error is different:
>>> 0]PETSC ERROR: [1]PETSC ERROR: --------------------- Error Message 
>>> ------------------------------------
>>> [1]PETSC ERROR: Floating point exception!
>>> [1]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite 
>>> at beginning of function: Parameter number 2!
>>> [1]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [1]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013 
>>> [1]PETSC ERROR: See docs/changes/index.html for recent updates.
>>> [1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>> [2]PETSC ERROR: --------------------- Error Message 
>>> ------------------------------------
>>> [2]PETSC ERROR: Floating point exception!
>>> [2]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite 
>>> at beginning of function: Parameter number 2!
>>> [2]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [2]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013 
>>> [2]PETSC ERROR: See docs/changes/index.html for recent updates.
>>> [2]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>> [2]PETSC ERROR: [3]PETSC ERROR: --------------------- Error Message 
>>> ------------------------------------
>>> [3]PETSC ERROR: Floating point exception!
>>> [3]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite 
>>> at beginning of function: Parameter number 2!
>>> [3]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [3]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013 
>>> [3]PETSC ERROR: See docs/changes/index.html for recent updates.
>>> [3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>> [3]PETSC ERROR: See docs/index.html for manual pages.
>>> [3]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [1]PETSC ERROR: See docs/index.html for manual pages.
>>> [1]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [1]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu Aug 
>>>  1 15:43:16 2013
>>> [1]PETSC ERROR: Libraries linked from 
>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>> [1]PETSC ERROR: See docs/index.html for manual pages.
>>> [2]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [2]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu Aug 
>>>  1 15:43:16 2013
>>> [2]PETSC ERROR: Libraries linked from 
>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>> [2]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 2013
>>> [2]PETSC ERROR: [3]PETSC ERROR: ./test on a linux-gnu-dbg named 
>>> enterprise-A by mic Thu Aug  1 15:43:16 2013
>>> [3]PETSC ERROR: Libraries linked from 
>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>> [3]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 2013
>>> [3]PETSC ERROR: Configure options 
>>> Configure run at Thu Aug  1 12:01:44 2013
>>> [1]PETSC ERROR: Configure options 
>>> [1]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [1]PETSC ERROR: VecValidValues() line 28 in src/vec/vec/interface/rvector.c
>>> Configure options 
>>> [2]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [2]PETSC ERROR: VecValidValues() line 28 in src/vec/vec/interface/rvector.c
>>> [3]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [3]PETSC ERROR: VecValidValues() line 28 in src/vec/vec/interface/rvector.c
>>> [3]PETSC ERROR: [1]PETSC ERROR: MatMult() line 2174 in 
>>> src/mat/interface/matrix.c
>>> [1]PETSC ERROR: [2]PETSC ERROR: MatMult() line 2174 in 
>>> src/mat/interface/matrix.c
>>> [2]PETSC ERROR: KSP_MatMult() line 204 in 
>>> src/ksp/ksp/impls/cheby//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> MatMult() line 2174 in src/mat/interface/matrix.c
>>> [3]PETSC ERROR: KSP_MatMult() line 204 in 
>>> src/ksp/ksp/impls/cheby//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [3]PETSC ERROR: KSP_MatMult() line 204 in 
>>> src/ksp/ksp/impls/cheby//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [1]PETSC ERROR: KSPSolve_Chebyshev() line 504 in 
>>> src/ksp/ksp/impls/cheby/cheby.c
>>> [2]PETSC ERROR: KSPSolve_Chebyshev() line 504 in 
>>> src/ksp/ksp/impls/cheby/cheby.c
>>> [2]PETSC ERROR: KSPSolve_Chebyshev() line 504 in 
>>> src/ksp/ksp/impls/cheby/cheby.c
>>> [3]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> [1]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> [1]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> [2]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>> [3]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>> PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>> [1]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>> [2]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>> [2]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>> [3]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>> [3]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>> [1]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>> [1]PETSC ERROR: KSP_PCApply() line 227 in 
>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [2]PETSC ERROR: KSP_PCApply() line 227 in 
>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [2]PETSC ERROR: [3]PETSC ERROR: KSP_PCApply() line 227 in 
>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [3]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>> [1]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>> [1]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>> [2]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> [3]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> --------------------- Error Message ------------------------------------
>>> [0]PETSC ERROR: Floating point exception!
>>> [0]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite 
>>> at beginning of function: Parameter number 2!
>>> [0]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [0]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013 
>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>> [0]PETSC ERROR: See docs/index.html for manual pages.
>>> [0]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [0]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu Aug 
>>>  1 15:43:16 2013
>>> [0]PETSC ERROR: Libraries linked from 
>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>> [0]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 2013
>>> [0]PETSC ERROR: Configure options 
>>> [0]PETSC ERROR: 
>>> ------------------------------------------------------------------------
>>> [0]PETSC ERROR: VecValidValues() line 28 in src/vec/vec/interface/rvector.c
>>> [0]PETSC ERROR: MatMult() line 2174 in src/mat/interface/matrix.c
>>> [0]PETSC ERROR: KSP_MatMult() line 204 in 
>>> src/ksp/ksp/impls/cheby//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [0]PETSC ERROR: KSPSolve_Chebyshev() line 504 in 
>>> src/ksp/ksp/impls/cheby/cheby.c
>>> [0]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> [0]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>> [0]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>> [0]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>> [0]PETSC ERROR: KSP_PCApply() line 227 in 
>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>> [0]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>> [0]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>> 
>>> #PETSc Option Table entries:
>>> -ksp_view
>>> -mg_levels_ksp_chebyshev_estimate_eigenvalues
>>> -mg_levels_ksp_type chebyshev
>>> -mg_levels_pc_type jacobi
>>> -options_left
>>> -pc_mg_galerkin
>>> -pc_type mg
>>> #End of PETSc Option Table entries
>>> There are no unused options.
>>> 
>>> Michele
>>> 
>>> 
>>> On 08/01/2013 03:27 PM, Barry Smith wrote:
>>> 
>>>>   Do a MatView() on A before the solve (remove the -da_refine 4) so it is 
>>>> small. Is the 0,0 entry 0? If the matrix has zero on the diagonals you 
>>>> cannot us Gauss-Seidel as the smoother.  You can start with 
>>>> -mg_levels_pc_type jacobi -mg_levels_ksp_type chebychev 
>>>> -mg_levels_ksp_chebyshev_estimate_eigenvalues
>>>> 
>>>>    Is the matrix a Stokes-like matrix? If so then different 
>>>> preconditioners are in order.
>>>> 
>>>>    Barry
>>>> 
>>>> On Aug 1, 2013, at 5:21 PM, Michele Rosso 
>>>> 
>>>> <mro...@uci.edu>
>>>> 
>>>>  wrote:
>>>> 
>>>> 
>>>> 
>>>>> Barry,
>>>>> 
>>>>> here it is the fraction of code where I set the rhs term and the matrix.
>>>>> 
>>>>>        ! Create matrix
>>>>>        call form_matrix( A , qrho, lsf, head )
>>>>>        call MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY,ierr)
>>>>>        call MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY,ierr)
>>>>> 
>>>>>        ! Create rhs term
>>>>>        call form_rhs(work, qrho, lsf, b , head)
>>>>> 
>>>>>        ! Solve system
>>>>>        call KSPSetFromOptions(ksp,ierr)
>>>>>        call KSPSetUp(ksp,ierr)
>>>>>        call KSPSolve(ksp,b,x,ierr)
>>>>>        call KSPGetIterationNumber(ksp, iiter ,ierr)
>>>>> 
>>>>> The subroutine form_matrix returns the Mat object A that is filled by 
>>>>> using  MatSetValuesStencil.
>>>>> qrho, lsf and head are additional arguments that are needed to compute 
>>>>> the matrix value.
>>>>> 
>>>>> 
>>>>> Michele
>>>>> 
>>>>> 
>>>>> 
>>>>> On 08/01/2013 03:11 PM, Barry Smith wrote:
>>>>> 
>>>>> 
>>>>>>   Where are you putting the values into the matrix? It seems the matrix 
>>>>>> has no values in it? The code is stopping because in the Gauss-Seidel 
>>>>>> smoothing it has detected zero diagonals.
>>>>>> 
>>>>>>    Barry
>>>>>> 
>>>>>> 
>>>>>> On Aug 1, 2013, at 4:47 PM, Michele Rosso 
>>>>>> 
>>>>>> <mro...@uci.edu>
>>>>>> 
>>>>>>  wrote:
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> Barry,
>>>>>>> 
>>>>>>> I run with :   -pc_type mg -pc_mg_galerkin -da_refine 4  -ksp_view 
>>>>>>> -options_left
>>>>>>> 
>>>>>>> For the test I use a 64^3 grid and 4 processors.
>>>>>>> 
>>>>>>> The output is:
>>>>>>> 
>>>>>>> [2]PETSC ERROR: --------------------- Error Message 
>>>>>>> ------------------------------------
>>>>>>> [2]PETSC ERROR: Arguments are incompatible!
>>>>>>> [2]PETSC ERROR: Zero diagonal on row 0!
>>>>>>> [2]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [2]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013
>>>>>>> [2]PETSC ERROR: See docs/changes/index.html for recent updates.
>>>>>>> [2]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>>>>>> [2]PETSC ERROR: See docs/index.html for manual pages.
>>>>>>> [2]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [2]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu 
>>>>>>> Aug  1 14:44:04 2013
>>>>>>> [0]PETSC ERROR: [2]PETSC ERROR: Libraries linked from 
>>>>>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>>>>>> [2]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 2013
>>>>>>> [2]PETSC ERROR: Configure options
>>>>>>> [2]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [2]PETSC ERROR: MatInvertDiagonal_SeqAIJ() line 1457 in 
>>>>>>> src/mat/impls/aij/seq/aij.c
>>>>>>> [2]PETSC ERROR: MatSOR_SeqAIJ() line 1489 in src/mat/impls/aij/seq/aij.c
>>>>>>> --------------------- Error Message ------------------------------------
>>>>>>> [2]PETSC ERROR: MatSOR_MPIAIJ() line 1623 in 
>>>>>>> src/mat/impls/aij/mpi/mpiaij.c
>>>>>>> [2]PETSC ERROR: MatSOR() line 3649 in src/mat/interface/matrix.c
>>>>>>> [2]PETSC ERROR: [0]PETSC ERROR: PCApply_SOR() line 35 in 
>>>>>>> src/ksp/pc/impls/sor/sor.c
>>>>>>> [2]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [2]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/interface//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> Arguments are incompatible!
>>>>>>> [2]PETSC ERROR: KSPInitialResidual() line 64 in 
>>>>>>> src/ksp/ksp/interface/itres.c
>>>>>>> [2]PETSC ERROR: KSPSolve_GMRES() line 239 in 
>>>>>>> src/ksp/ksp/impls/gmres/gmres.c
>>>>>>> [2]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [2]PETSC ERROR: [0]PETSC ERROR: KSPSolve_Chebyshev() line 409 in 
>>>>>>> src/ksp/ksp/impls/cheby/cheby.c
>>>>>>> [2]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [2]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>>>>>> Zero diagonal on row 0!
>>>>>>> [2]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [2]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [0]PETSC ERROR: [2]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [2]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [2]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [0]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013
>>>>>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
>>>>>>> [3]PETSC ERROR: [0]PETSC ERROR: See docs/faq.html for hints about 
>>>>>>> trouble shooting.
>>>>>>> [0]PETSC ERROR: --------------------- Error Message 
>>>>>>> ------------------------------------
>>>>>>> [3]PETSC ERROR: Arguments are incompatible!
>>>>>>> [3]PETSC ERROR: Zero diagonal on row 0!
>>>>>>> [3]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [3]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013
>>>>>>> [3]PETSC ERROR: See docs/changes/index.html for recent updates.
>>>>>>> [3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>>>>>> [3]PETSC ERROR: See docs/index.html for manual pages.
>>>>>>> [3]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> See docs/index.html for manual pages.
>>>>>>> [3]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu 
>>>>>>> Aug  1 14:44:04 2013
>>>>>>> [3]PETSC ERROR: Libraries linked from 
>>>>>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>>>>>> [1]PETSC ERROR: [3]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 
>>>>>>> 2013
>>>>>>> [3]PETSC ERROR: Configure options
>>>>>>> [3]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [3]PETSC ERROR: --------------------- Error Message 
>>>>>>> ------------------------------------
>>>>>>> MatInvertDiagonal_SeqAIJ() line 1457 in src/mat/impls/aij/seq/aij.c
>>>>>>> [3]PETSC ERROR: MatSOR_SeqAIJ() line 1489 in src/mat/impls/aij/seq/aij.c
>>>>>>> [3]PETSC ERROR: [0]PETSC ERROR: MatSOR_MPIAIJ() line 1623 in 
>>>>>>> src/mat/impls/aij/mpi/mpiaij.c
>>>>>>> [1]PETSC ERROR: Arguments are incompatible!
>>>>>>> [1]PETSC ERROR: Zero diagonal on row 0!
>>>>>>> [1]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [1]PETSC ERROR: Petsc Release Version 3.4.2, Jul, 02, 2013
>>>>>>> [1]PETSC ERROR: See docs/changes/index.html for recent updates.
>>>>>>> [1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>>>>>> [1]PETSC ERROR: See docs/index.html for manual pages.
>>>>>>> [1]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [1]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu 
>>>>>>> Aug  1 14:44:04 2013
>>>>>>> [1]PETSC ERROR: Libraries linked from 
>>>>>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>>>>>> [1]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 2013
>>>>>>> [1]PETSC ERROR: Configure options
>>>>>>> [1]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [1]PETSC ERROR: MatInvertDiagonal_SeqAIJ() line 1457 in 
>>>>>>> src/mat/impls/aij/seq/aij.c
>>>>>>> [1]PETSC ERROR: [3]PETSC ERROR: MatSOR() line 3649 in 
>>>>>>> src/mat/interface/matrix.c
>>>>>>> [3]PETSC ERROR: PCApply_SOR() line 35 in src/ksp/pc/impls/sor/sor.c
>>>>>>> [3]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [3]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/interface//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [3]PETSC ERROR: KSPInitialResidual() line 64 in 
>>>>>>> src/ksp/ksp/interface/itres.c
>>>>>>> [3]PETSC ERROR: KSPSolve_GMRES() line 239 in 
>>>>>>> src/ksp/ksp/impls/gmres/gmres.c
>>>>>>> [3]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [3]PETSC ERROR: KSPSolve_Chebyshev() line 409 in 
>>>>>>> src/ksp/ksp/impls/cheby/cheby.c
>>>>>>> [3]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [3]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [3]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [3]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [3]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [3]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>>>>>> [3]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> MatSOR_SeqAIJ() line 1489 in src/mat/impls/aij/seq/aij.c
>>>>>>> [1]PETSC ERROR: MatSOR_MPIAIJ() line 1623 in 
>>>>>>> src/mat/impls/aij/mpi/mpiaij.c
>>>>>>> [1]PETSC ERROR: MatSOR() line 3649 in src/mat/interface/matrix.c
>>>>>>> [1]PETSC ERROR: PCApply_SOR() line 35 in src/ksp/pc/impls/sor/sor.c
>>>>>>> [1]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [1]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/interface//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [1]PETSC ERROR: KSPInitialResidual() line 64 in 
>>>>>>> src/ksp/ksp/interface/itres.c
>>>>>>> [1]PETSC ERROR: KSPSolve_GMRES() line 239 in 
>>>>>>> src/ksp/ksp/impls/gmres/gmres.c
>>>>>>> [1]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [1]PETSC ERROR: KSPSolve_Chebyshev() line 409 in 
>>>>>>> src/ksp/ksp/impls/cheby/cheby.c
>>>>>>> [1]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [1]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [1]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [1]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [1]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [1]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>>>>>> [1]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [0]PETSC ERROR: ./test on a linux-gnu-dbg named enterprise-A by mic Thu 
>>>>>>> Aug  1 14:44:04 2013
>>>>>>> [0]PETSC ERROR: Libraries linked from 
>>>>>>> /opt/petsc/petsc-3.4.2/linux-gnu-dbg/lib
>>>>>>> [0]PETSC ERROR: Configure run at Thu Aug  1 12:01:44 2013
>>>>>>> [0]PETSC ERROR: Configure options
>>>>>>> [0]PETSC ERROR: 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [0]PETSC ERROR: MatInvertDiagonal_SeqAIJ() line 1457 in 
>>>>>>> src/mat/impls/aij/seq/aij.c
>>>>>>> [0]PETSC ERROR: MatSOR_SeqAIJ() line 1489 in src/mat/impls/aij/seq/aij.c
>>>>>>> [0]PETSC ERROR: MatSOR_MPIAIJ() line 1623 in 
>>>>>>> src/mat/impls/aij/mpi/mpiaij.c
>>>>>>> [0]PETSC ERROR: MatSOR() line 3649 in src/mat/interface/matrix.c
>>>>>>> [0]PETSC ERROR: PCApply_SOR() line 35 in src/ksp/pc/impls/sor/sor.c
>>>>>>> [0]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [0]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/interface//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [0]PETSC ERROR: KSPInitialResidual() line 64 in 
>>>>>>> src/ksp/ksp/interface/itres.c
>>>>>>> [0]PETSC ERROR: KSPSolve_GMRES() line 239 in 
>>>>>>> src/ksp/ksp/impls/gmres/gmres.c
>>>>>>> [0]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [0]PETSC ERROR: KSPSolve_Chebyshev() line 409 in 
>>>>>>> src/ksp/ksp/impls/cheby/cheby.c
>>>>>>> [0]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> [0]PETSC ERROR: PCMGMCycle_Private() line 19 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [0]PETSC ERROR: PCApply_MG() line 330 in src/ksp/pc/impls/mg/mg.c
>>>>>>> [0]PETSC ERROR: PCApply() line 442 in src/ksp/pc/interface/precon.c
>>>>>>> [0]PETSC ERROR: KSP_PCApply() line 227 in 
>>>>>>> src/ksp/ksp/impls/cg//opt/petsc/petsc-3.4.2/include/petsc-private/kspimpl.h
>>>>>>> [0]PETSC ERROR: KSPSolve_CG() line 175 in src/ksp/ksp/impls/cg/cg.c
>>>>>>> [0]PETSC ERROR: KSPSolve() line 441 in src/ksp/ksp/interface/itfunc.c
>>>>>>> #PETSc Option Table entries:
>>>>>>> -da_refine 4
>>>>>>> -ksp_view
>>>>>>> -options_left
>>>>>>> -pc_mg_galerkin
>>>>>>> -pc_type mg
>>>>>>> #End of PETSc Option Table entries
>>>>>>> There is one unused database option. It is:
>>>>>>> Option left: name:-da_refine value: 4
>>>>>>> 
>>>>>>> 
>>>>>>> Here is the code I use to setup DMDA and KSP:
>>>>>>> 
>>>>>>>     call DMDACreate3d( PETSC_COMM_WORLD ,                               
>>>>>>>    &
>>>>>>>                     & DMDA_BOUNDARY_PERIODIC , DMDA_BOUNDARY_PERIODIC,  
>>>>>>>    &
>>>>>>>                     & DMDA_BOUNDARY_PERIODIC , DMDA_STENCIL_STAR,       
>>>>>>>    &
>>>>>>>                     & N_Z , N_Y , N_X , N_B3 , N_B2 , 1_ip,  1_ip , 
>>>>>>> 1_ip , &
>>>>>>>                     & int(NNZ,ip) ,int(NNY,ip) , NNX, da , ierr)
>>>>>>>          ! Create Global Vectors
>>>>>>>     call DMCreateGlobalVector(da,b,ierr)
>>>>>>>     call VecDuplicate(b,x,ierr)
>>>>>>>          ! Set initial guess for first use of the module to 0
>>>>>>>     call VecSet(x,0.0_rp,ierr)
>>>>>>>          ! Create matrix
>>>>>>>     call DMCreateMatrix(da,MATMPIAIJ,A,ierr)
>>>>>>>           ! Create solver
>>>>>>>     call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)
>>>>>>>     call KSPSetDM(ksp,da,ierr)
>>>>>>>     call KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN,ierr)
>>>>>>> !    call KSPSetOperators(ksp,A,A,SAME_NONZERO_PATTERN,ierr)
>>>>>>>     call KSPSetType(ksp,KSPCG,ierr)
>>>>>>>     call KSPSetNormType(ksp,KSP_NORM_UNPRECONDITIONED,ierr) ! Real 
>>>>>>> residual
>>>>>>>     call KSPSetInitialGuessNonzero(ksp,PETSC_TRUE,ierr)
>>>>>>>     call KSPSetTolerances(ksp, tol ,PETSC_DEFAULT_DOUBLE_PRECISION,&
>>>>>>>         & PETSC_DEFAULT_DOUBLE_PRECISION,PETSC_DEFAULT_INTEGER,ierr)
>>>>>>> 
>>>>>>>     ! To allow using option from command line
>>>>>>>     call KSPSetFromOptions(ksp,ierr)
>>>>>>> 
>>>>>>> 
>>>>>>> Michele
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On 08/01/2013 01:04 PM, Barry Smith wrote:
>>>>>>> 
>>>>>>> 
>>>>>>>>    You can use the option -pc_mg_galerkin  and then MG will compute 
>>>>>>>> the coarser matrices with a sparse matrix matrix matrix product so you 
>>>>>>>> should not need to change your code to try it out.  You still need to 
>>>>>>>> use the KSPSetDM() and -da_refine n to get it working
>>>>>>>> 
>>>>>>>>    If it doesn't work, send us all the output.
>>>>>>>> 
>>>>>>>>    Barry
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Aug 1, 2013, at 2:47 PM, Michele Rosso
>>>>>>>> 
>>>>>>>> 
>>>>>>>> <mro...@uci.edu>
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> Barry,
>>>>>>>>> you are correct, I did not use it. I think I get now where is the 
>>>>>>>>> problem. Correct me if I am wrong, but for the
>>>>>>>>> geometric multigrid to work, ksp must be provided with subroutines to 
>>>>>>>>> compute the matrix and the rhs at any level through
>>>>>>>>> KSPSetComputeOperators and KSPSetComputeRHS.
>>>>>>>>> I do not do that, I simply build a rhs vector and a matrix and then I 
>>>>>>>>> solve the system.
>>>>>>>>> If you confirm what I just wrote, I will try to modify my code 
>>>>>>>>> accordingly and get back to you.
>>>>>>>>> Thank you,
>>>>>>>>> Michele
>>>>>>>>>  On 08/01/2013 11:48 AM, Barry Smith wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>>   Do you use KSPSetDM(ksp,da);  ?  See 
>>>>>>>>>> src/ksp/ksp/examples/tutorials/ex19.c
>>>>>>>>>> 
>>>>>>>>>>    Barry
>>>>>>>>>> 
>>>>>>>>>> On Aug 1, 2013, at 1:35 PM, Michele Rosso
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> <mro...@uci.edu>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>  wrote:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> Barry,
>>>>>>>>>>> 
>>>>>>>>>>> I am using a finite difference Cartesian uniform grid and DMDA and 
>>>>>>>>>>> so far it has not given me any problem.
>>>>>>>>>>> I am using a ksp solver (not snes). In a previous thread, I was 
>>>>>>>>>>> told an odd number of grid points was needed for the geometric 
>>>>>>>>>>> multigrid, is that correct?
>>>>>>>>>>> I tried to run my case with
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> -pc_type mg -da_refine 4
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> but it does not seem to use the -da_refine option:
>>>>>>>>>>> 
>>>>>>>>>>> mpiexec   -np 4 ./test  -pc_type mg -da_refine 4  -ksp_view 
>>>>>>>>>>> -options_left
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> KSP Object: 4 MPI processes
>>>>>>>>>>>  type: cg
>>>>>>>>>>>  maximum iterations=10000
>>>>>>>>>>>  tolerances:  relative=1e-08, absolute=1e-50, divergence=10000
>>>>>>>>>>>  left preconditioning
>>>>>>>>>>>  using nonzero initial guess
>>>>>>>>>>>  using UNPRECONDITIONED norm type for convergence test
>>>>>>>>>>> PC Object: 4 MPI processes
>>>>>>>>>>>  type: mg
>>>>>>>>>>>    MG: type is MULTIPLICATIVE, levels=1 cycles=v
>>>>>>>>>>>      Cycles per PCApply=1
>>>>>>>>>>>      Not using Galerkin computed coarse grid matrices
>>>>>>>>>>>  Coarse grid solver -- level -------------------------------
>>>>>>>>>>>    KSP Object:    (mg_levels_0_)     4 MPI processes
>>>>>>>>>>>      type: chebyshev
>>>>>>>>>>>        Chebyshev: eigenvalue estimates:  min = 0.134543, max = 
>>>>>>>>>>> 1.47998
>>>>>>>>>>>        Chebyshev: estimated using:  [0 0.1; 0 1.1]
>>>>>>>>>>>        KSP Object:        (mg_levels_0_est_)         4 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-05, absolute=1e-50, 
>>>>>>>>>>> divergence=10000
>>>>>>>>>>>          left preconditioning
>>>>>>>>>>>          using NONE norm type for convergence test
>>>>>>>>>>>        PC Object:        (mg_levels_0_)         4 MPI processes
>>>>>>>>>>>          type: sor
>>>>>>>>>>>            SOR: type = local_symmetric, iterations = 1, local 
>>>>>>>>>>> iterations = 1, omega = 1
>>>>>>>>>>>          linear system matrix = precond matrix:
>>>>>>>>>>>          Matrix Object:           4 MPI processes
>>>>>>>>>>>            type: mpiaij
>>>>>>>>>>>            rows=262144, cols=262144
>>>>>>>>>>>            total: nonzeros=1835008, allocated nonzeros=1835008
>>>>>>>>>>>            total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>>      maximum iterations=1, initial guess is zero
>>>>>>>>>>>      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>>>>>>>>>>>      left preconditioning
>>>>>>>>>>>      using NONE norm type for convergence test
>>>>>>>>>>>    PC Object:    (mg_levels_0_)     4 MPI processes
>>>>>>>>>>>      type: sor
>>>>>>>>>>>        SOR: type = local_symmetric, iterations = 1, local 
>>>>>>>>>>> iterations = 1, omega = 1
>>>>>>>>>>>      linear system matrix = precond matrix:
>>>>>>>>>>>      Matrix Object:       4 MPI processes
>>>>>>>>>>>        type: mpiaij
>>>>>>>>>>>        rows=262144, cols=262144
>>>>>>>>>>>        total: nonzeros=1835008, allocated nonzeros=1835008
>>>>>>>>>>>        total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>>  linear system matrix = precond matrix:
>>>>>>>>>>>  Matrix Object:   4 MPI processes
>>>>>>>>>>>    type: mpiaij
>>>>>>>>>>>    rows=262144, cols=262144
>>>>>>>>>>>    total: nonzeros=1835008, allocated nonzeros=1835008
>>>>>>>>>>>    total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>> Solution       =    1.53600013     sec
>>>>>>>>>>> #PETSc Option Table entries:
>>>>>>>>>>> -da_refine 4
>>>>>>>>>>> -ksp_view
>>>>>>>>>>> -options_left
>>>>>>>>>>> -pc_type mg
>>>>>>>>>>> #End of PETSc Option Table entries
>>>>>>>>>>> There is one unused database option. It is:
>>>>>>>>>>> Option left: name:-da_refine value: 4
>>>>>>>>>>> 
>>>>>>>>>>> Michele
>>>>>>>>>>> 
>>>>>>>>>>> On 08/01/2013 11:21 AM, Barry Smith wrote:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>>    What kind of mesh are you using? Are you using DMDA? If you are 
>>>>>>>>>>>> using DMDA (and have written your code to use it "correctly") then 
>>>>>>>>>>>> it should be trivial to run with geometric multigrid and geometric 
>>>>>>>>>>>> multigrid should be a bit faster.
>>>>>>>>>>>> 
>>>>>>>>>>>>    For example on src/snes/examples/tutorials/ex19.c   I run with 
>>>>>>>>>>>> ./ex19 -pc_type mg -da_refine 4 and it refines the original DMDA 4 
>>>>>>>>>>>> times and uses geometric multigrid with 5 levels.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>    Barry
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On Aug 1, 2013, at 1:14 PM, Michele Rosso
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> <mro...@uci.edu>
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>  wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I am successfully using PETSc (v3.4.2)  to solve a 3D Poisson's 
>>>>>>>>>>>>> equation with CG + GAMG as I was suggested to do in a previous 
>>>>>>>>>>>>> thread.
>>>>>>>>>>>>> So far I am using GAMG with the default settings, i.e.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -pc_type gamg -pc_gamg_agg_nsmooths 1
>>>>>>>>>>>>> 
>>>>>>>>>>>>> The speed of the solution is satisfactory, but I would like to 
>>>>>>>>>>>>> know if you have any suggestions to further speed it up, 
>>>>>>>>>>>>> particularly
>>>>>>>>>>>>> if there is any parameters worth looking into to achieve an even 
>>>>>>>>>>>>> faster solution, for example number of levels and so on.
>>>>>>>>>>>>> So far I am using Dirichlet's BCs for my test case, but I will 
>>>>>>>>>>>>> soon have periodic conditions: in this case, does GAMG require 
>>>>>>>>>>>>> particular settings?
>>>>>>>>>>>>> Finally, I did not try geometric multigrid: do you think it is 
>>>>>>>>>>>>> worth a shot?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Here are my current settings:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I run with
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -pc_type gamg -pc_gamg_agg_nsmooths 1 -ksp_view -options_left
>>>>>>>>>>>>> 
>>>>>>>>>>>>> and the output is:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> KSP Object: 4 MPI processes
>>>>>>>>>>>>>   type: cg
>>>>>>>>>>>>>   maximum iterations=10000
>>>>>>>>>>>>>   tolerances:  relative=1e-08, absolute=1e-50, divergence=10000
>>>>>>>>>>>>>   left preconditioning
>>>>>>>>>>>>>   using nonzero initial guess
>>>>>>>>>>>>>   using UNPRECONDITIONED norm type for convergence test
>>>>>>>>>>>>> PC Object: 4 MPI processes
>>>>>>>>>>>>>   type: gamg
>>>>>>>>>>>>>     MG: type is MULTIPLICATIVE, levels=3 cycles=v
>>>>>>>>>>>>>       Cycles per PCApply=1
>>>>>>>>>>>>>       Using Galerkin computed coarse grid matrices
>>>>>>>>>>>>>   Coarse grid solver -- level -------------------------------
>>>>>>>>>>>>>     KSP Object:    (mg_coarse_)     4 MPI processes
>>>>>>>>>>>>>       type: preonly
>>>>>>>>>>>>>       maximum iterations=1, initial guess is zero
>>>>>>>>>>>>>       tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>>       left preconditioning
>>>>>>>>>>>>>       using NONE norm type for convergence test
>>>>>>>>>>>>>     PC Object:    (mg_coarse_)     4 MPI processes
>>>>>>>>>>>>>       type: bjacobi
>>>>>>>>>>>>>         block Jacobi: number of blocks = 4
>>>>>>>>>>>>>         Local solve info for each block is in the following KSP 
>>>>>>>>>>>>> and PC objects:
>>>>>>>>>>>>>       [0] number of local blocks = 1, first local block number = 0
>>>>>>>>>>>>>                 [0] local block number 0
>>>>>>>>>>>>> KSP Object:          (mg_coarse_sub_)         1 MPI processes
>>>>>>>>>>>>>           type: preonly
>>>>>>>>>>>>>           maximum iterations=1, initial guess is zero
>>>>>>>>>>>>>                 tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>> KSP Object:        (mg_coarse_sub_)            left 
>>>>>>>>>>>>> preconditioning
>>>>>>>>>>>>>           using NONE norm type for convergence test
>>>>>>>>>>>>>           PC Object:        (mg_coarse_sub_)       1 MPI processes
>>>>>>>>>>>>>           type: preonly
>>>>>>>>>>>>>          1 MPI processes
>>>>>>>>>>>>>           type: lu
>>>>>>>>>>>>>           maximum iterations=1, initial guess is zero
>>>>>>>>>>>>>           tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>>           LU: out-of-place factorization
>>>>>>>>>>>>>             left preconditioning
>>>>>>>>>>>>>           using NONE norm type for convergence test
>>>>>>>>>>>>>           PC Object:        (mg_coarse_sub_)         1 MPI 
>>>>>>>>>>>>> processes
>>>>>>>>>>>>>           type: lu
>>>>>>>>>>>>>           tolerance for zero pivot 2.22045e-14
>>>>>>>>>>>>>             using diagonal shift on blocks to prevent zero pivot
>>>>>>>>>>>>>             matrix ordering: nd
>>>>>>>>>>>>>             LU: out-of-place factorization
>>>>>>>>>>>>>             tolerance for zero pivot 2.22045e-14
>>>>>>>>>>>>>             using diagonal shift on blocks to prevent zero pivot
>>>>>>>>>>>>>             matrix ordering: nd
>>>>>>>>>>>>>             factor fill ratio given 5, needed 0
>>>>>>>>>>>>>               Factored matrix follows:
>>>>>>>>>>>>>             factor fill ratio given 5, needed 4.13207
>>>>>>>>>>>>>               Factored matrix follows:
>>>>>>>>>>>>>                   Matrix Object:              Matrix Object:      
>>>>>>>>>>>>>            1 MPI processes
>>>>>>>>>>>>>                   type: seqaij
>>>>>>>>>>>>>                     rows=395, cols=395
>>>>>>>>>>>>>                     package used to perform factorization: petsc
>>>>>>>>>>>>>                   total: nonzeros=132379, allocated 
>>>>>>>>>>>>> nonzeros=132379
>>>>>>>>>>>>>                   total number of mallocs used during 
>>>>>>>>>>>>> MatSetValues calls =0
>>>>>>>>>>>>>                         not using I-node routines
>>>>>>>>>>>>>            1 MPI processes
>>>>>>>>>>>>>                   type: seqaij
>>>>>>>>>>>>>           linear system matrix = precond matrix:
>>>>>>>>>>>>>                     rows=0, cols=0
>>>>>>>>>>>>>                     package used to perform factorization: petsc
>>>>>>>>>>>>>                   total: nonzeros=1, allocated nonzeros=1
>>>>>>>>>>>>>                     total number of mallocs used during 
>>>>>>>>>>>>> MatSetValues calls =0
>>>>>>>>>>>>>                       not using I-node routines
>>>>>>>>>>>>>               linear system matrix = precond matrix:
>>>>>>>>>>>>>   Matrix Object:             1 MPI processes
>>>>>>>>>>>>>             type: seqaij
>>>>>>>>>>>>>           Matrix Object:KSP Object:           1 MPI processes
>>>>>>>>>>>>>             type: seqaij
>>>>>>>>>>>>>             rows=0, cols=0
>>>>>>>>>>>>>             total: nonzeros=0, allocated nonzeros=0
>>>>>>>>>>>>>             total number of mallocs used during MatSetValues 
>>>>>>>>>>>>> calls =0
>>>>>>>>>>>>>                 not using I-node routines
>>>>>>>>>>>>>           rows=395, cols=395
>>>>>>>>>>>>>             total: nonzeros=32037, allocated nonzeros=32037
>>>>>>>>>>>>>             total number of mallocs used during MatSetValues 
>>>>>>>>>>>>> calls =0
>>>>>>>>>>>>>               not using I-node routines
>>>>>>>>>>>>>           - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>           KSP Object:        (mg_coarse_sub_)         1 MPI 
>>>>>>>>>>>>> processes
>>>>>>>>>>>>>           type: preonly
>>>>>>>>>>>>>           maximum iterations=1, initial guess is zero
>>>>>>>>>>>>>           tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>>           left preconditioning
>>>>>>>>>>>>>           using NONE norm type for convergence test
>>>>>>>>>>>>>         PC Object:        (mg_coarse_sub_)         1 MPI processes
>>>>>>>>>>>>>           type: lu
>>>>>>>>>>>>>             LU: out-of-place factorization
>>>>>>>>>>>>>             tolerance for zero pivot 2.22045e-14
>>>>>>>>>>>>>             using diagonal shift on blocks to prevent zero pivot
>>>>>>>>>>>>>             matrix ordering: nd
>>>>>>>>>>>>>             factor fill ratio given 5, needed 0
>>>>>>>>>>>>>               Factored matrix follows:
>>>>>>>>>>>>>                 Matrix Object:                 1 MPI processes
>>>>>>>>>>>>>                   type: seqaij
>>>>>>>>>>>>>                   rows=0, cols=0
>>>>>>>>>>>>>                   package used to perform factorization: petsc
>>>>>>>>>>>>>                   total: nonzeros=1, allocated nonzeros=1
>>>>>>>>>>>>>                   total number of mallocs used during 
>>>>>>>>>>>>> MatSetValues calls =0
>>>>>>>>>>>>>                     not using I-node routines
>>>>>>>>>>>>>           linear system matrix = precond matrix:
>>>>>>>>>>>>>           Matrix Object:           1 MPI processes
>>>>>>>>>>>>>             type: seqaij
>>>>>>>>>>>>>             rows=0, cols=0
>>>>>>>>>>>>>             total: nonzeros=0, allocated nonzeros=0
>>>>>>>>>>>>>             total number of mallocs used during MatSetValues 
>>>>>>>>>>>>> calls =0
>>>>>>>>>>>>>               not using I-node routines
>>>>>>>>>>>>>   (mg_coarse_sub_)         1 MPI processes
>>>>>>>>>>>>>           type: preonly
>>>>>>>>>>>>>           maximum iterations=1, initial guess is zero
>>>>>>>>>>>>>           tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>>           left preconditioning
>>>>>>>>>>>>>           using NONE norm type for convergence test
>>>>>>>>>>>>>         PC Object:        (mg_coarse_sub_)         1 MPI processes
>>>>>>>>>>>>>           type: lu
>>>>>>>>>>>>>             LU: out-of-place factorization
>>>>>>>>>>>>>             tolerance for zero pivot 2.22045e-14
>>>>>>>>>>>>>             using diagonal shift on blocks to prevent zero pivot
>>>>>>>>>>>>>             matrix ordering: nd
>>>>>>>>>>>>>             factor fill ratio given 5, needed 0
>>>>>>>>>>>>>               Factored matrix follows:
>>>>>>>>>>>>>                 Matrix Object:                 1 MPI processes
>>>>>>>>>>>>>                   type: seqaij
>>>>>>>>>>>>>                   rows=0, cols=0
>>>>>>>>>>>>>                   package used to perform factorization: petsc
>>>>>>>>>>>>>                   total: nonzeros=1, allocated nonzeros=1
>>>>>>>>>>>>>                   total number of mallocs used during 
>>>>>>>>>>>>> MatSetValues calls =0
>>>>>>>>>>>>>                     not using I-node routines
>>>>>>>>>>>>>           linear system matrix = precond matrix:
>>>>>>>>>>>>>           Matrix Object:           1 MPI processes
>>>>>>>>>>>>>             type: seqaij
>>>>>>>>>>>>>             rows=0, cols=0
>>>>>>>>>>>>>             total: nonzeros=0, allocated nonzeros=0
>>>>>>>>>>>>>             total number of mallocs used during MatSetValues 
>>>>>>>>>>>>> calls =0
>>>>>>>>>>>>>               not using I-node routines
>>>>>>>>>>>>>       [1] number of local blocks = 1, first local block number = 1
>>>>>>>>>>>>>         [1] local block number 0
>>>>>>>>>>>>>         - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>       [2] number of local blocks = 1, first local block number = 2
>>>>>>>>>>>>>         [2] local block number 0
>>>>>>>>>>>>>         - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>       [3] number of local blocks = 1, first local block number = 3
>>>>>>>>>>>>>         [3] local block number 0
>>>>>>>>>>>>>         - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>       linear system matrix = precond matrix:
>>>>>>>>>>>>>       Matrix Object:       4 MPI processes
>>>>>>>>>>>>>         type: mpiaij
>>>>>>>>>>>>>         rows=395, cols=395
>>>>>>>>>>>>>         total: nonzeros=32037, allocated nonzeros=32037
>>>>>>>>>>>>>         total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>>>>           not using I-node (on process 0) routines
>>>>>>>>>>>>>   Down solver (pre-smoother) on level 1 
>>>>>>>>>>>>> -------------------------------
>>>>>>>>>>>>>     KSP Object:    (mg_levels_1_)     4 MPI processes
>>>>>>>>>>>>>       type: chebyshev
>>>>>>>>>>>>>         Chebyshev: eigenvalue estimates:  min = 0.0636225, max = 
>>>>>>>>>>>>> 1.33607
>>>>>>>>>>>>>       maximum iterations=2
>>>>>>>>>>>>>       tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>>       left preconditioning
>>>>>>>>>>>>>       using nonzero initial guess
>>>>>>>>>>>>>       using NONE norm type for convergence test
>>>>>>>>>>>>>     PC Object:    (mg_levels_1_)     4 MPI processes
>>>>>>>>>>>>>       type: jacobi
>>>>>>>>>>>>>       linear system matrix = precond matrix:
>>>>>>>>>>>>>       Matrix Object:       4 MPI processes
>>>>>>>>>>>>>         type: mpiaij
>>>>>>>>>>>>>         rows=23918, cols=23918
>>>>>>>>>>>>>         total: nonzeros=818732, allocated nonzeros=818732
>>>>>>>>>>>>>         total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>>>>           not using I-node (on process 0) routines
>>>>>>>>>>>>>   Up solver (post-smoother) same as down solver (pre-smoother)
>>>>>>>>>>>>>   Down solver (pre-smoother) on level 2 
>>>>>>>>>>>>> -------------------------------
>>>>>>>>>>>>>     KSP Object:    (mg_levels_2_)     4 MPI processes
>>>>>>>>>>>>>       type: chebyshev
>>>>>>>>>>>>>         Chebyshev: eigenvalue estimates:  min = 0.0971369, max = 
>>>>>>>>>>>>> 2.03987
>>>>>>>>>>>>>       maximum iterations=2
>>>>>>>>>>>>>       tolerances:  relative=1e-05, absolute=1e-50, 
>>>>>>>>>>>>> divergence=10000
>>>>>>>>>>>>>       left preconditioning
>>>>>>>>>>>>>       using nonzero initial guess
>>>>>>>>>>>>>       using NONE norm type for convergence test
>>>>>>>>>>>>>     PC Object:    (mg_levels_2_)     4 MPI processes
>>>>>>>>>>>>>       type: jacobi
>>>>>>>>>>>>>       linear system matrix = precond matrix:
>>>>>>>>>>>>>       Matrix Object:       4 MPI processes
>>>>>>>>>>>>>         type: mpiaij
>>>>>>>>>>>>>         rows=262144, cols=262144
>>>>>>>>>>>>>         total: nonzeros=1835008, allocated nonzeros=1835008
>>>>>>>>>>>>>         total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>>>>   Up solver (post-smoother) same as down solver (pre-smoother)
>>>>>>>>>>>>>   linear system matrix = precond matrix:
>>>>>>>>>>>>>   Matrix Object:   4 MPI processes
>>>>>>>>>>>>>     type: mpiaij
>>>>>>>>>>>>>     rows=262144, cols=262144
>>>>>>>>>>>>>     total: nonzeros=1835008, allocated nonzeros=1835008
>>>>>>>>>>>>>     total number of mallocs used during MatSetValues calls =0
>>>>>>>>>>>>> #PETSc Option Table entries:
>>>>>>>>>>>>> -ksp_view
>>>>>>>>>>>>> -options_left
>>>>>>>>>>>>> -pc_gamg_agg_nsmooths 1
>>>>>>>>>>>>> -pc_type gamg
>>>>>>>>>>>>> #End of PETSc Option Table entries
>>>>>>>>>>>>> There are no unused options.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>> Michele
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>> 
> 
> <test_poisson_solver.tar.gz><2decomp_fft-1.5.847-modified.tar.gz>

Reply via email to