Run with GMRES, what happens? On Jun 4, 2009, at 11:07 AM, Andreas Grassl wrote:
Barry Smith schrieb:
On Jun 3, 2009, at 5:29 PM, Andreas Grassl wrote:
Barry Smith schrieb:
When properly running nn-cg (are you sure everything is symmetric?) should require 10-30 iterations (certainly for model problems)
ok, this was the number I expected.
nn-cg on 2 nodes 229 iterations, condition 6285 nn-cg on 4 nodes 331 iterations, condition 13312
Are you sure that your operator has the null space of only constants?
no, I didn't touch anything regarding the null space since I thought it would be done inside the NN-preconditioner. Does this mean I have to set up a null space of the size of the Schur complement system, i.e. the number of interface DOF's?
No, I don't think you need to do anything about the null space. The code in PETSc for NN is for (and only for) a null space of constants. BTW: with 2 or 4 subdomains they all touch the boundary and likely don't have a null space anyways.
Run with -ksp_view and make sure the local solves are being done with LU
I don't find the anomalies... setting local_ksp-rtol to 1e-8 doesn't change anything
the options passed are:
-is_localD_ksp_type preonly -is_localD_pc_factor_shift_positive_definite -is_localD_pc_type lu -is_localN_ksp_type preonly -is_localN_pc_factor_shift_positive_definite -is_localN_pc_type lu -ksp_rtol 1e-8 -ksp_view #-is_localD_ksp_view #-is_localN_ksp_view #-nn_coarse_ksp_view # -pc_is_remove_nullspace_fixed this option doesn't produce any effect -log_summary -options_left
and produce:
-ksp_view:
KSP Object: type: cg maximum iterations=10000 tolerances: relative=1e-08, absolute=1e-50, divergence=10000 left preconditioning PC Object: type: nn linear system matrix = precond matrix: Matrix Object: type=is, rows=28632, cols=28632 Matrix Object:(is) type=seqaij, rows=7537, cols=7537 total: nonzeros=359491, allocated nonzeros=602960 using I-node routines: found 4578 nodes, limit used is 5 Matrix Object:(is) type=seqaij, rows=7515, cols=7515 total: nonzeros=349347, allocated nonzeros=601200 using I-node routines: found 5159 nodes, limit used is 5 Matrix Object:(is) type=seqaij, rows=7533, cols=7533 total: nonzeros=357291, allocated nonzeros=602640 using I-node routines: found 4739 nodes, limit used is 5 Matrix Object:(is) type=seqaij, rows=7360, cols=7360 total: nonzeros=364390, allocated nonzeros=588800 using I-node routines: found 3602 nodes, limit used is 5
-is_local...:
KSP Object:(is_localD_) type: preonly maximum iterations=10000, initial guess is zero tolerances: relative=1e-05, absolute=1e-50, divergence=10000 left preconditioning PC Object:(is_localD_) type: lu LU: out-of-place factorization matrix ordering: nd LU: tolerance for zero pivot 1e-12 LU: using Manteuffel shift LU: factor fill ratio needed 4.73566 Factored matrix follows Matrix Object: type=seqaij, rows=6714, cols=6714 package used to perform factorization: petsc total: nonzeros=1479078, allocated nonzeros=1479078 using I-node routines: found 2790 nodes, limit used is 5 linear system matrix = precond matrix: Matrix Object: type=seqaij, rows=6714, cols=6714 total: nonzeros=312328, allocated nonzeros=312328 using I-node routines: found 4664 nodes, limit used is 5
KSP Object:(is_localN_) type: preonly maximum iterations=10000, initial guess is zero tolerances: relative=1e-05, absolute=1e-50, divergence=10000 left preconditioning PC Object:(is_localN_) type: lu LU: out-of-place factorization matrix ordering: nd LU: tolerance for zero pivot 1e-12 LU: using Manteuffel shift LU: factor fill ratio needed 5.07571 Factored matrix follows Matrix Object: type=seqaij, rows=7537, cols=7537 package used to perform factorization: petsc total: nonzeros=1824671, allocated nonzeros=1824671 using I-node routines: found 2939 nodes, limit used is 5 linear system matrix = precond matrix: Matrix Object:(is) type=seqaij, rows=7537, cols=7537 total: nonzeros=359491, allocated nonzeros=602960 using I-node routines: found 4578 nodes, limit used is 5
-nn_coarse_ksp_view:
KSP Object:(nn_coarse_) type: preonly maximum iterations=10000, initial guess is zero tolerances: relative=1e-05, absolute=1e-50, divergence=10000 left preconditioning PC Object:(nn_coarse_) type: redundant Redundant preconditioner: First (color=0) of 4 PCs follows KSP Object:(redundant_) type: preonly maximum iterations=10000, initial guess is zero tolerances: relative=1e-05, absolute=1e-50, divergence=10000 left preconditioning PC Object:(redundant_) type: lu LU: out-of-place factorization matrix ordering: nd LU: tolerance for zero pivot 1e-12 LU: factor fill ratio needed 1 Factored matrix follows Matrix Object: type=seqaij, rows=4, cols=4 package used to perform factorization: petsc total: nonzeros=4, allocated nonzeros=4 not using I-node routines linear system matrix = precond matrix: Matrix Object: type=seqaij, rows=4, cols=4 total: nonzeros=4, allocated nonzeros=4 not using I-node routines linear system matrix = precond matrix: Matrix Object: type=mpiaij, rows=4, cols=4 total: nonzeros=4, allocated nonzeros=68 not using I-node (on process 0) routines
cheers,
ando
-- /"\ Grassl Andreas \ / ASCII Ribbon Campaign Uni Innsbruck Institut f. Mathematik X against HTML email Technikerstr. 13 Zi 709 / \ +43 (0)512 507 6091