<div dir="ltr"><div>Actually, something is wrong. The velocity solutions are correct, but the pressure solution has gone awry (see attached, left uses MTH whereas right is TH). Don't know why I didn't catch this earlier, I may need to consult to the FEniCS guys for this<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 2, 2015 at 4:45 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Justin Chang <<a href="mailto:jychang48@gmail.com">jychang48@gmail.com</a>> writes:<br>
<br>
> Last one with the svd did not work with the way the AMG PC was hard-coded<br>
> into FEniCS. Here's the list of preconditioners my installation of FEniCS<br>
> supports:<br>
><br>
> Preconditioner | Description<br>
> ---------------------------------------------------------------<br>
> default | default preconditioner<br>
> ilu | Incomplete LU factorization<br>
> icc | Incomplete Cholesky factorization<br>
> sor | Successive over-relaxation<br>
> petsc_amg | PETSc algebraic multigrid<br>
> jacobi | Jacobi iteration<br>
> bjacobi | Block Jacobi iteration<br>
> additive_schwarz | Additive Schwarz<br>
> amg | Algebraic multigrid<br>
> hypre_amg | Hypre algebraic multigrid (BoomerAMG)<br>
> hypre_euclid | Hypre parallel incomplete LU factorization<br>
> hypre_parasails | Hypre parallel sparse approximate inverse<br>
> none | No preconditioner<br>
<br>
</span>Wrapping an extensible dynamic system with a static maintenance burden<br>
is pretty much the canonical example of bad design.<br>
<br>
I used to keep a patched version of Dolfin so I could bypass this stupid<br>
table. The table can and should be constructed dynamically using<br>
<br>
const char **pcs;<br>
int npcs;<br>
PetscFunctionListGet(PCList,&pcs,&npcs);<br>
<br>
Anyway, are you sure this wasn't fixed so that you can pass PETSc<br>
options directly?<br>
<br>
If you can get commands to PETSc, but just can't change the<br>
preconditioner, then try<br>
<br>
-ksp_view_mat binary<br>
<br>
(for the tiny problem) and open the resulting matrix "binaryoutput" in<br>
octave/matlab/scipy.<br>
</blockquote></div><br></div>