I have tinkered around with the implementation of hybridizable Discontinuous Galerkin (HDG) methods in DUNE-PDELab and DUNE-FEM for my PhD but since then I have not had the time to work on these codes very much. Some things were possible back then, but others such as element-wise assemblies of the facet contributions or static condensation did not fit well into the concept and required a lot of work which is most probably not compatible anymore with current versions, since it involved reimplementing certain internals. That being said, this applied to almost any framework I tried out during that time, the only exception being NGSolve (which unfortunately had some compatibility issues with Mac OS X that lead me to give up on it after a while).

Two years have passed since then and I have certain things in mind which I want to try out in the future, but I still could not find THE framework for HDG; in fact it seems like there are loads of papers published on the method and its analysis for a whole zoo of problems, but the class of HDG methods is for the most part ignored by framework developers. Am I wrong?


The newest step 51 of the deal.ii tutorial describes the implementation and some tests of an HDG method for the convection-diffusion equation. As far as I can see there is no support for other elements than hexahedrals but the documentation of the implemented method looks excellent.

NGSolve has support for HDG which was demonstrated for convection-diffusion as well as incompressible and compressible flow problems by various authors.

It is possible to implement HDG in DUNE-PDELab (the implementation is however incompatible with current releases and has some limitations). There also exist some implementations of HDG in DUNE-FEM which are all - to my best knowledge - not publicly released.

Also I keep hearing every now and then that FEniCS has some rudimentary support for HDG but I could not find working examples.

  • 2
    $\begingroup$ FEniCS' support for HDG is somewhat limited - I haven't found a way to eliminate interior dofs in a local manner yet, and their flux basis functions (facet restrictions by their naming) do not yet support parallel assembly. $\endgroup$ – Jesse Chan Mar 19 '14 at 13:54
  • 2
    $\begingroup$ web.pdx.edu/~gjay/pub/dpglaplace.py provides an example of usage of these facet restrictions, though in a slightly different context (Demkowicz and Gopalakrishnan's DPG method). The extension to HDG should be straightforward, though. $\endgroup$ – Jesse Chan Mar 19 '14 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.