Thanks Lawrence,
On 08/12/15 17:58, Justin Chang wrote:
> Hi Colin (or anyone),
>
> Coming back to this
>
> 1) Could you elaborate a little more on implementing this block H(div)
> operator in firedrake/petsc:
>
> ( 1 - grad(div .) 0 )
> ( 0 1 )
>
> My guess at least for that bottom right entry would be to use the
> fieldsplit, where fieldsplit_1_pc would be bjacobi/ilu?
OK, so you build Jp:
Jp = dot(u, v)*dx + div(u)*div(v)*dx + p*q*dx
And provide that as either an optional Jp argument (or an aP argument
if you're using a LinearVariationalSolver), see
http://firedrakeproject.org/solving-interface.html#providing-an-operator-for-preconditioning.
No you do:
-pc_type fieldsplit
-pc_fieldsplit_type additive
-fieldsplit_0_pc_type something_that_works_for_grad_div_helmholtz
-fieldsplit_1_pc_type something_that_works_for_mass
> also
>
> 2) What exactly do you guys mean by "hybridise the equation"? Like how
> would it look in the context of LSFEM?
See, for example, Bernardo Cockburn, Jayadeep Gopalakrishnan and
Raytcho Lazarov. Unified Hybridization of Discontinuous Galerkin,
Mixed, and Continuous Galerkin Methods for Second Order Elliptic
Problems, {SIAM} Journal on Numerical Analysis (2009).
Lawrence