Justin Chang <[email protected]> writes: > Last one with the svd did not work with the way the AMG PC was hard-coded > into FEniCS. Here's the list of preconditioners my installation of FEniCS > supports: > > Preconditioner | Description > --------------------------------------------------------------- > default | default preconditioner > ilu | Incomplete LU factorization > icc | Incomplete Cholesky factorization > sor | Successive over-relaxation > petsc_amg | PETSc algebraic multigrid > jacobi | Jacobi iteration > bjacobi | Block Jacobi iteration > additive_schwarz | Additive Schwarz > amg | Algebraic multigrid > hypre_amg | Hypre algebraic multigrid (BoomerAMG) > hypre_euclid | Hypre parallel incomplete LU factorization > hypre_parasails | Hypre parallel sparse approximate inverse > none | No preconditioner
Wrapping an extensible dynamic system with a static maintenance burden is pretty much the canonical example of bad design. I used to keep a patched version of Dolfin so I could bypass this stupid table. The table can and should be constructed dynamically using const char **pcs; int npcs; PetscFunctionListGet(PCList,&pcs,&npcs); Anyway, are you sure this wasn't fixed so that you can pass PETSc options directly? If you can get commands to PETSc, but just can't change the preconditioner, then try -ksp_view_mat binary (for the tiny problem) and open the resulting matrix "binaryoutput" in octave/matlab/scipy.
signature.asc
Description: PGP signature
