Re: [petsc-dev] Using PCFieldSplitSetIS
Did you get a chance to run as I requested with "Please run with -ksp_view and send the output." 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 <[email protected] <mailto:[email protected]>> wrote:
Jed Brown wrote:
On Wed, Mar 16, 2011 at 07:37, Thomas Witkowski <[email protected] <mailto:[email protected]> <mailto:[email protected] <mailto:[email protected]>>> 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
participants (1)
-
Barry Smith