[petsc-users] KSP not converge when turn on ksp_monitor_true_residual

Y. Shidi ys453 at cam.ac.uk
Fri Jun 5 09:17:52 CDT 2020


Thank you for your reply.
I set the relative tolerance of 1e-10, below is the output with
ksp_monitor_true_residual,

step 1 (converged):

   0 KSP unpreconditioned resid norm 5.853072011788e-01 true resid norm 
5.853072011788e-01 ||r(i)||/||b|| 1.000000000000e+00
   1 KSP unpreconditioned resid norm 1.263467051263e-02 true resid norm 
1.263467051263e-02 ||r(i)||/||b|| 2.158639170539e-02
   2 KSP unpreconditioned resid norm 1.341051880494e-03 true resid norm 
1.341051880494e-03 ||r(i)||/||b|| 2.291193202122e-03
   3 KSP unpreconditioned resid norm 5.281711107599e-04 true resid norm 
5.281711107599e-04 ||r(i)||/||b|| 9.023827311473e-04
   4 KSP unpreconditioned resid norm 2.265161267248e-04 true resid norm 
2.265161267248e-04 ||r(i)||/||b|| 3.870038268256e-04
   5 KSP unpreconditioned resid norm 6.083108409953e-05 true resid norm 
6.083108409954e-05 ||r(i)||/||b|| 1.039301822650e-04
   6 KSP unpreconditioned resid norm 2.049038801905e-05 true resid norm 
2.049038801906e-05 ||r(i)||/||b|| 3.500792058903e-05
   7 KSP unpreconditioned resid norm 4.908575378578e-06 true resid norm 
4.908575378575e-06 ||r(i)||/||b|| 8.386323231099e-06
   8 KSP unpreconditioned resid norm 1.160371295964e-06 true resid norm 
1.160371295960e-06 ||r(i)||/||b|| 1.982499606399e-06
   9 KSP unpreconditioned resid norm 2.993349323170e-07 true resid norm 
2.993349323154e-07 ||r(i)||/||b|| 5.114150854671e-07
  10 KSP unpreconditioned resid norm 6.423860393220e-08 true resid norm 
6.423860392241e-08 ||r(i)||/||b|| 1.097519452913e-07
  11 KSP unpreconditioned resid norm 1.486343352971e-08 true resid norm 
1.486343352542e-08 ||r(i)||/||b|| 2.539424339131e-08
  12 KSP unpreconditioned resid norm 3.388518888745e-09 true resid norm 
3.388518889406e-09 ||r(i)||/||b|| 5.789299845588e-09
  13 KSP unpreconditioned resid norm 8.414456498118e-10 true resid norm 
8.414456551004e-10 ||r(i)||/||b|| 1.437613706795e-09
  14 KSP unpreconditioned resid norm 2.052670281766e-10 true resid norm 
2.052670332352e-10 ||r(i)||/||b|| 3.506996545092e-10
  15 KSP unpreconditioned resid norm 4.739342260680e-11 true resid norm 
4.739342219912e-11 ||r(i)||/||b|| 8.097187614243e-11
Linear solve converged due to CONVERGED_RTOL iterations 15
KSP Object: 1 MPI processes
   type: fgmres
     restart=30, using Classical (unmodified) Gram-Schmidt 
Orthogonalization with no iterative refinement
     happy breakdown tolerance 1e-30
   maximum iterations=10000, nonzero initial guess
   tolerances:  relative=1e-10, absolute=1e-50, divergence=10000.
   right preconditioning
   using UNPRECONDITIONED norm type for convergence test
PC Object: 1 MPI processes
   type: fieldsplit
     FieldSplit with Schur preconditioner, factorization FULL
     Preconditioner for the Schur complement formed from Sp, an assembled 
