<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 24, 2015 at 3:50 AM, Lawrence Mitchell <span dir="ltr"><<a href="mailto:lawrence.mitchell@imperial.ac.uk" target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
Hi all,<br>
<br>
I'm observing poor convergence of FAS on linear problems when I use a<br>
snes_type of ksponly on each level, unless I also monitor the snes on<br>
those levels.  This is reproducible with snes ex35.c:<br></blockquote><div><br></div><div>Thanks, I will look at it. I am guessing that it is something with the update,</div><div>probably if there is an initial guess, but its definitely a bug if the monitor changes</div><div>the convergence behavior.</div><div><br></div><div>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Using one iteration of newton on each level:<br>
<br>
$ ./ex35 -da_refine 2 -snes_type fas -snes_monitor_short<br>
    -fas_coarse_snes_type newtonls<br>
    -fas_coarse_ksp_type preonly<br>
    -fas_coarse_pc_type lu<br>
    -fas_levels_snes_type newtonls<br>
    -fas_levels_snes_max_it 1<br>
    -fas_levels_ksp_max_it 2<br>
    -fas_levels_ksp_convergence_test skip<br>
<br>
  0 SNES Function norm 7.46324<br>
  1 SNES Function norm 0.0783234<br>
  2 SNES Function norm 0.000381979<br>
  3 SNES Function norm 2.81934e-06<br>
  4 SNES Function norm 3.33505e-08<br>
<br>
Using ksponly as the level snes type:<br>
<br>
$ ./ex35 -da_refine 2 -snes_type fas -snes_monitor_short<br>
    -fas_coarse_snes_type newtonls<br>
    -fas_coarse_ksp_type preonly<br>
    -fas_coarse_pc_type lu<br>
    -fas_levels_snes_type ksponly<br>
    -fas_levels_snes_max_it 1<br>
    -fas_levels_ksp_max_it 2<br>
    -fas_levels_ksp_convergence_test skip<br>
<br>
  0 SNES Function norm 7.46324<br>
  1 SNES Function norm 11.0718<br>
  2 SNES Function norm 2.31708<br>
  3 SNES Function norm 0.354363<br>
  4 SNES Function norm 0.0966945<br>
  5 SNES Function norm 0.0184193<br>
  6 SNES Function norm 0.00553901<br>
  7 SNES Function norm 0.000916548<br>
  8 SNES Function norm 0.000235095<br>
  9 SNES Function norm 5.78095e-05<br>
 10 SNES Function norm 1.68048e-05<br>
 11 SNES Function norm 3.03099e-06<br>
 12 SNES Function norm 7.5299e-07<br>
 13 SNES Function norm 2.18443e-07<br>
 14 SNES Function norm 5.8899e-08<br>
<br>
Same options, but turning on the monitors on each snes level:<br>
<br>
$ ./ex35 -da_refine 2 -snes_type fas -snes_monitor_short<br>
    -fas_coarse_snes_type newtonls<br>
    -fas_coarse_ksp_type preonly<br>
    -fas_coarse_pc_type lu<br>
    -fas_levels_snes_type ksponly<br>
    -fas_levels_snes_max_it 1<br>
    -fas_levels_ksp_max_it 2<br>
    -fas_levels_ksp_convergence_test skip<br>
    -fas_levels_snes_monitor /dev/null<br>
<br>
  0 SNES Function norm 7.46324<br>
  1 SNES Function norm 0.0783234<br>
  2 SNES Function norm 0.000381979<br>
  3 SNES Function norm 2.81934e-06<br>
  4 SNES Function norm 3.33505e-08<br>
<br>
<br>
Any ideas?<br>
<br>
Cheers,<br>
<br>
Lawrence<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1<br>
<br>
iQEcBAEBAgAGBQJU7EllAAoJECOc1kQ8PEYv/AgIAM/mziZZjhZrZlwIskAuPEm7<br>
fSFf5i4z2RQyg6Q6m9VP9/7k6kb9g40QVWs03p/MIjB4ywdGnH1ZYWwGE+FpsvTJ<br>
DgRv8yQqHJDkxK0n5K31NzhSN7XalExjE/dZpcxnKhoD92sqkij+p0XGQtW35haL<br>
jbK906y+Ag+PhCNTX5T2imgTy3RbfHIycomwNdgcsqWrtxrTckvvM5oeBi4xBq+7<br>
74lbf2eMUpcS2XNF3vn6kSKG5VGHbftQJFuBTQ1xPh6IsdeHKF3XjKJQ9TZj204Z<br>
rNfMlI3zSzdfN4Pf0v3nIbAWvAsjEKT2+fN6gSYXfcB9qXFabpOHS0UiWpFX8SQ=<br>
=vVA4<br>
-----END PGP SIGNATURE-----<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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>
</div></div>