Note, pc_redistibute is a great idea but you lose the block size, which is
obvious after you realize it, but is error prone.
Maybe it would be better to throw an error if bs > 1 and add a
-pc_redistribute_ignore_block_size or something for users that want to
press on.
Thanks,
Mark
On Sat, Jan 27,
Well, that puts the reason after the iterations, which is progress.
Oh, I see the preconditioned norm goes down a lot, but the reported
residual that you would think is used for testing (see first post) does not
go down 12 digits.
This matrix is very ill conditioned. LU just gets about 7 digits.
Okay, so the tolerance is right. It must be using ||b|| instead of ||r0||.
Run with
-redistribute_ksp_monitor_true_residual
You might have to force r0.
Thanks,
Matt
On Sat, Jan 27, 2024 at 11:44 AM Mark Adams wrote:
> KSP Object: (redistribute_) 1 MPI process
> type: gmres
> r
KSP Object: (redistribute_) 1 MPI process
type: gmres
restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization
with no iterative refinement
happy breakdown tolerance 1e-30
maximum iterations=1, initial guess is zero
* tolerances: relative=1e-12, absolute=1e-50, div
View the solver.
Matt
On Sat, Jan 27, 2024 at 9:43 AM Mark Adams wrote:
> I am not getting ksp_rtol 1e-12 into pc_redistribute correctly?
>
>
>
> * Linear redistribute_ solve converged due to CONVERGED_RTOL iterations 1
> 0 KSP Residual norm 2.182384017537e+02 1 KSP Residual norm
> 1.889764
I am not getting ksp_rtol 1e-12 into pc_redistribute correctly?
* Linear redistribute_ solve converged due to CONVERGED_RTOL iterations 1
0 KSP Residual norm 2.182384017537e+02 1 KSP Residual norm
1.889764161573e-04 *
Number of iterations = 1 N = 47628
Residual norm 8.65917e-07
#PETSc Option