approximation to S, which uses A00's diagonal's inverse
     Split info:
     Split number 0 Defined by IS
     Split number 1 Defined by IS
     KSP solver for A00 block
       KSP Object: (fieldsplit_0_) 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: (fieldsplit_0_) 1 MPI processes
         type: hypre
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix = precond matrix:
         Mat Object: (fieldsplit_0_) 1 MPI processes
           type: seqaij
           rows=28578, cols=28578
           total: nonzeros=653916, allocated nonzeros=653916
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
     KSP solver for S = A11 - A10 inv(A00) A01
       KSP Object: (fieldsplit_1_) 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: (fieldsplit_1_) 1 MPI processes
         type: hypre
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix followed by preconditioner matrix:
         Mat Object: (fieldsplit_1_) 1 MPI processes
           type: schurcomplement
           rows=3874, cols=3874
             Schur complement A11 - A10 inv(A00) A01
             A11
               Mat Object: (fieldsplit_1_) 1 MPI processes
                 type: seqaij
                 rows=3874, cols=3874
                 total: nonzeros=0, allocated nonzeros=0
                 total number of mallocs used during MatSetValues calls 
=0
                   using I-node routines: found 775 nodes, limit used is 
5
             A10
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=3874, cols=28578
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
             KSP of A00
               KSP Object: (fieldsplit_0_) 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: (fieldsplit_0_) 1 MPI processes
                 type: hypre
                   HYPRE BoomerAMG preconditioning
                     Cycle type V
                     Maximum number of levels 25
                     Maximum number of iterations PER hypre call 1
                     Convergence tolerance PER hypre call 0.
                     Threshold for strong coupling 0.25
                     Interpolation truncation factor 0.
                     Interpolation: max elements per row 0
                     Number of levels of aggressive coarsening 0
                     Number of paths for aggressive coarsening 1
                     Maximum row sums 0.9
                     Sweeps down         1
                     Sweeps up           1
                     Sweeps on coarse    1
                     Relax down          symmetric-SOR/Jacobi
                     Relax up            symmetric-SOR/Jacobi
                     Relax on coarse     Gaussian-elimination
                     Relax weight  (all)      1.
                     Outer relax weight (all) 1.
                     Using CF-relaxation
                     Not using more complex smoothers.
                     Measure type        local
                     Coarsen type        Falgout
                     Interpolation type  classical
                 linear system matrix = precond matrix:
                 Mat Object: (fieldsplit_0_) 1 MPI processes
                   type: seqaij
                   rows=28578, cols=28578
                   total: nonzeros=653916, allocated nonzeros=653916
                   total number of mallocs used during MatSetValues calls 
