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 >>>>>>> >>>>>>> >> >