[petsc-users] BJACOBI with FIELDSPLIT

Smith, Barry F. bsmith at mcs.anl.gov
Mon Mar 18 14:27:13 CDT 2019


 Simone,

    This is indeed surprising, given the block structure of the matrix and the exact block solves we'd expect the solver to converge after the application of the preconditioner. Please send the output of -ksp_view 

   Barry

Also if you are willing to share your test code we can try running it to determine why it doesn't converge immediately.


> On Mar 18, 2019, at 2:14 PM, Rossi, Simone via petsc-users <petsc-users at mcs.anl.gov> wrote:
> 
> Dear all,
> I'm debugging my application in which I'm trying to use the FIELDSPLIT preconditioner for solving a 2x2 block matrix.
> 
> Currently I'm testing the preconditioner on a decoupled system where I solve two identical and independent Poisson problems. Using the default fieldsplit type (multiplicative), I'm expecting the method to be equivalent to a Block Jacobi solver. 
> Setting 
> -ksp_rtol 1e-6
> while  using gmres/hypre on each subblock with
> -fieldsplit_0_ksp_rtol 1e-12
> -fieldsplit_1_ksp_rtol 1e-12
> I'm expecting to converge in 1 iteration with a single solve for each block.
> 
> Asking to output the iteration count for the subblocks with
> -ksp_converged_reason
> -fieldsplit_0_ksp_converged_reason
> -fieldsplit_1_ksp_converged_reason
> revealed that the outer solver converges in 1 iteration, but each block is solved for 3 times.
> This is the output I get:
> 
>   Linear fieldsplit_0_ solve converged due to CONVERGED_RTOL iterations 7
>   Linear fieldsplit_1_ solve converged due to CONVERGED_RTOL iterations 7
>   0 KSP preconditioned resid norm 9.334948012657e+01 true resid norm 1.280164130222e+02 ||r(i)||/||b|| 1.000000000000e+00
> 
>   Linear fieldsplit_0_ solve converged due to CONVERGED_RTOL iterations 7
>   Linear fieldsplit_1_ solve converged due to CONVERGED_RTOL iterations 7
>   Linear fieldsplit_0_ solve converged due to CONVERGED_RTOL iterations 7
>   Linear fieldsplit_1_ solve converged due to CONVERGED_RTOL iterations 7
>   1 KSP preconditioned resid norm 1.518151977611e-11 true resid norm 8.123270435936e-12 ||r(i)||/||b|| 6.345491366429e-14
> 
> Linear solve converged due to CONVERGED_RTOL iterations 1
> 
> 
> Are the subblocks actually solved for multiple times at every outer iteration? 
> 
> Thanks for the help,
> 
> Simone  



More information about the petsc-users mailing list