[petsc-users] Question about Set-up of Full MG and its Output
Jed Brown
jed at jedbrown.org
Tue Dec 6 16:31:48 CST 2016
frank <hengjiew at uci.edu> writes:
> Dear all,
>
> I am trying to use full MG to solve a 2D Poisson equation.
>
> I want to set full MG as the solver and SOR as the smoother. Is the
> following setup the proper way to do it?
> -ksp_type richardson
> -pc_type mg
> -pc_mg_type full
> -mg_levels_ksp_type richardson
> -mg_levels_pc_type sor
>
> The ksp_view shows the levels from the coarsest mesh to finest mesh in a
> linear order.
It is showing the solver configuration, not a trace of the cycle.
> I was expecting sth like: coarsest -> level1 -> coarsest -> level1 ->
> level2 -> level1 -> coarsest -> ...
> Is there a way to show exactly how the full MG proceeds?
You could get a trace like this from
-mg_coarse_ksp_converged_reason -mg_levels_ksp_converged_reason
If you want to deliminate the iterations, you could add -ksp_monitor.
> Also in the above example, I want to know what interpolation or
> prolongation method is used from level1 to level2.
> Can I get that info by adding some options? (not using PCMGGetInterpolation)
>
> I attached the ksp_view info and my petsc options file.
> Thank you.
>
> Frank
> Linear solve converged due to CONVERGED_RTOL iterations 3
> KSP Object: 1 MPI processes
> type: richardson
> Richardson: damping factor=1.
> maximum iterations=10000
> tolerances: relative=1e-07, absolute=1e-50, divergence=10000.
> left preconditioning
> using nonzero initial guess
> using UNPRECONDITIONED norm type for convergence test
> PC Object: 1 MPI processes
> type: mg
> MG: type is FULL, levels=6 cycles=v
> Using Galerkin computed coarse grid matrices
> Coarse grid solver -- level -------------------------------
> KSP Object: (mg_coarse_) 1 MPI processes
> type: preonly
> maximum iterations=10000, 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_) 1 MPI processes
> type: lu
> out-of-place factorization
> tolerance for zero pivot 2.22045e-14
> using diagonal shift on blocks to prevent zero pivot [INBLOCKS]
> matrix ordering: nd
> factor fill ratio given 0., needed 0.
> Factored matrix follows:
> Mat Object: 1 MPI processes
> type: superlu_dist
> rows=64, cols=64
> package used to perform factorization: superlu_dist
> total: nonzeros=0, allocated nonzeros=0
> total number of mallocs used during MatSetValues calls =0
> SuperLU_DIST run parameters:
> Process grid nprow 1 x npcol 1
> Equilibrate matrix TRUE
> Matrix input mode 0
> Replace tiny pivots FALSE
> Use iterative refinement FALSE
> Processors in row 1 col partition 1
> Row permutation LargeDiag
> Column permutation METIS_AT_PLUS_A
> Parallel symbolic factorization FALSE
> Repeated factorization SamePattern
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=64, cols=64
> total: nonzeros=576, allocated nonzeros=576
> total number of mallocs used during MatSetValues calls =0
> not using I-node routines
> Down solver (pre-smoother) on level 1 -------------------------------
> KSP Object: (mg_levels_1_) 1 MPI processes
> type: richardson
> Richardson: damping factor=1.
> maximum iterations=1
> 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_) 1 MPI processes
> type: sor
> SOR: type = local_symmetric, iterations = 1, local iterations = 1, omega = 1.
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=256, cols=256
> total: nonzeros=2304, allocated nonzeros=2304
> total number of mallocs used during MatSetValues calls =0
> not using I-node routines
> Up solver (post-smoother) same as down solver (pre-smoother)
> Down solver (pre-smoother) on level 2 -------------------------------
> KSP Object: (mg_levels_2_) 1 MPI processes
> type: richardson
> Richardson: damping factor=1.
> maximum iterations=1
> 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_) 1 MPI processes
> type: sor
> SOR: type = local_symmetric, iterations = 1, local iterations = 1, omega = 1.
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=1024, cols=1024
> total: nonzeros=9216, allocated nonzeros=9216
> total number of mallocs used during MatSetValues calls =0
> not using I-node routines
> Up solver (post-smoother) same as down solver (pre-smoother)
> Down solver (pre-smoother) on level 3 -------------------------------
> KSP Object: (mg_levels_3_) 1 MPI processes
> type: richardson
> Richardson: damping factor=1.
> maximum iterations=1
> 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_3_) 1 MPI processes
> type: sor
> SOR: type = local_symmetric, iterations = 1, local iterations = 1, omega = 1.
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=4096, cols=4096
> total: nonzeros=36864, allocated nonzeros=36864
> total number of mallocs used during MatSetValues calls =0
> not using I-node routines
> Up solver (post-smoother) same as down solver (pre-smoother)
> Down solver (pre-smoother) on level 4 -------------------------------
> KSP Object: (mg_levels_4_) 1 MPI processes
> type: richardson
> Richardson: damping factor=1.
> maximum iterations=1
> 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_4_) 1 MPI processes
> type: sor
> SOR: type = local_symmetric, iterations = 1, local iterations = 1, omega = 1.
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=16384, cols=16384
> total: nonzeros=147456, allocated nonzeros=147456
> total number of mallocs used during MatSetValues calls =0
> not using I-node routines
> Up solver (post-smoother) same as down solver (pre-smoother)
> Down solver (pre-smoother) on level 5 -------------------------------
> KSP Object: (mg_levels_5_) 1 MPI processes
> type: richardson
> Richardson: damping factor=1.
> maximum iterations=1
> 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_5_) 1 MPI processes
> type: sor
> SOR: type = local_symmetric, iterations = 1, local iterations = 1, omega = 1.
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=65536, cols=65536
> total: nonzeros=327680, allocated nonzeros=327680
> total number of mallocs used during MatSetValues calls =0
> has attached null space
> not using I-node routines
> Up solver (post-smoother) same as down solver (pre-smoother)
> linear system matrix = precond matrix:
> Mat Object: 1 MPI processes
> type: seqaij
> rows=65536, cols=65536
> total: nonzeros=327680, allocated nonzeros=327680
> total number of mallocs used during MatSetValues calls =0
> has attached null space
> not using I-node routines
> #PETSc Option Table entries:
> -ksp_converged_reason
> -ksp_initial_guess_nonzero yes
> -ksp_norm_type unpreconditioned
> -ksp_rtol 1e-7
> -ksp_type richardson
> -ksp_view
> -mg_coarse_ksp_type preonly
> -mg_coarse_pc_factor_mat_solver_package superlu_dist
> -mg_coarse_pc_type lu
> -mg_levels_ksp_max_it 1
> -mg_levels_ksp_type richardson
> -mg_levels_pc_type sor
> -N 256
> -options_left
> -pc_mg_galerkin
> -pc_mg_levels 6
> -pc_mg_type full
> -pc_type mg
> -px 1
> -py 1
> #End of PETSc Option Table entries
> There are no unused options.
> -ksp_type richardson
> -ksp_norm_type unpreconditioned
> -ksp_rtol 1e-7
> -options_left
> -ksp_initial_guess_nonzero yes
> -ksp_converged_reason
> -ksp_view
> -pc_type mg
> -pc_mg_type full
> -pc_mg_galerkin
> -pc_mg_levels 6
> -mg_levels_ksp_type richardson
> -mg_levels_pc_type sor
> -mg_levels_ksp_max_it 1
> -mg_coarse_ksp_type preonly
> -mg_coarse_pc_type lu
> -mg_coarse_pc_factor_mat_solver_package superlu_dist
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161206/61011ca5/attachment.pgp>
More information about the petsc-users
mailing list