<div dir="ltr"><div dir="ltr">On Fri, Jun 5, 2020 at 10:17 AM Y. Shidi <<a href="mailto:ys453@cam.ac.uk">ys453@cam.ac.uk</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Thank you for your reply.<br>
I set the relative tolerance of 1e-10, below is the output with<br>
ksp_monitor_true_residual,<br>
<br>
step 1 (converged):<br>
<br>
0 KSP unpreconditioned resid norm 5.853072011788e-01 true resid norm <br>
5.853072011788e-01 ||r(i)||/||b|| 1.000000000000e+00<br>
1 KSP unpreconditioned resid norm 1.263467051263e-02 true resid norm <br>
1.263467051263e-02 ||r(i)||/||b|| 2.158639170539e-02<br>
2 KSP unpreconditioned resid norm 1.341051880494e-03 true resid norm <br>
1.341051880494e-03 ||r(i)||/||b|| 2.291193202122e-03<br>
3 KSP unpreconditioned resid norm 5.281711107599e-04 true resid norm <br>
5.281711107599e-04 ||r(i)||/||b|| 9.023827311473e-04<br>
4 KSP unpreconditioned resid norm 2.265161267248e-04 true resid norm <br>
2.265161267248e-04 ||r(i)||/||b|| 3.870038268256e-04<br>
5 KSP unpreconditioned resid norm 6.083108409953e-05 true resid norm <br>
6.083108409954e-05 ||r(i)||/||b|| 1.039301822650e-04<br>
6 KSP unpreconditioned resid norm 2.049038801905e-05 true resid norm <br>
2.049038801906e-05 ||r(i)||/||b|| 3.500792058903e-05<br>
7 KSP unpreconditioned resid norm 4.908575378578e-06 true resid norm <br>
4.908575378575e-06 ||r(i)||/||b|| 8.386323231099e-06<br>
8 KSP unpreconditioned resid norm 1.160371295964e-06 true resid norm <br>
1.160371295960e-06 ||r(i)||/||b|| 1.982499606399e-06<br>
9 KSP unpreconditioned resid norm 2.993349323170e-07 true resid norm <br>
2.993349323154e-07 ||r(i)||/||b|| 5.114150854671e-07<br>
10 KSP unpreconditioned resid norm 6.423860393220e-08 true resid norm <br>
6.423860392241e-08 ||r(i)||/||b|| 1.097519452913e-07<br>
11 KSP unpreconditioned resid norm 1.486343352971e-08 true resid norm <br>
1.486343352542e-08 ||r(i)||/||b|| 2.539424339131e-08<br>
12 KSP unpreconditioned resid norm 3.388518888745e-09 true resid norm <br>
3.388518889406e-09 ||r(i)||/||b|| 5.789299845588e-09<br>
13 KSP unpreconditioned resid norm 8.414456498118e-10 true resid norm <br>
8.414456551004e-10 ||r(i)||/||b|| 1.437613706795e-09<br>
14 KSP unpreconditioned resid norm 2.052670281766e-10 true resid norm <br>
2.052670332352e-10 ||r(i)||/||b|| 3.506996545092e-10<br>
15 KSP unpreconditioned resid norm 4.739342260680e-11 true resid norm <br>
4.739342219912e-11 ||r(i)||/||b|| 8.097187614243e-11<br>
Linear solve converged due to CONVERGED_RTOL iterations 15<br>
KSP Object: 1 MPI processes<br>
type: fgmres<br>
restart=30, using Classical (unmodified) Gram-Schmidt <br>
Orthogonalization with no iterative refinement<br>
happy breakdown tolerance 1e-30<br>
maximum iterations=10000, nonzero initial guess<br>
tolerances: relative=1e-10, absolute=1e-50, divergence=10000.<br>
right preconditioning<br>
using UNPRECONDITIONED norm type for convergence test<br>
PC Object: 1 MPI processes<br>
type: fieldsplit<br>
FieldSplit with Schur preconditioner, factorization FULL<br>
Preconditioner for the Schur complement formed from Sp, an assembled <br>
approximation to S, which uses A00's diagonal's inverse<br>
Split info:<br>
Split number 0 Defined by IS<br>
Split number 1 Defined by IS<br>
KSP solver for A00 block<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
KSP solver for S = A11 - A10 inv(A00) A01<br>
KSP Object: (fieldsplit_1_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_1_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix followed by preconditioner matrix:<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: schurcomplement<br>
rows=3874, cols=3874<br>
Schur complement A11 - A10 inv(A00) A01<br>
A11<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=0, allocated nonzeros=0<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
using I-node routines: found 775 nodes, limit used is <br>
5<br>
A10<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=28578<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
KSP of A00<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, <br>
divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
A01<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=3874<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=77704, allocated nonzeros=77704<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
linear system matrix = precond matrix:<br>
Mat Object: 1 MPI processes<br>
type: nest<br>
rows=32452, cols=32452<br>
Matrix object:<br>
type=nest, rows=2, cols=2<br>
MatNest structure:<br>
(0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, <br>
cols=28578<br>
(0,1) : type=seqaij, rows=28578, cols=3874<br>
(1,0) : type=seqaij, rows=3874, cols=28578<br>
(1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, <br>
cols=3874<br>
<br>
step 2 (NOT converged):<br>
<br>
Linear solve did not converge due to DIVERGED_NANORINF iterations 0<br></blockquote><div><br></div><div>It looks like your matrix is invalid.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
KSP Object: 1 MPI processes<br>
type: fgmres<br>
restart=30, using Classical (unmodified) Gram-Schmidt <br>
Orthogonalization with no iterative refinement<br>
happy breakdown tolerance 1e-30<br>
maximum iterations=10000, nonzero initial guess<br>
tolerances: relative=1e-10, absolute=1e-50, divergence=10000.<br>
right preconditioning<br>
using UNPRECONDITIONED norm type for convergence test<br>
PC Object: 1 MPI processes<br>
type: fieldsplit<br>
FieldSplit with Schur preconditioner, factorization FULL<br>
Preconditioner for the Schur complement formed from Sp, an assembled <br>
approximation to S, which uses A00's diagonal's inverse<br>
Split info:<br>
Split number 0 Defined by IS<br>
Split number 1 Defined by IS<br>
KSP solver for A00 block<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using DEFAULT norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
PC has not been set up so information may be incomplete<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
KSP solver for S = A11 - A10 inv(A00) A01<br>
KSP Object: (fieldsplit_1_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using DEFAULT norm type for convergence test<br>
PC Object: (fieldsplit_1_) 1 MPI processes<br>
type: hypre<br>
PC has not been set up so information may be incomplete<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix followed by preconditioner matrix:<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: schurcomplement<br>
rows=3874, cols=3874<br>
Schur complement A11 - A10 inv(A00) A01<br>
A11<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=0, allocated nonzeros=0<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
using I-node routines: found 775 nodes, limit used is <br>
5<br>
A10<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=28578<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
KSP of A00<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, <br>
divergence=10000.<br>
left preconditioning<br>
using DEFAULT norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
PC has not been set up so information may be incomplete<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
A01<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=3874<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=77704, allocated nonzeros=77704<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
linear system matrix = precond matrix:<br>
Mat Object: 1 MPI processes<br>
type: nest<br>
rows=32452, cols=32452<br>
Matrix object:<br>
type=nest, rows=2, cols=2<br>
MatNest structure:<br>
(0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, <br>
cols=28578<br>
(0,1) : type=seqaij, rows=28578, cols=3874<br>
(1,0) : type=seqaij, rows=3874, cols=28578<br>
(1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, <br>
cols=3874<br>
<br>
HOWEVER, if I do not use -ksp_monitor_true_residual, both two<br>
steps converge.<br>
<br>
step 1:<br>
Linear solve converged due to CONVERGED_RTOL iterations 15<br>
KSP Object: 1 MPI processes<br>
type: fgmres<br>
restart=30, using Classical (unmodified) Gram-Schmidt <br>
Orthogonalization with no iterative refinement<br>
happy breakdown tolerance 1e-30<br>
maximum iterations=10000, nonzero initial guess<br>
tolerances: relative=1e-10, absolute=1e-50, divergence=10000.<br>
right preconditioning<br>
using UNPRECONDITIONED norm type for convergence test<br>
PC Object: 1 MPI processes<br>
type: fieldsplit<br>
FieldSplit with Schur preconditioner, factorization FULL<br>
Preconditioner for the Schur complement formed from Sp, an assembled <br>
approximation to S, which uses A00's diagonal's inverse<br>
Split info:<br>
Split number 0 Defined by IS<br>
Split number 1 Defined by IS<br>
KSP solver for A00 block<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
KSP solver for S = A11 - A10 inv(A00) A01<br>
KSP Object: (fieldsplit_1_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_1_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix followed by preconditioner matrix:<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: schurcomplement<br>
rows=3874, cols=3874<br>
Schur complement A11 - A10 inv(A00) A01<br>
A11<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=0, allocated nonzeros=0<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
using I-node routines: found 775 nodes, limit used is <br>
5<br>
A10<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=28578<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
KSP of A00<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, <br>
divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
A01<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=3874<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=77704, allocated nonzeros=77704<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
linear system matrix = precond matrix:<br>
Mat Object: 1 MPI processes<br>
type: nest<br>
rows=32452, cols=32452<br>
Matrix object:<br>
type=nest, rows=2, cols=2<br>
MatNest structure:<br>
(0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, <br>
cols=28578<br>
(0,1) : type=seqaij, rows=28578, cols=3874<br>
(1,0) : type=seqaij, rows=3874, cols=28578<br>
(1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, <br>
cols=3874<br>
<br>
step 2:<br>
<br>
Linear solve converged due to CONVERGED_RTOL iterations 1<br>
KSP Object: 1 MPI processes<br>
type: fgmres<br>
restart=30, using Classical (unmodified) Gram-Schmidt <br>
Orthogonalization with no iterative refinement<br>
happy breakdown tolerance 1e-30<br>
maximum iterations=10000, nonzero initial guess<br>
tolerances: relative=1e-10, absolute=1e-50, divergence=10000.<br>
right preconditioning<br>
using UNPRECONDITIONED norm type for convergence test<br>
PC Object: 1 MPI processes<br>
type: fieldsplit<br>
FieldSplit with Schur preconditioner, factorization FULL<br>
Preconditioner for the Schur complement formed from Sp, an assembled <br>
approximation to S, which uses A00's diagonal's inverse<br>
Split info:<br>
Split number 0 Defined by IS<br>
Split number 1 Defined by IS<br>
KSP solver for A00 block<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
KSP solver for S = A11 - A10 inv(A00) A01<br>
KSP Object: (fieldsplit_1_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_1_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix followed by preconditioner matrix:<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: schurcomplement<br>
rows=3874, cols=3874<br>
Schur complement A11 - A10 inv(A00) A01<br>
A11<br>
Mat Object: (fieldsplit_1_) 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=0, allocated nonzeros=0<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
using I-node routines: found 775 nodes, limit used is <br>
5<br>
A10<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=28578<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
KSP of A00<br>
KSP Object: (fieldsplit_0_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, <br>
divergence=10000.<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (fieldsplit_0_) 1 MPI processes<br>
type: hypre<br>
HYPRE BoomerAMG preconditioning<br>
Cycle type V<br>
Maximum number of levels 25<br>
Maximum number of iterations PER hypre call 1<br>
Convergence tolerance PER hypre call 0.<br>
Threshold for strong coupling 0.25<br>
Interpolation truncation factor 0.<br>
Interpolation: max elements per row 0<br>
Number of levels of aggressive coarsening 0<br>
Number of paths for aggressive coarsening 1<br>
Maximum row sums 0.9<br>
Sweeps down 1<br>
Sweeps up 1<br>
Sweeps on coarse 1<br>
Relax down symmetric-SOR/Jacobi<br>
Relax up symmetric-SOR/Jacobi<br>
Relax on coarse Gaussian-elimination<br>
Relax weight (all) 1.<br>
Outer relax weight (all) 1.<br>
Using CF-relaxation<br>
Not using more complex smoothers.<br>
Measure type local<br>
Coarsen type Falgout<br>
Interpolation type classical<br>
linear system matrix = precond matrix:<br>
Mat Object: (fieldsplit_0_) 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=28578<br>
total: nonzeros=653916, allocated nonzeros=653916<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
A01<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=28578, cols=3874<br>
total: nonzeros=138180, allocated nonzeros=138180<br>
total number of mallocs used during MatSetValues calls <br>
=0<br>
not using I-node routines<br>
Mat Object: 1 MPI processes<br>
type: seqaij<br>
rows=3874, cols=3874<br>
total: nonzeros=77704, allocated nonzeros=77704<br>
total number of mallocs used during MatSetValues calls =0<br>
not using I-node routines<br>
linear system matrix = precond matrix:<br>
Mat Object: 1 MPI processes<br>
type: nest<br>
rows=32452, cols=32452<br>
Matrix object:<br>
type=nest, rows=2, cols=2<br>
MatNest structure:<br>
(0,0) : prefix="fieldsplit_0_", type=seqaij, rows=28578, <br>
cols=28578<br>
(0,1) : type=seqaij, rows=28578, cols=3874<br>
(1,0) : type=seqaij, rows=3874, cols=28578<br>
(1,1) : prefix="fieldsplit_1_", type=seqaij, rows=3874, <br>
cols=3874<br>
<br>
Thank you for your help and time.<br>
<br>
Kind regards,<br>
Shidi<br>
<br>
On 2020-06-05 13:40, Matthew Knepley wrote:<br>
> On Fri, Jun 5, 2020 at 7:42 AM Y. Shidi <<a href="mailto:ys453@cam.ac.uk" target="_blank">ys453@cam.ac.uk</a>> wrote:<br>
> <br>
>>> This algebraic tolerance is strange. Why put it below unit<br>
>> roundoff?<br>
>> <br>
>> We are testing a static bubble problem, if the tolerance is 1e-10 it<br>
>> won't approach static solution.<br>
> <br>
> I do not understand. Every computation in your problem makes errors of<br>
> order 1e-15,<br>
> since that is the roundoff. Moreover, you cannot expect a solution to<br>
> be more accurate<br>
> than (condition number * roundoff). I would be surprised if the<br>
> condition number is near 1,<br>
> since you would not need a solver. So what is going on?<br>
> <br>
> Thanks,<br>
> <br>
> Matt<br>
> <br>
>> Thanks,<br>
>> Shidi<br>
>> <br>
>> On 2020-06-05 11:48, Matthew Knepley wrote:<br>
>>> On Fri, Jun 5, 2020 at 6:12 AM Y. Shidi <<a href="mailto:ys453@cam.ac.uk" target="_blank">ys453@cam.ac.uk</a>> wrote:<br>
>>> <br>
>>>> Dear developers,<br>
>>>> <br>
>>>> We are using filed splitting method solve saddle point problem.<br>
>>>> Below is our ksp configuration:<br>
>>>> <br>
>>>> PetscOptionsSetValue(NULL,"-ksp_type","gmres");<br>
>>>> PetscOptionsSetValue(NULL,"-ksp_initial_guess_nonzero","");<br>
>>>> PetscOptionsSetValue(NULL,"-ksp_rtol","1e-20");<br>
>>> <br>
>>> This algebraic tolerance is strange. Why put it below unit<br>
>> roundoff?<br>
>>> <br>
>>>> PetscOptionsSetValue(NULL,"-ksp_converged_reason", "");<br>
>>>> PetscOptionsSetValue(NULL,"-pc_type", "fieldsplit");<br>
>>>> PetscOptionsSetValue(NULL,"-pc_fieldsplit_type", "schur");<br>
>>>> PetscOptionsSetValue(NULL,"-pc_fieldsplit_schur_fact_type",<br>
>>>> "lower");<br>
>>>> PetscOptionsSetValue(NULL,"-pc_fieldsplit_schur_precondition",<br>
>>>> "selfp");<br>
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_0_ksp_type", "preonly");<br>
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_0_pc_type", "hypre");<br>
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_1_ksp_type", "preonly");<br>
>>>> PetscOptionsSetValue(NULL,"-fieldsplit_1_pc_type", "hypre");<br>
>>>> <br>
>>>> It can be converged. However, when we turn on the ksp monitor:<br>
>>>> <br>
>>>> PetscOptionsSetValue(NULL,"-ksp_monitor_true_residual", "");<br>
>>>> <br>
>>>> It won't converge. It seems very odd, I am wondering why it<br>
>> happens.<br>
>>> <br>
>>> Can you try it with a relative tolerance of 1e-10, and send the<br>
>> output<br>
>>> (with -ksp_view as well).<br>
>>> <br>
>>> Thanks,<br>
>>> <br>
>>> Matt<br>
>>> <br>
>>>> Thank you for your time and help.<br>
>>>> <br>
>>>> Kind regards,<br>
>>>> Shidi<br>
>>> <br>
>>> --<br>
>>> <br>
>>> What most experimenters take for granted before they begin their<br>
>>> experiments is infinitely more interesting than any results to<br>
>> which<br>
>>> their experiments lead.<br>
>>> -- Norbert Wiener<br>
>>> <br>
>>> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a> [1]<br>
>>> <br>
>>> <br>
>>> Links:<br>
>>> ------<br>
>>> [1] <a href="http://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">http://www.cse.buffalo.edu/~knepley/</a><br>
> <br>
> --<br>
> <br>
> What most experimenters take for granted before they begin their<br>
> experiments is infinitely more interesting than any results to which<br>
> their experiments lead.<br>
> -- Norbert Wiener<br>
> <br>
> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a> [1]<br>
> <br>
> <br>
> Links:<br>
> ------<br>
> [1] <a href="http://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">http://www.cse.buffalo.edu/~knepley/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>