[petsc-users] fieldsplit_0_ monitor in combination with selfp
Klaij, Christiaan
C.Klaij at marin.nl
Thu Sep 4 07:06:05 CDT 2014
I'm playing with the selfp option in fieldsplit using
snes/examples/tutorials/ex70.c. For example:
mpiexec -n 2 ./ex70 -nx 4 -ny 6 \
-ksp_type fgmres \
-pc_type fieldsplit \
-pc_fieldsplit_type schur \
-pc_fieldsplit_schur_fact_type lower \
-pc_fieldsplit_schur_precondition selfp \
-fieldsplit_1_inner_ksp_type preonly \
-fieldsplit_1_inner_pc_type jacobi \
-fieldsplit_0_ksp_monitor -fieldsplit_0_ksp_max_it 1 \
-fieldsplit_1_ksp_monitor -fieldsplit_1_ksp_max_it 1 \
-ksp_monitor -ksp_max_it 1
gives the following output
0 KSP Residual norm 1.229687498638e+00
Residual norms for fieldsplit_1_ solve.
0 KSP Residual norm 2.330138480101e+01
1 KSP Residual norm 1.609000846751e+01
1 KSP Residual norm 1.180287268335e+00
To my suprise I don't see anything for the fieldsplit_0_ solve,
why?
Furthermore, if I understand correctly the above should be
exactly equivalent with
mpiexec -n 2 ./ex70 -nx 4 -ny 6 \
-ksp_type fgmres \
-pc_type fieldsplit \
-pc_fieldsplit_type schur \
-pc_fieldsplit_schur_fact_type lower \
-user_ksp \
-fieldsplit_0_ksp_monitor -fieldsplit_0_ksp_max_it 1 \
-fieldsplit_1_ksp_monitor -fieldsplit_1_ksp_max_it 1 \
-ksp_monitor -ksp_max_it 1
0 KSP Residual norm 1.229687498638e+00
Residual norms for fieldsplit_0_ solve.
0 KSP Residual norm 5.486639587672e-01
1 KSP Residual norm 6.348354253703e-02
Residual norms for fieldsplit_1_ solve.
0 KSP Residual norm 2.321938107977e+01
1 KSP Residual norm 1.605484031258e+01
1 KSP Residual norm 1.183225251166e+00
because -user_ksp replaces the Schur complement by the simple
approximation A11 - A10 inv(diag(A00)) A01. Beside the missing
fielsplit_0_ part, the numbers are pretty close but not exactly
the same. Any explanation?
Chris
dr. ir. Christiaan Klaij
CFD Researcher
Research & Development
E mailto:C.Klaij at marin.nl
T +31 317 49 33 44
MARIN
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
T +31 317 49 39 11, F +31 317 49 32 45, I www.marin.nl
More information about the petsc-users
mailing list