[petsc-dev] Using PCFieldSplitSetIS

Barry Smith bsmith at mcs.anl.gov
Fri Mar 18 10:01:13 CDT 2011


On Mar 18, 2011, at 6:23 AM, Thomas Witkowski wrote:

> Barry Smith wrote:
>>   Did you get a chance to run as I requested with "Please run with -ksp_view and send the output."
>> 
>>  
> Yes, the problem with the second iteration occurs only when I make use of bcgs for the outer iteration

   OK, then everything is FINE. BCGS applies the operator and preconditioner twice per iteration, so this is the expected behavior.

   Barry

> (which is set in my code as the standard solver). When using richardson or gmres, I get the expected output. Here is the output for -ksp_type bcgs and -ksp_view
> 
>       Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 1.238748554482e+02
>   1 KSP Residual norm 1.712708691574e+01
>   2 KSP Residual norm 5.537715643639e+00
>   3 KSP Residual norm 2.767431394864e+00
>   4 KSP Residual norm 2.308410861046e+00
>   5 KSP Residual norm 1.225474327957e+00
>   6 KSP Residual norm 4.705888493777e-01
>   7 KSP Residual norm 4.476449896581e-01
>   8 KSP Residual norm 1.859190943730e-01
>   9 KSP Residual norm 9.038347953900e-02
>  10 KSP Residual norm 7.545891428899e-02
>  11 KSP Residual norm 4.046165237615e-02
>  12 KSP Residual norm 1.499755811468e-02
>  13 KSP Residual norm 1.100288579779e-02
>  14 KSP Residual norm 4.530437449505e-03
>  15 KSP Residual norm 2.511112676997e-03
>  16 KSP Residual norm 1.425956836799e-03
>  17 KSP Residual norm 1.008189124008e-03
>  18 KSP Residual norm 4.759971096889e-04
>  19 KSP Residual norm 2.418445744584e-04
>  20 KSP Residual norm 1.345530122184e-04
>  21 KSP Residual norm 6.618130426631e-05
>  22 KSP Residual norm 3.502075214549e-05
>  23 KSP Residual norm 2.093145547362e-05
>  24 KSP Residual norm 1.426936785120e-05
>  25 KSP Residual norm 6.716866486925e-06
>  26 KSP Residual norm 2.938650130672e-06
>  27 KSP Residual norm 1.194333200607e-06
>  28 KSP Residual norm 8.117544753927e-07
>  29 KSP Residual norm 4.436526804864e-07
>  30 KSP Residual norm 2.619889310859e-07
>  31 KSP Residual norm 2.608365614137e-07
>  32 KSP Residual norm 2.502840136682e-07
>  33 KSP Residual norm 2.108068726014e-07
>  34 KSP Residual norm 1.190606661068e-07
>  35 KSP Residual norm 8.587022449664e-08
>  36 KSP Residual norm 2.657505256794e-08
>  37 KSP Residual norm 1.091795047578e-08
>  38 KSP Residual norm 5.622627482150e-09
> Linear solve converged due to CONVERGED_ATOL iterations 38
> 0 KSP preconditioned resid norm 1.039480141214e+02 true resid norm 2.318397033201e+03 ||r(i)||/||b|| 1.000000000000e+00
>   Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 1.238748554488e+02
>   1 KSP Residual norm 1.712708691920e+01
>   2 KSP Residual norm 5.537715644318e+00
>   3 KSP Residual norm 2.767431394929e+00
>   4 KSP Residual norm 2.308410861005e+00
>   5 KSP Residual norm 1.225474328165e+00
>   6 KSP Residual norm 4.705888492572e-01
>   7 KSP Residual norm 4.476449894826e-01
>   8 KSP Residual norm 1.859190943717e-01
>   9 KSP Residual norm 9.038347954447e-02
>  10 KSP Residual norm 7.545891428241e-02
>  11 KSP Residual norm 4.046165236351e-02
>  12 KSP Residual norm 1.499755811079e-02
>  13 KSP Residual norm 1.100288580023e-02
>  14 KSP Residual norm 4.530437448754e-03
>  15 KSP Residual norm 2.511112675547e-03
>  16 KSP Residual norm 1.425956832972e-03
>  17 KSP Residual norm 1.008189121211e-03
>  18 KSP Residual norm 4.759971083063e-04
>  19 KSP Residual norm 2.418445729000e-04
>  20 KSP Residual norm 1.345530095639e-04
>  21 KSP Residual norm 6.618130177611e-05
>  22 KSP Residual norm 3.502074795980e-05
>  23 KSP Residual norm 2.093145116748e-05
>  24 KSP Residual norm 1.426936277614e-05
>  25 KSP Residual norm 6.716863232176e-06
>  26 KSP Residual norm 2.938647588875e-06
>  27 KSP Residual norm 1.194330143586e-06
>  28 KSP Residual norm 8.117422448346e-07
>  29 KSP Residual norm 4.436425441849e-07
>  30 KSP Residual norm 2.619889078643e-07
>  31 KSP Residual norm 2.608368186135e-07
>  32 KSP Residual norm 2.502849238080e-07
>  33 KSP Residual norm 2.108123763958e-07
>  34 KSP Residual norm 1.190912989234e-07
>  35 KSP Residual norm 8.589705060827e-08
>  36 KSP Residual norm 2.657654667253e-08
>  37 KSP Residual norm 1.091743530704e-08
>  38 KSP Residual norm 5.623018769513e-09
> Linear solve converged due to CONVERGED_ATOL iterations 38
>   Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 5.628142396422e-09
> Linear solve converged due to CONVERGED_ATOL iterations 0
> 1 KSP preconditioned resid norm 2.834168769772e-08 true resid norm 5.737810813629e-09 ||r(i)||/||b|| 2.474904311669e-12
>   Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 5.626350752150e-09
> Linear solve converged due to CONVERGED_ATOL iterations 0
>   Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 5.628142396422e-09
> Linear solve converged due to CONVERGED_ATOL iterations 0
> 2 KSP preconditioned resid norm 2.834287716574e-08 true resid norm 1.921317696012e-06 ||r(i)||/||b|| 8.287267747921e-10
>   Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 6.360593934279e-07
>   1 KSP Residual norm 6.207657513778e-07
>   2 KSP Residual norm 4.595521952584e-07
>   3 KSP Residual norm 2.353791066544e-07
>   4 KSP Residual norm 1.659055771510e-07
>   5 KSP Residual norm 1.057381480368e-07
>   6 KSP Residual norm 2.733159212163e-08
>   7 KSP Residual norm 1.685966550943e-08
>   8 KSP Residual norm 5.250226264235e-09
> Linear solve converged due to CONVERGED_ATOL iterations 8
>   Residual norms for fieldsplit_boundary_ solve.
>   0 KSP Residual norm 5.314638497757e-10
> Linear solve converged due to CONVERGED_ATOL iterations 0
> 3 KSP preconditioned resid norm 2.418607617684e-09 true resid norm 1.943729846844e-06 ||r(i)||/||b|| 8.383938639538e-10
> KSP Object:
> type: bcgs
> maximum iterations=10000, initial guess is zero
> tolerances:  relative=0, absolute=1e-08, divergence=10000
> left preconditioning
> using PRECONDITIONED norm type for convergence test
> PC Object:
> type: fieldsplit
>   FieldSplit with Schur preconditioner, blocksize = -1, factorization FULL
>   Split info:
>   Split number 0 Defined by IS
>   Split number 1 Defined by IS
>   KSP solver for A00 block
>     KSP Object:      (fieldsplit_interior_)            type: preonly
>       maximum iterations=10000, initial guess is zero
>       tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>       left preconditioning
>       using PRECONDITIONED norm type for convergence test
>     PC Object:      (fieldsplit_interior_)            type: bjacobi
>         block Jacobi: number of blocks = 2
>         Local solve is same for all blocks, in the following KSP and PC objects:
>       KSP Object:        (fieldsplit_interior_sub_)                type: preonly
>         maximum iterations=10000, initial guess is zero
>         tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>         left preconditioning
>         using PRECONDITIONED norm type for convergence test
>       PC Object:        (fieldsplit_interior_sub_)                type: lu
>           LU: out-of-place factorization
>           tolerance for zero pivot 1e-12
>           matrix ordering: nd
>           factor fill ratio given 0, needed 0
>             Factored matrix follows:
>               Matrix Object:                                type: seqaij
>                 rows=12336, cols=12336
>                 package used to perform factorization: umfpack
>                 total: nonzeros=0, allocated nonzeros=0
>                 total number of mallocs used during MatSetValues calls =0
>                   not using I-node routines
>                   UMFPACK run parameters:
>                     Control[UMFPACK_PRL]: 1
>                     Control[UMFPACK_STRATEGY]: 0
>                     Control[UMFPACK_DENSE_COL]: 0.2
>                     Control[UMFPACK_DENSE_ROW]: 0.2
>                     Control[UMFPACK_AMD_DENSE]: 10
>                     Control[UMFPACK_BLOCK_SIZE]: 32
>                     Control[UMFPACK_2BY2_TOLERANCE]: 0.01
>                     Control[UMFPACK_FIXQ]: 0
>                     Control[UMFPACK_AGGRESSIVE]: 1
>                     Control[UMFPACK_PIVOT_TOLERANCE]: 0.1
>                     Control[UMFPACK_SYM_PIVOT_TOLERANCE]: 0.001
>                     Control[UMFPACK_SCALE]: 1
>                     Control[UMFPACK_ALLOC_INIT]: 0.7
>                     Control[UMFPACK_DROPTOL]: 0
>                     Control[UMFPACK_IRSTEP]: 0
>                     UMFPACK default matrix ordering is used (not the PETSc matrix ordering)
>         linear system matrix = precond matrix:
>         Matrix Object:                    type: seqaij
>           rows=12336, cols=12336
>           total: nonzeros=173608, allocated nonzeros=173608
>           total number of mallocs used during MatSetValues calls =0
>             not using I-node routines
>       linear system matrix = precond matrix:
>       Matrix Object:                type: mpiaij
>         rows=24672, cols=24672
>         total: nonzeros=347216, allocated nonzeros=347216
>         total number of mallocs used during MatSetValues calls =0
>           not using I-node (on process 0) routines
>   KSP solver for S = A11 - A10 inv(A00) A01
>     KSP Object:      (fieldsplit_boundary_)            type: gmres
>         GMRES: restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement
>         GMRES: happy breakdown tolerance 1e-30
>       maximum iterations=10000, initial guess is zero
>       tolerances:  relative=1e-50, absolute=1e-08, divergence=10000
>       left preconditioning
>       using PRECONDITIONED norm type for convergence test
>     PC Object:      (fieldsplit_boundary_)            type: bjacobi
>         block Jacobi: number of blocks = 2
>         Local solve is same for all blocks, in the following KSP and PC objects:
>       KSP Object:        (fieldsplit_boundary_sub_)                type: preonly
>         maximum iterations=10000, initial guess is zero
>         tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>         left preconditioning
>         using PRECONDITIONED norm type for convergence test
>       PC Object:        (fieldsplit_boundary_sub_)                type: ilu
>           ILU: out-of-place factorization
>           0 levels of fill
>           tolerance for zero pivot 1e-12
>           using diagonal shift to prevent zero pivot
>           matrix ordering: natural
>           factor fill ratio given 1, needed 1
>             Factored matrix follows:
>               Matrix Object:                                type: seqaij
>                 rows=0, cols=0
>                 package used to perform factorization: petsc
>                 total: nonzeros=0, allocated nonzeros=0
>                 total number of mallocs used during MatSetValues calls =0
>                   not using I-node routines
>         linear system matrix = precond matrix:
>         Matrix Object:                    type: seqaij
>           rows=0, cols=0
>           total: nonzeros=0, allocated nonzeros=0
>           total number of mallocs used during MatSetValues calls =0
>             not using I-node routines
>       linear system matrix followed by preconditioner matrix:
>       Matrix Object:                type: schurcomplement
>         rows=291, cols=291
>           Schur complement A11 - A10 inv(A00) A01
>           A11
>             Matrix Object:                            type: mpiaij
>               rows=291, cols=291
>               total: nonzeros=1831, allocated nonzeros=1831
>               total number of mallocs used during MatSetValues calls =0
>                 not using I-node (on process 0) routines
>           A10
>             Matrix Object:                            type: mpiaij
>               rows=291, cols=24672
>               total: nonzeros=2568, allocated nonzeros=2568
>               total number of mallocs used during MatSetValues calls =0
>                 not using I-node (on process 0) routines
>           KSP of A00
>             KSP Object:              (fieldsplit_interior_)                            type: preonly
>               maximum iterations=10000, initial guess is zero
>               tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>               left preconditioning
>               using PRECONDITIONED norm type for convergence test
>             PC Object:              (fieldsplit_interior_)                            type: bjacobi
>                 block Jacobi: number of blocks = 2
>                 Local solve is same for all blocks, in the following KSP and PC objects:
>               KSP Object:                (fieldsplit_interior_sub_)                                type: preonly
>                 maximum iterations=10000, initial guess is zero
>                 tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>                 left preconditioning
>                 using PRECONDITIONED norm type for convergence test
>               PC Object:                (fieldsplit_interior_sub_)                                type: lu
>                   LU: out-of-place factorization
>                   tolerance for zero pivot 1e-12
>                   matrix ordering: nd
>                   factor fill ratio given 0, needed 0
>                     Factored matrix follows:
>                       Matrix Object:                                                type: seqaij
>                         rows=12336, cols=12336
>                         package used to perform factorization: umfpack
>                         total: nonzeros=0, allocated nonzeros=0
>                         total number of mallocs used during MatSetValues calls =0
>                           not using I-node routines
>                           UMFPACK run parameters:
>                             Control[UMFPACK_PRL]: 1
>                             Control[UMFPACK_STRATEGY]: 0
>                             Control[UMFPACK_DENSE_COL]: 0.2
>                             Control[UMFPACK_DENSE_ROW]: 0.2
>                             Control[UMFPACK_AMD_DENSE]: 10
>                             Control[UMFPACK_BLOCK_SIZE]: 32
>                             Control[UMFPACK_2BY2_TOLERANCE]: 0.01
>                             Control[UMFPACK_FIXQ]: 0
>                             Control[UMFPACK_AGGRESSIVE]: 1
>                             Control[UMFPACK_PIVOT_TOLERANCE]: 0.1
>                             Control[UMFPACK_SYM_PIVOT_TOLERANCE]: 0.001
>                             Control[UMFPACK_SCALE]: 1
>                             Control[UMFPACK_ALLOC_INIT]: 0.7
>                             Control[UMFPACK_DROPTOL]: 0
>                             Control[UMFPACK_IRSTEP]: 0
>                             UMFPACK default matrix ordering is used (not the PETSc matrix ordering)
>                 linear system matrix = precond matrix:
>                 Matrix Object:                                    type: seqaij
>                   rows=12336, cols=12336
>                   total: nonzeros=173608, allocated nonzeros=173608
>                   total number of mallocs used during MatSetValues calls =0
>                     not using I-node routines
>               linear system matrix = precond matrix:
>               Matrix Object:                                type: mpiaij
>                 rows=24672, cols=24672
>                 total: nonzeros=347216, allocated nonzeros=347216
>                 total number of mallocs used during MatSetValues calls =0
>                   not using I-node (on process 0) routines
>           A01
>             Matrix Object:                            type: mpiaij
>               rows=24672, cols=291
>               total: nonzeros=2568, allocated nonzeros=2568
>               total number of mallocs used during MatSetValues calls =0
>                 using I-node (on process 0) routines: found 2468 nodes, limit used is 5
>       Matrix Object:                type: mpiaij
>         rows=291, cols=291
>         total: nonzeros=1831, allocated nonzeros=1831
>         total number of mallocs used during MatSetValues calls =0
>           not using I-node (on process 0) routines
> linear system matrix = precond matrix:
> Matrix Object:    type: mpiaij
>   rows=24963, cols=24963
>   total: nonzeros=354183, allocated nonzeros=356014
>   total number of mallocs used during MatSetValues calls =0
>     not using I-node (on process 0) routines
> 
> 
> Thomas
> 
>>   We are eager to determine the problem.
>> 
>>   Barry
>>  
>> On Mar 16, 2011, at 11:03 AM, Barry Smith wrote:
>> 
>>  
>>> On Mar 16, 2011, at 8:57 AM, Thomas Witkowski wrote:
>>> 
>>> -pc_fieldsplit_type schur -fieldsplit_interior_ksp_type preonly -fieldsplit_interior_pc_type bjacobi -fieldsplit_interior_sub_pc_type lu -fieldsplit_boundary_ksp_monitor -ksp_monitor_true_residual 
>>> 
>>>    
>>>> Residual norms for fieldsplit_boundary_ solve.
>>>> 0 KSP Residual norm 1.790059331071e-04
>>>> .....
>>>> 18 KSP Residual norm 1.593454221996e-09
>>>> 0 KSP preconditioned resid norm 5.745043818120e-01 true resid norm 1.584249437360e-01 ||r(i)||/||b|| 1.000000000000e+00        
>>>       This is the norms on the outer iteration variables
>>>    
>>>> Residual norms for fieldsplit_boundary_ solve.
>>>> 0 KSP Residual norm 1.790059331000e-04
>>>>      
>>>       This is the norms on the Schur complement iteration
>>>    
>>>> ....
>>>> 18 KSP Residual norm 1.593449602302e-09
>>>>      
>>>   It is unclear to me why it starts up another solve here, starting basically where it left off. I think it should just kick out to print the norm of the residual of the outer iteration.
>>> 
>>>    
>>>> Residual norms for fieldsplit_boundary_ solve.
>>>> 0 KSP Residual norm 1.593449603155e-09
>>>> ...
>>>> 18 KSP Residual norm 1.335744434252e-14
>>>> 1 KSP preconditioned resid norm 2.608069232839e-13 true resid norm 1.449869994655e-13 ||r(i)||/||b|| 9.151778504469e-13
>>>> 
>>>>      
>>> Are you running with petsc-dev?
>>> 
>>> Please run with -ksp_view and send the output.
>>> 
>>> When I run tutorials/multiphysics/mp.c with the options ./mp -couple -snes_monitor_short -pc_type fieldsplit -ksp_monitor -pc_fieldsplit_type schur -fieldsplit_ksp_monitor -fieldsplit_1_ksp_type fgmres -fieldsplit_0_ksp_type gmres   -snes_view I do not see the "double" iteration business. 
>>>  Barry
>>> 
>>> 
>>> 
>>>    
>>>> So, are there now two or one outer iterations?
>>>> 
>>>> Thomas
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Matthew Knepley wrote:
>>>>      
>>>>> On Wed, Mar 16, 2011 at 8:27 AM, Thomas Witkowski <thomas.witkowski at tu-dresden.de <mailto:thomas.witkowski at tu-dresden.de>> wrote:
>>>>> 
>>>>>  Jed Brown wrote:
>>>>> 
>>>>>      On Wed, Mar 16, 2011 at 07:37, Thomas Witkowski
>>>>>      <thomas.witkowski at tu-dresden.de
>>>>>      <mailto:thomas.witkowski at tu-dresden.de>
>>>>>      <mailto:thomas.witkowski at tu-dresden.de
>>>>>      <mailto:thomas.witkowski at tu-dresden.de>>> wrote:
>>>>> 
>>>>>         Thanks for explanations! It works fine in my code. But I
>>>>>      have two
>>>>>         questions about it, maybe you can help me with them:
>>>>>         - To the first, is the LU factorization on block A_00 done
>>>>>      only once?
>>>>> 
>>>>> 
>>>>>      Yes, one way to confirm this is to run with -log_summary and
>>>>>      check MatLUFactor{Sym,Num}.
>>>>>                  - I have run the code with -fieldsplit_1_ksp_monitor to get
>>>>>      some
>>>>>         more information about the internal solves. I expected to get
>>>>>         information about one iterative solver (for solving the Schur
>>>>>         complement system), but I got three, all of them need around 20
>>>>>         iterations for my example. Could you explain to me what is
>>>>>         actually solved there?
>>>>> 
>>>>> 
>>>>>      I'm going to guess that you still have an outer KSP that (in
>>>>>      the global norm, rather than the partitioned norm used inside
>>>>>      of splits) has a tighter tolerance, therefore it takes a few
>>>>>      outer iterations. If you use loose inner tolerances then the
>>>>>      preconditioner becomes nonlinear and you'll need to use FGMRES
>>>>>      for the outer. When in doubt, run with -ksp_view and show us
>>>>>      the results if you don't understand. Additionally, monitoring
>>>>>      inner solves separately can be useful, e.g.
>>>>>      -fieldsplit_0_ksp_converged_reason -fieldsplit_1_ksp_monitor
>>>>>      -ksp_monitor_true_residual.
>>>>> 
>>>>>  Okay, I run my code with the options "-pc_fieldsplit_type schur
>>>>>  -fieldsplit_interior_ksp_type preonly -fieldsplit_interior_pc_type
>>>>>  bjacobi -fieldsplit_interior_sub_pc_type lu
>>>>>  -fieldsplit_boundary_ksp_monitor -ksp_monitor_true_residual
>>>>>  -fieldsplit_interior_ksp_converged_reason". The splits are named
>>>>>  "interior" and "boundary". The ksp output is as follows:
>>>>> 
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    Residual norms for fieldsplit_boundary_ solve.
>>>>>    0 KSP Residual norm 1.790059331071e-04
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    1 KSP Residual norm 1.237356212928e-04
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    2 KSP Residual norm 7.952220245101e-05
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    3 KSP Residual norm 3.502858665398e-05
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    4 KSP Residual norm 1.601085190129e-05
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    5 KSP Residual norm 8.491161243057e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    6 KSP Residual norm 4.778227395989e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    7 KSP Residual norm 2.571919352633e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    8 KSP Residual norm 1.353979940120e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    9 KSP Residual norm 7.408377337496e-07
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   10 KSP Residual norm 3.810694345834e-07
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   11 KSP Residual norm 1.955889542056e-07
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   12 KSP Residual norm 9.938906113920e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   13 KSP Residual norm 4.893445675773e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   14 KSP Residual norm 2.395128458062e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   15 KSP Residual norm 1.2464425896 <tel:1.2464425896>57e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   16 KSP Residual norm 6.316454504022e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   17 KSP Residual norm 3.088668836241e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   18 KSP Residual norm 1.593454221996e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>  [0]  Petsc-Iteration 0: 0.574504
>>>>>   0 KSP preconditioned resid norm 5.745043818120e-01 true resid
>>>>>  norm 1.584249437360e-01 ||r(i)||/||b|| 1.000000000000e+00
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    Residual norms for fieldsplit_boundary_ solve.
>>>>>    0 KSP Residual norm 1.790059331000e-04
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    1 KSP Residual norm 1.237356237744e-04
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    2 KSP Residual norm 7.952220078415e-05
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    3 KSP Residual norm 3.502859285561e-05
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    4 KSP Residual norm 1.601086485810e-05
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    5 KSP Residual norm 8.491169384185e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    6 KSP Residual norm 4.778229157872e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    7 KSP Residual norm 2.571917112191e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    8 KSP Residual norm 1.353977280183e-06
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    9 KSP Residual norm 7.408352317360e-07
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   10 KSP Residual norm 3.810710583336e-07
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   11 KSP Residual norm 1.955898169394e-07
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   12 KSP Residual norm 9.938892788465e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   13 KSP Residual norm 4.893428546840e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   14 KSP Residual norm 2.395120857135e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   15 KSP Residual norm 1.2464367927 <tel:1.2464367927>84e-08
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   16 KSP Residual norm 6.316409779118e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   17 KSP Residual norm 3.088649355374e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   18 KSP Residual norm 1.593449602302e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    Residual norms for fieldsplit_boundary_ solve.
>>>>>    0 KSP Residual norm 1.593449603155e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    1 KSP Residual norm 1.011857676662e-09
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    2 KSP Residual norm 5.660892669788e-10
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    3 KSP Residual norm 3.046799343903e-10
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    4 KSP Residual norm 1.6004713993 <tel:1.6004713993>29e-10
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    5 KSP Residual norm 8.083216601016e-11
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    6 KSP Residual norm 4.308671648345e-11
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    7 KSP Residual norm 2.381959817139e-11
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    8 KSP Residual norm 1.264839790114e-11
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>    9 KSP Residual norm 6.435098853282e-12
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   10 KSP Residual norm 3.184769579797e-12
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   11 KSP Residual norm 1.5022019430 <tel:1.5022019430>16e-12
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   12 KSP Residual norm 7.099486208425e-13
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   13 KSP Residual norm 3.443222176388e-13
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   14 KSP Residual norm 1.6478434989 <tel:1.6478434989>12e-13
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   15 KSP Residual norm 8.208508173926e-14
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   16 KSP Residual norm 4.376604355287e-14
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   17 KSP Residual norm 2.596069152755e-14
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   18 KSP Residual norm 1.335744434252e-14
>>>>>    Linear solve converged due to CONVERGED_ITS iterations 1
>>>>>   1 KSP preconditioned resid norm 2.608069232839e-13 true resid
>>>>>  norm 1.449869994655e-13 ||r(i)||/||b|| 9.151778504469e-13
>>>>> 
>>>>>  I have no idea how to interpret this output! Could you help me
>>>>>  with it?
>>>>> 
>>>>> 
>>>>> Get rid of -fieldsplit_interior_ksp_converged_reason. It is confusing things. Then you will see
>>>>> the outer iteration and the inner boundary iteration which is indented.
>>>>> 
>>>>> Matt
>>>>> 
>>>>> 
>>>>>  Thomas
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 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
>>>>>        
>> 
>> 
>> 
>>  
> 




More information about the petsc-dev mailing list