=0
                     not using I-node routines
             A01
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=28578, cols=3874
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
         Mat Object: 1 MPI processes
           type: seqaij
           rows=3874, cols=3874
           total: nonzeros=77704, allocated nonzeros=77704
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
   linear system matrix = precond matrix:
   Mat Object: 1 MPI processes
     type: nest
     rows=32452, cols=32452
       Matrix object:
         type=nest, rows=2, cols=2
         MatNest structure:
         (0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, 
cols=28578
         (0,1) : type=seqaij, rows=28578, cols=3874
         (1,0) : type=seqaij, rows=3874, cols=28578
         (1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, 
cols=3874

step 2 (NOT converged):

Linear solve did not converge due to DIVERGED_NANORINF iterations 0
KSP Object: 1 MPI processes
   type: fgmres
     restart=30, using Classical (unmodified) Gram-Schmidt 
Orthogonalization with no iterative refinement
     happy breakdown tolerance 1e-30
   maximum iterations=10000, nonzero initial guess
   tolerances:  relative=1e-10, absolute=1e-50, divergence=10000.
   right preconditioning
   using UNPRECONDITIONED norm type for convergence test
PC Object: 1 MPI processes
   type: fieldsplit
     FieldSplit with Schur preconditioner, factorization FULL
     Preconditioner for the Schur complement formed from Sp, an assembled 
approximation to S, which uses A00's diagonal's inverse
     Split info:
     Split number 0 Defined by IS
     Split number 1 Defined by IS
     KSP solver for A00 block
       KSP Object: (fieldsplit_0_) 1 MPI processes
         type: preonly
         maximum iterations=10000, initial guess is zero
         tolerances:  relative=1e-05, absolute=1e-50, divergence=10000.
         left preconditioning
         using DEFAULT norm type for convergence test
       PC Object: (fieldsplit_0_) 1 MPI processes
         type: hypre
         PC has not been set up so information may be incomplete
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix = precond matrix:
         Mat Object: (fieldsplit_0_) 1 MPI processes
           type: seqaij
           rows=28578, cols=28578
           total: nonzeros=653916, allocated nonzeros=653916
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
     KSP solver for S = A11 - A10 inv(A00) A01
       KSP Object: (fieldsplit_1_) 1 MPI processes
         type: preonly
         maximum iterations=10000, initial guess is zero
         tolerances:  relative=1e-05, absolute=1e-50, divergence=10000.
         left preconditioning
         using DEFAULT norm type for convergence test
       PC Object: (fieldsplit_1_) 1 MPI processes
         type: hypre
         PC has not been set up so information may be incomplete
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix followed by preconditioner matrix:
         Mat Object: (fieldsplit_1_) 1 MPI processes
           type: schurcomplement
           rows=3874, cols=3874
             Schur complement A11 - A10 inv(A00) A01
             A11
               Mat Object: (fieldsplit_1_) 1 MPI processes
                 type: seqaij
                 rows=3874, cols=3874
                 total: nonzeros=0, allocated nonzeros=0
                 total number of mallocs used during MatSetValues calls 
=0
                   using I-node routines: found 775 nodes, limit used is 
5
             A10
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=3874, cols=28578
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
             KSP of A00
               KSP Object: (fieldsplit_0_) 1 MPI processes
                 type: preonly
                 maximum iterations=10000, initial guess is zero
                 tolerances:  relative=1e-05, absolute=1e-50, 
divergence=10000.
                 left preconditioning
                 using DEFAULT norm type for convergence test
               PC Object: (fieldsplit_0_) 1 MPI processes
                 type: hypre
                 PC has not been set up so information may be incomplete
                   HYPRE BoomerAMG preconditioning
                     Cycle type V
                     Maximum number of levels 25
                     Maximum number of iterations PER hypre call 1
                     Convergence tolerance PER hypre call 0.
                     Threshold for strong coupling 0.25
                     Interpolation truncation factor 0.
                     Interpolation: max elements per row 0
                     Number of levels of aggressive coarsening 0
                     Number of paths for aggressive coarsening 1
                     Maximum row sums 0.9
                     Sweeps down         1
                     Sweeps up           1
                     Sweeps on coarse    1
                     Relax down          symmetric-SOR/Jacobi
                     Relax up            symmetric-SOR/Jacobi
                     Relax on coarse     Gaussian-elimination
                     Relax weight  (all)      1.
                     Outer relax weight (all) 1.
                     Using CF-relaxation
                     Not using more complex smoothers.
                     Measure type        local
                     Coarsen type        Falgout
                     Interpolation type  classical
                 linear system matrix = precond matrix:
                 Mat Object: (fieldsplit_0_) 1 MPI processes
                   type: seqaij
                   rows=28578, cols=28578
                   total: nonzeros=653916, allocated nonzeros=653916
                   total number of mallocs used during MatSetValues calls 
=0
                     not using I-node routines
             A01
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=28578, cols=3874
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
         Mat Object: 1 MPI processes
           type: seqaij
           rows=3874, cols=3874
           total: nonzeros=77704, allocated nonzeros=77704
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
   linear system matrix = precond matrix:
   Mat Object: 1 MPI processes
     type: nest
     rows=32452, cols=32452
       Matrix object:
         type=nest, rows=2, cols=2
         MatNest structure:
         (0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, 
cols=28578
         (0,1) : type=seqaij, rows=28578, cols=3874
         (1,0) : type=seqaij, rows=3874, cols=28578
         (1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, 
cols=3874

HOWEVER, if I do not use -ksp_monitor_true_residual, both two
steps converge.

step 1:
Linear solve converged due to CONVERGED_RTOL iterations 15
KSP Object: 1 MPI processes
   type: fgmres
     restart=30, using Classical (unmodified) Gram-Schmidt 
Orthogonalization with no iterative refinement
     happy breakdown tolerance 1e-30
   maximum iterations=10000, nonzero initial guess
   tolerances:  relative=1e-10, absolute=1e-50, divergence=10000.
   right preconditioning
   using UNPRECONDITIONED norm type for convergence test
PC Object: 1 MPI processes
   type: fieldsplit
     FieldSplit with Schur preconditioner, factorization FULL
     Preconditioner for the Schur complement formed from Sp, an assembled 
approximation to S, which uses A00's diagonal's inverse
     Split info:
     Split number 0 Defined by IS
     Split number 1 Defined by IS
     KSP solver for A00 block
       KSP Object: (fieldsplit_0_) 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: (fieldsplit_0_) 1 MPI processes
         type: hypre
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix = precond matrix:
         Mat Object: (fieldsplit_0_) 1 MPI processes
           type: seqaij
           rows=28578, cols=28578
           total: nonzeros=653916, allocated nonzeros=653916
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
     KSP solver for S = A11 - A10 inv(A00) A01
       KSP Object: (fieldsplit_1_) 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: (fieldsplit_1_) 1 MPI processes
         type: hypre
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix followed by preconditioner matrix:
         Mat Object: (fieldsplit_1_) 1 MPI processes
           type: schurcomplement
           rows=3874, cols=3874
             Schur complement A11 - A10 inv(A00) A01
             A11
               Mat Object: (fieldsplit_1_) 1 MPI processes
                 type: seqaij
                 rows=3874, cols=3874
                 total: nonzeros=0, allocated nonzeros=0
                 total number of mallocs used during MatSetValues calls 
=0
                   using I-node routines: found 775 nodes, limit used is 
5
             A10
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=3874, cols=28578
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
             KSP of A00
               KSP Object: (fieldsplit_0_) 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: (fieldsplit_0_) 1 MPI processes
                 type: hypre
                   HYPRE BoomerAMG preconditioning
                     Cycle type V
                     Maximum number of levels 25
                     Maximum number of iterations PER hypre call 1
                     Convergence tolerance PER hypre call 0.
                     Threshold for strong coupling 0.25
                     Interpolation truncation factor 0.
                     Interpolation: max elements per row 0
                     Number of levels of aggressive coarsening 0
                     Number of paths for aggressive coarsening 1
                     Maximum row sums 0.9
                     Sweeps down         1
                     Sweeps up           1
                     Sweeps on coarse    1
                     Relax down          symmetric-SOR/Jacobi
                     Relax up            symmetric-SOR/Jacobi
                     Relax on coarse     Gaussian-elimination
                     Relax weight  (all)      1.
                     Outer relax weight (all) 1.
                     Using CF-relaxation
                     Not using more complex smoothers.
                     Measure type        local
                     Coarsen type        Falgout
                     Interpolation type  classical
                 linear system matrix = precond matrix:
                 Mat Object: (fieldsplit_0_) 1 MPI processes
                   type: seqaij
                   rows=28578, cols=28578
                   total: nonzeros=653916, allocated nonzeros=653916
                   total number of mallocs used during MatSetValues calls 
=0
                     not using I-node routines
             A01
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=28578, cols=3874
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
         Mat Object: 1 MPI processes
           type: seqaij
           rows=3874, cols=3874
           total: nonzeros=77704, allocated nonzeros=77704
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
   linear system matrix = precond matrix:
   Mat Object: 1 MPI processes
     type: nest
     rows=32452, cols=32452
       Matrix object:
         type=nest, rows=2, cols=2
         MatNest structure:
         (0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, 
cols=28578
         (0,1) : type=seqaij, rows=28578, cols=3874
         (1,0) : type=seqaij, rows=3874, cols=28578
         (1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, 
cols=3874

step 2:

Linear solve converged due to CONVERGED_RTOL iterations 1
KSP Object: 1 MPI processes
   type: fgmres
     restart=30, using Classical (unmodified) Gram-Schmidt 
Orthogonalization with no iterative refinement
     happy breakdown tolerance 1e-30
   maximum iterations=10000, nonzero initial guess
   tolerances:  relative=1e-10, absolute=1e-50, divergence=10000.
   right preconditioning
   using UNPRECONDITIONED norm type for convergence test
PC Object: 1 MPI processes
   type: fieldsplit
     FieldSplit with Schur preconditioner, factorization FULL
     Preconditioner for the Schur complement formed from Sp, an assembled 
approximation to S, which uses A00's diagonal's inverse
     Split info:
     Split number 0 Defined by IS
     Split number 1 Defined by IS
     KSP solver for A00 block
       KSP Object: (fieldsplit_0_) 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: (fieldsplit_0_) 1 MPI processes
         type: hypre
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix = precond matrix:
         Mat Object: (fieldsplit_0_) 1 MPI processes
           type: seqaij
           rows=28578, cols=28578
           total: nonzeros=653916, allocated nonzeros=653916
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
     KSP solver for S = A11 - A10 inv(A00) A01
       KSP Object: (fieldsplit_1_) 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: (fieldsplit_1_) 1 MPI processes
         type: hypre
           HYPRE BoomerAMG preconditioning
             Cycle type V
             Maximum number of levels 25
             Maximum number of iterations PER hypre call 1
             Convergence tolerance PER hypre call 0.
             Threshold for strong coupling 0.25
             Interpolation truncation factor 0.
             Interpolation: max elements per row 0
             Number of levels of aggressive coarsening 0
             Number of paths for aggressive coarsening 1
             Maximum row sums 0.9
             Sweeps down         1
             Sweeps up           1
             Sweeps on coarse    1
             Relax down          symmetric-SOR/Jacobi
             Relax up            symmetric-SOR/Jacobi
             Relax on coarse     Gaussian-elimination
             Relax weight  (all)      1.
             Outer relax weight (all) 1.
             Using CF-relaxation
             Not using more complex smoothers.
             Measure type        local
             Coarsen type        Falgout
             Interpolation type  classical
         linear system matrix followed by preconditioner matrix:
         Mat Object: (fieldsplit_1_) 1 MPI processes
           type: schurcomplement
           rows=3874, cols=3874
             Schur complement A11 - A10 inv(A00) A01
             A11
               Mat Object: (fieldsplit_1_) 1 MPI processes
                 type: seqaij
                 rows=3874, cols=3874
                 total: nonzeros=0, allocated nonzeros=0
                 total number of mallocs used during MatSetValues calls 
=0
                   using I-node routines: found 775 nodes, limit used is 
5
             A10
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=3874, cols=28578
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
             KSP of A00
               KSP Object: (fieldsplit_0_) 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: (fieldsplit_0_) 1 MPI processes
                 type: hypre
                   HYPRE BoomerAMG preconditioning
                     Cycle type V
                     Maximum number of levels 25
                     Maximum number of iterations PER hypre call 1
                     Convergence tolerance PER hypre call 0.
                     Threshold for strong coupling 0.25
                     Interpolation truncation factor 0.
                     Interpolation: max elements per row 0
                     Number of levels of aggressive coarsening 0
                     Number of paths for aggressive coarsening 1
                     Maximum row sums 0.9
                     Sweeps down         1
                     Sweeps up           1
                     Sweeps on coarse    1
                     Relax down          symmetric-SOR/Jacobi
                     Relax up            symmetric-SOR/Jacobi
                     Relax on coarse     Gaussian-elimination
                     Relax weight  (all)      1.
                     Outer relax weight (all) 1.
                     Using CF-relaxation
                     Not using more complex smoothers.
                     Measure type        local
                     Coarsen type        Falgout
                     Interpolation type  classical
                 linear system matrix = precond matrix:
                 Mat Object: (fieldsplit_0_) 1 MPI processes
                   type: seqaij
                   rows=28578, cols=28578
                   total: nonzeros=653916, allocated nonzeros=653916
                   total number of mallocs used during MatSetValues calls 
=0
                     not using I-node routines
             A01
               Mat Object: 1 MPI processes
                 type: seqaij
                 rows=28578, cols=3874
                 total: nonzeros=138180, allocated nonzeros=138180
                 total number of mallocs used during MatSetValues calls 
=0
                   not using I-node routines
         Mat Object: 1 MPI processes
           type: seqaij
           rows=3874, cols=3874
           total: nonzeros=77704, allocated nonzeros=77704
           total number of mallocs used during MatSetValues calls =0
             not using I-node routines
   linear system matrix = precond matrix:
   Mat Object: 1 MPI processes
     type: nest
     rows=32452, cols=32452
       Matrix object:
         type=nest, rows=2, cols=2
         MatNest structure:
         (0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, 
cols=28578
         (0,1) : type=seqaij, rows=28578, cols=3874
         (1,0) : type=seqaij, rows=3874, cols=28578
         (1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, 
cols=3874

Thank you for your help and time.

Kind regards,
Shidi

On 2020-06-05 13:40, Matthew Knepley wrote:
> On Fri, Jun 5, 2020 at 7:42 AM Y. Shidi <ys453 at cam.ac.uk> wrote:
> 
>>> This algebraic tolerance is strange. Why put it below unit
>> roundoff?
>> 
>> We are testing a static bubble problem, if the tolerance is 1e-10 it
>> won't approach static solution.
> 
> I do not understand. Every computation in your problem makes errors of
> order 1e-15,
> since that is the roundoff. Moreover, you cannot expect a solution to
> be more accurate
> than (condition number * roundoff). I would be surprised if the
> condition number is near 1,
> since you would not need a solver. So what is going on?
> 
>   Thanks,
> 
>      Matt
> 
>> Thanks,
>> Shidi
>> 
>> On 2020-06-05 11:48, Matthew Knepley wrote:
>>> On Fri, Jun 5, 2020 at 6:12 AM Y. Shidi <ys453 at cam.ac.uk> wrote:
>>> 
>>>> Dear developers,
>>>> 
>>>> We are using filed splitting method solve saddle point problem.
>>>> Below is our ksp configuration:
>>>> 
>>>> PetscOptionsSetValue(NULL,"-ksp_type","gmres");
>>>> PetscOptionsSetValue(NULL,"-ksp_initial_guess_nonzero","");
>>>> PetscOptionsSetValue(NULL,"-ksp_rtol","1e-20");
>>> 
>>> This algebraic tolerance is strange. Why put it below unit
>> roundoff?
>>> 
>>>> PetscOptionsSetValue(NULL,"-ksp_converged_reason", "");
>>>> PetscOptionsSetValue(NULL,"-pc_type", "fieldsplit");
>>>> PetscOptionsSetValue(NULL,"-pc_fieldsplit_type", "schur");
>>>> PetscOptionsSetValue(NULL,"-pc_fieldsplit_schur_fact_type",
>>>> "lower");
>>>> PetscOptionsSetValue(NULL,"-pc_fieldsplit_schur_precondition",
>>>> "selfp");
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_0_ksp_type", "preonly");
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_0_pc_type", "hypre");
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_1_ksp_type", "preonly");
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_1_pc_type", "hypre");
>>>> 
>>>> It can be converged. However, when we turn on the ksp monitor:
>>>> 
>>>> PetscOptionsSetValue(NULL,"-ksp_monitor_true_residual", "");
>>>> 
>>>> It won't converge. It seems very odd, I am wondering why it
>> happens.
>>> 
>>> Can you try it with a relative tolerance of 1e-10, and send the
>> output
>>> (with -ksp_view as well).
>>> 
>>> Thanks,
>>> 
>>> Matt
>>> 
>>>> Thank you for your time and help.
>>>> 
>>>> Kind regards,
>>>> Shidi
>>> 
>>> --
>>> 
>>> What most experimenters take for granted before they begin their
>>> experiments is infinitely more interesting than any results to
>> which
>>> their experiments lead.
>>> -- Norbert Wiener
>>> 
>>> https://www.cse.buffalo.edu/~knepley/ [1]
>>> 
>>> 
>>> Links:
>>> ------
>>> [1] http://www.cse.buffalo.edu/~knepley/
> 
> --
> 
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
> 
> https://www.cse.buffalo.edu/~knepley/ [1]
> 
> 
> Links:
> ------
> [1] http://www.cse.buffalo.edu/~knepley/


More information about the petsc-users mailing list