Hi all, I am attempting to solve Darcy's equation:
u + grad[p] = g 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] = (g; v + grad[q]) + (f; div[v]) The classical mixed formulations using H(div) elements has the following weak form: (u; v) - (p; div[v]) - (div[v]; q) = (g; v) - (f; q) For H(div) elements like RT0 and BDM, I was told that I could use these options: -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 This works nicely for the classical mixed form if g was zero and f was nonzero. It also works if f was zero and g was non-zero although it seems to me the solver requires a few more iterations. Now when I attempt to apply these options to the LSFEM, my u solution is nonsensical while my p is correct for nonzero g. For nonzero f, the solver doesn't converge at all. II have used CG/Jacobi with success for small LSFEM problems, but I was wondering if it's possible (or even necessary) to do a fieldsplit/schur complement for this kind of problem and how I could modify the above options. Or what other preconditioner would work best for this type of problem where its symmetric and positive definite? Thanks, Justin
