As usual, the Firedrake person in the best position to answer your question is Lawrence, but he's currently on holiday.
I won't try to answer your question, but in an old email, Lawrence suggested you try using multigrid on the blocks; e.g.
'fieldsplit_0_pc_type': 'gamg',
'fieldsplit_1_pc_type': 'gamg',My linear solver knowledge is pretty dire, so I'll stop talking here :)
Andrew
On 15 October 2015 at 13:58, Justin Chang <jychang48@gmail.com> wrote:
I did ask them, but it went unanswered for the last 1.5 months...Let me clarify my question a bit though, I tried using -ksp_type cg -pc_type hypre -pc_hypre_type boomeramg, but it is not supported for matnest. I added nest=False but it seems to break my solver somehow.
The only thing that works for me is -ksp_type cg -pc_type bjacobi plus MixedVectorSpaceBasis(W, ...) but the number of solver iterations increases with problem size...
Thanks,
Justin
On Thu, Oct 15, 2015 at 6:50 AM, Andrew McRae <A.T.T.McRae@bath.ac.uk> wrote:
_______________________________________________I think the PETSc mailing list is a much better place to ask questions like this?
On 15 October 2015 at 13:47, Justin Chang <jychang48@gmail.com> wrote:
Hi all,
I am attempting to solve Darcy's equation:
u + grad[p] = 0
div[u] = f
The weak form under the least-squares finite element method (LSFEM)
looks like this:
(u + grad[p]; v + grad[q]) + div[u]*div[v] = (f; div[v])
For H(div) elements like RT0, these options worked nicely:
-ksp_type gmres
-pc_type fieldsplit
-pc_fieldsplit_type schur
-pc_fieldsplit_schur_precondition selfp
-fieldsplit_0_ksp_type preonly
-fieldsplit_0_pc_type bjacobi
-fieldsplit_0_sub_pc_type ilu
-fieldsplir_1_ksp_type preonly
-fieldsplit_1_pc_type hypre
but for the above LSFEM, it does not work (get a DIVERGED_MAX_IT error). I heard multigrid methods are good for these types of problems, so how do I tweak the above parameters?
Thanks,
Justin
firedrake mailing list
firedrake@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/firedrake