<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
This is what I get for 3.5.0:<br>
<br>
anton@anton ~/LIB/petsc-3.5.0-deb/src/snes/examples/tutorials $
./ex19 -bf_pc_type fieldsplit -bf_snes_view<br>
lid velocity = 0.0625, prandtl # = 1, grashof # = 1<br>
Number of SNES iterations = 2<br>
WARNING! There are options you set that were not used!<br>
WARNING! could be spelling mistake, etc!<br>
Option left: name:-bf_pc_type value: fieldsplit<br>
Option left: name:-bf_snes_view (no value)<br>
<br>
It seems like it was already corrected between 3.5.0 & 3.5.2<br>
<br>
<div class="moz-cite-prefix">On 09/26/2014 04:26 PM, Matthew Knepley
wrote:<br>
</div>
<blockquote
cite="mid:CAMYG4GntYGZvi2GE3hdNNYO37CdKwTbMjhJG9wtOMXo0z2KLvQ@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div dir="ltr">Here is the result for 3.5.2, which looks right to
me:
<div><br>
</div>
<div>
<div>(v3.5.2)
*:/PETSc3/petsc/release-petsc-3.5.1/src/snes/examples/tutorials$
./ex19 -bf_pc_type fieldsplit -bf_snes_view
-bf_pc_fieldsplit_type schur -bf_pc_fieldsplit_0_fields
0,1,2 -bf_pc_fieldsplit_1_fields 3
-bf_pc_fieldsplit_schur_factorization_type upper</div>
<div>lid velocity = 0.0625, prandtl # = 1, grashof # = 1</div>
<div>SNES Object:(bf_) 1 MPI processes</div>
<div> type: newtonls</div>
<div> maximum iterations=50, maximum function
evaluations=10000</div>
<div> tolerances: relative=1e-08, absolute=1e-50,
solution=1e-08</div>
<div> total number of linear solver iterations=4</div>
<div> total number of function evaluations=3</div>
<div> SNESLineSearch Object: (bf_) 1 MPI processes</div>
<div> type: bt</div>
<div> interpolation: cubic</div>
<div> alpha=1.000000e-04</div>
<div> maxstep=1.000000e+08, minlambda=1.000000e-12</div>
<div> tolerances: relative=1.000000e-08,
absolute=1.000000e-15, lambda=1.000000e-08</div>
<div> maximum iterations=40</div>
<div> KSP Object: (bf_) 1 MPI processes</div>
<div> type: gmres</div>
<div> GMRES: restart=30, using Classical (unmodified)
Gram-Schmidt Orthogonalization with no iterative refinement</div>
<div> GMRES: happy breakdown tolerance 1e-30</div>
<div> maximum iterations=10000, initial guess is zero</div>
<div> tolerances: relative=1e-05, absolute=1e-50,
divergence=10000</div>
<div> left preconditioning</div>
<div> using PRECONDITIONED norm type for convergence test</div>
<div> PC Object: (bf_) 1 MPI processes</div>
<div> type: fieldsplit</div>
<div> FieldSplit with Schur preconditioner, factorization
UPPER</div>
<div> Preconditioner for the Schur complement formed from
A11</div>
<div> Split info:</div>
<div> Split number 0 Defined by IS</div>
<div> Split number 1 Defined by IS</div>
<div> KSP solver for A00 block</div>
<div> KSP Object: (bf_fieldsplit_0_) 1
MPI processes</div>
<div> type: gmres</div>
<div> GMRES: restart=30, using Classical
(unmodified) Gram-Schmidt Orthogonalization with no
iterative refinement</div>
<div> GMRES: happy breakdown tolerance 1e-30</div>
<div> maximum iterations=10000, initial guess is zero</div>
<div> tolerances: relative=1e-05, absolute=1e-50,
divergence=10000</div>
<div> left preconditioning</div>
<div> using PRECONDITIONED norm type for convergence
test</div>
<div> PC Object: (bf_fieldsplit_0_) 1
MPI processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to prevent
zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=48, cols=48</div>
<div> package used to perform factorization:
petsc</div>
<div> total: nonzeros=576, allocated
nonzeros=576</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> using I-node routines: found 16
nodes, limit used is 5</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object: (bf_fieldsplit_0_)
1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=48, cols=48</div>
<div> total: nonzeros=576, allocated nonzeros=576</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> using I-node routines: found 16 nodes,
limit used is 5</div>
<div> KSP solver for S = A11 - A10 inv(A00) A01 </div>
<div> KSP Object: (bf_fieldsplit_temperature_)
1 MPI processes</div>
<div> type: gmres</div>
<div> GMRES: restart=30, using Classical
(unmodified) Gram-Schmidt Orthogonalization with no
iterative refinement</div>
<div> GMRES: happy breakdown tolerance 1e-30</div>
<div> maximum iterations=10000, initial guess is zero</div>
<div> tolerances: relative=1e-05, absolute=1e-50,
divergence=10000</div>
<div> left preconditioning</div>
<div> using PRECONDITIONED norm type for convergence
test</div>
<div> PC Object: (bf_fieldsplit_temperature_)
1 MPI processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to prevent
zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> package used to perform factorization:
petsc</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix followed by preconditioner
matrix:</div>
<div> Mat Object:
(bf_fieldsplit_temperature_) 1 MPI processes</div>
<div> type: schurcomplement</div>
<div> rows=16, cols=16</div>
<div> Schur complement A11 - A10 inv(A00) A01</div>
<div> A11</div>
<div> Mat Object:
(bf_fieldsplit_temperature_) 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> A10</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=48</div>
<div> total: nonzeros=192, allocated
nonzeros=192</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> KSP of A00</div>
<div> KSP Object:
(bf_fieldsplit_0_) 1 MPI processes</div>
<div> type: gmres</div>
<div> GMRES: restart=30, using Classical
(unmodified) Gram-Schmidt Orthogonalization with no
iterative refinement</div>
<div> GMRES: happy breakdown tolerance
1e-30</div>
<div> maximum iterations=10000, initial guess
is zero</div>
<div> tolerances: relative=1e-05,
absolute=1e-50, divergence=10000</div>
<div> left preconditioning</div>
<div> using PRECONDITIONED norm type for
convergence test</div>
<div> PC Object:
(bf_fieldsplit_0_) 1 MPI processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to
prevent zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object:
1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=48, cols=48</div>
<div> package used to perform
factorization: petsc</div>
<div> total: nonzeros=576, allocated
nonzeros=576</div>
<div> total number of mallocs used
during MatSetValues calls =0</div>
<div> using I-node routines: found
16 nodes, limit used is 5</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object:
(bf_fieldsplit_0_) 1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=48, cols=48</div>
<div> total: nonzeros=576, allocated
nonzeros=576</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> using I-node routines: found 16
nodes, limit used is 5</div>
<div> A01</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=48, cols=16</div>
<div> total: nonzeros=192, allocated
nonzeros=192</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> using I-node routines: found 16
nodes, limit used is 5</div>
<div> Mat Object:
(bf_fieldsplit_temperature_) 1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> total: nonzeros=64, allocated nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object: 1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=64, cols=64, bs=4</div>
<div> total: nonzeros=1024, allocated nonzeros=1024</div>
<div> total number of mallocs used during MatSetValues
calls =0</div>
<div> using I-node routines: found 16 nodes, limit used
is 5</div>
<div>Number of SNES iterations = 2</div>
</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Sep 26, 2014 at 8:52 AM,
Matthew Knepley <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div>
<div class="h5">On Fri, Sep 26, 2014 at 7:29 AM,
anton <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:popov@uni-mainz.de"
target="_blank">popov@uni-mainz.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Create
preconditioner:<br>
<br>
PCCreate(PETSC_COMM_WORLD, &pc);<br>
PCSetOptionsPrefix(pc, "bf_");<br>
PCSetFromOptions(pc);<br>
<br>
Define fieldsplit options:<br>
<br>
-bf_pc_type fieldsplit<br>
-bf_pc_fieldsplit_type SCHUR<br>
-bf_pc_fieldsplit_schur_factorization_type UPPER<br>
<br>
Works OK.<br>
<br>
Set options for the first field solver:<br>
<br>
-bf_fieldsplit_0_ksp_type preonly<br>
-bf_fieldsplit_0_pc_type lu<br>
<br>
Doesn't work (ignored), because "bf_" prefix
isn't pass to inner solver ksp (checked in the
debugger).<br>
<br>
Indeed, the following works:<br>
<br>
-fieldsplit_0_ksp_type preonly<br>
-fieldsplit_0_pc_type lu<br>
<br>
Observed with 3.5 but not with 3.4<br>
</blockquote>
<div><br>
</div>
</div>
</div>
<div>I just tried this with master on SNES ex19, and
got the correct result:</div>
<div><br>
</div>
<div>
<div>knepley/feature-parallel-partition
*$:/PETSc3/petsc/petsc-dev/src/snes/examples/tutorials$
./ex19 -bf_pc_type fieldsplit -bf_snes_view</div>
<div>./ex19 -bf_pc_type fieldsplit -bf_snes_view</div>
<div>lid velocity = 0.0625, prandtl # = 1, grashof #
= 1</div>
<div>SNES Object:(bf_) 1 MPI processes</div>
<div> type: newtonls</div>
<div> maximum iterations=50, maximum function
evaluations=10000</div>
<div> tolerances: relative=1e-08, absolute=1e-50,
solution=1e-08</div>
<div> total number of linear solver iterations=13</div>
<div> total number of function evaluations=3</div>
<div> SNESLineSearch Object: (bf_) 1 MPI
processes</div>
<div> type: bt</div>
<div> interpolation: cubic</div>
<div> alpha=1.000000e-04</div>
<div> maxstep=1.000000e+08,
minlambda=1.000000e-12</div>
<div> tolerances: relative=1.000000e-08,
absolute=1.000000e-15, lambda=1.000000e-08</div>
<div> maximum iterations=40</div>
<div> KSP Object: (bf_) 1 MPI processes</div>
<div> type: gmres</div>
<div> GMRES: restart=30, using Classical
(unmodified) Gram-Schmidt Orthogonalization with
no iterative refinement</div>
<div> GMRES: happy breakdown tolerance 1e-30</div>
<div> maximum iterations=10000, initial guess is
zero</div>
<div> tolerances: relative=1e-05,
absolute=1e-50, divergence=10000</div>
<div> left preconditioning</div>
<div> using PRECONDITIONED norm type for
convergence test</div>
<div> PC Object: (bf_) 1 MPI processes</div>
<div> type: fieldsplit</div>
<div> FieldSplit with MULTIPLICATIVE
composition: total splits = 4</div>
<div> Solver info for each split is in the
following KSP objects:</div>
<div> Split number 0 Defined by IS</div>
<div> KSP Object:
(bf_fieldsplit_x_velocity_) 1 MPI processes</div>
<div> type: preonly</div>
<div> maximum iterations=10000, initial guess
is zero</div>
<div> tolerances: relative=1e-05,
absolute=1e-50, divergence=10000</div>
<div> left preconditioning</div>
<div> using NONE norm type for convergence
test</div>
<div> PC Object:
(bf_fieldsplit_x_velocity_) 1 MPI processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to
prevent zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> package used to perform
factorization: petsc</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used
during MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object:
(bf_fieldsplit_x_velocity_) 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> Split number 1 Defined by IS</div>
<div> KSP Object:
(bf_fieldsplit_y_velocity_) 1 MPI processes</div>
<div> type: preonly</div>
<div> maximum iterations=10000, initial guess
is zero</div>
<div> tolerances: relative=1e-05,
absolute=1e-50, divergence=10000</div>
<div> left preconditioning</div>
<div> using NONE norm type for convergence
test</div>
<div> PC Object:
(bf_fieldsplit_y_velocity_) 1 MPI processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to
prevent zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> package used to perform
factorization: petsc</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used
during MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object:
(bf_fieldsplit_y_velocity_) 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> Split number 2 Defined by IS</div>
<div> KSP Object: (bf_fieldsplit_Omega_)
1 MPI processes</div>
<div> type: preonly</div>
<div> maximum iterations=10000, initial guess
is zero</div>
<div> tolerances: relative=1e-05,
absolute=1e-50, divergence=10000</div>
<div> left preconditioning</div>
<div> using NONE norm type for convergence
test</div>
<div> PC Object: (bf_fieldsplit_Omega_)
1 MPI processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to
prevent zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> package used to perform
factorization: petsc</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used
during MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object:
(bf_fieldsplit_Omega_) 1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> Split number 3 Defined by IS</div>
<div> KSP Object:
(bf_fieldsplit_temperature_) 1 MPI
processes</div>
<div> type: preonly</div>
<div> maximum iterations=10000, initial guess
is zero</div>
<div> tolerances: relative=1e-05,
absolute=1e-50, divergence=10000</div>
<div> left preconditioning</div>
<div> using NONE norm type for convergence
test</div>
<div> PC Object:
(bf_fieldsplit_temperature_) 1 MPI
processes</div>
<div> type: ilu</div>
<div> ILU: out-of-place factorization</div>
<div> 0 levels of fill</div>
<div> tolerance for zero pivot 2.22045e-14</div>
<div> using diagonal shift on blocks to
prevent zero pivot [INBLOCKS]</div>
<div> matrix ordering: natural</div>
<div> factor fill ratio given 1, needed 1</div>
<div> Factored matrix follows:</div>
<div> Mat Object: 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> package used to perform
factorization: petsc</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used
during MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object:
(bf_fieldsplit_temperature_) 1 MPI
processes</div>
<div> type: seqaij</div>
<div> rows=16, cols=16</div>
<div> total: nonzeros=64, allocated
nonzeros=64</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> not using I-node routines</div>
<div> linear system matrix = precond matrix:</div>
<div> Mat Object: 1 MPI processes</div>
<div> type: seqaij</div>
<div> rows=64, cols=64, bs=4</div>
<div> total: nonzeros=1024, allocated
nonzeros=1024</div>
<div> total number of mallocs used during
MatSetValues calls =0</div>
<div> using I-node routines: found 16 nodes,
limit used is 5</div>
<div>Number of SNES iterations = 2</div>
</div>
<div><br>
</div>
<div>I will try with 3.5.2.</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px
0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Thanks.<span><font
color="#888888"><br>
Anton<span class="HOEnZb"><font color="#888888"><br>
</font></span></font></span></blockquote>
</div>
<span class="HOEnZb"><font color="#888888"><br>
<br clear="all">
<div><br>
</div>
-- <br>
What most experimenters take for granted before they
begin their experiments is infinitely more
interesting than any results to which their
experiments lead.<br>
-- Norbert Wiener
</font></span></div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to
which their experiments lead.<br>
-- Norbert Wiener
</div>
</blockquote>
<br>
</body>
</html>