<div class="gmail_quote">On Sat, Nov 5, 2011 at 12:28, robert <span dir="ltr">&lt;<a href="mailto:robert.bodner@unil.ch">robert.bodner@unil.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":1zo">question 1:<br>
-----------<br>
How can I get an output of the reason value to the console via a command<br>
line option - in the manual only the petsc-function/method for it is<br>
given???<br></div></blockquote><div><br></div><div>-ksp_converged_reason</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":1zo">
<br>
question 2:<br>
----------<br>
I have tried the option -ksp_monitor_true_residual but I don&#39;t know how<br>
to interpret the output.<br>
</div></blockquote><div> </div><div> [...]</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":1zo"> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":1zo">
Did I get it right that the resid norm and true resid norm should be<br>
more or less the same value?<br></div></blockquote><div><br></div><div>The preconditioned residual is after preconditioning where as the true residual does not include the preconditioner. Libmesh examples enforce Dirichlet boundary conditions using penalties which makes the true residual very poorly scaled, in which case the preconditioned residual is preferable for convergence tests (so long as the preconditioner is non-singular, but that should not be a problem for diffusion).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":1zo">
||Ae||/||Ax||: Ax is clear, but what does the e in Ae stand for? How do<br>
I interpret this value? Is this a comparison beteen the &#39;real&#39; solution<br>
and the calculated solution. I recognized that the iterations stopped<br>
when this value got smaller than 1e-12.<br></div></blockquote><div><br></div><div>You should update to petsc-3.2. The string is more clear there: ||r(i)||/||b|| where r(i)=Ax_i-b is the residual.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":1zo">question 3:<br>
-----------<br>
I am sure that there are many people out there who have a lot of<br>
experience with my kind of systems - I mean diffusional heat tranfer is<br>
a standard problem in many different fields.<br>
Which solution algorithm (solver, preconditioner) would you suggest for<br>
solving in parallel? Which ones do I have to avoid (e.g. not stable)???</div></blockquote></div><br><div>Diffusion is as &quot;nice&quot; as possible in terms of stability and well-established theory, multigrid will normally work very well. In the latest release of PETSc, you could try -pc_type gamg. Otherwise/alternatively, configure using --download-ml or --download-hypre, then run with -pc_type ml or -pc_type hypre.</div>