I am facing a problem getting superconvergence results ( Need to get (k+2) order in L^2-norm and (k+1) in reconstruction gradient using P^k polynomial approx. ) for the Poisson equation by using HHO in FF++.
Here is the HHO scheme using the reconstruction operator :
Dear Monirul,
In this problem you have to repeatedly use Lagrange multipliers to solve all the equations simultaneously. Code: HHO.edp (4.9 KB)
Francois.
Thank you so much Sir for your support. But as per the paper, the L^2-norm order is fine, but order 2 should come for reconstruction gradient if I am not wrong.
The method of Lagrange multipliers gives the solution, but is indeed not the way that should be chosen for hybrid methods, because it leads to a very large linear system.
Instead one should use reduction, by inversion of the local operators.
In order to show how to implement an hybrid method with inversion of the local problems in FreeFem++, let me explain how to do on this example problem of the Laplace operator by the hybrid high order method of DiPietro and Ern.
1. Discontinuous spaces
Let me recall that Pkdc (with k an integer) is the space of functions that
are polynomial of degree at most k in each triangle, without any continuity requirement from one triangle to another.
Similarly, Pkedge is the space of functions that are defined only on edges of the mesh, and that are polynomial of degree at most k in each edge, without any continuity requirement from one edge to another.
Pkedgedc is similar to Pkedge except that we have two polynomial functions per edge, one for each side of the edge (or only 1 if the edge is a boundary edge), hence two different values when approaching the edge from one neighbouring triangle or the other.
I am very grateful to you for sharing this valuable information and code. It will greatly help me in my work. I truly appreciate the support you have provided earlier and now. Thank you very much.
Could you kindly share the details of the paper from which the screenshot images were taken?.
(Results of Lagrange’s multiplier seemed better than HHO-reduced.edp Sir). If I am not wrong, I hope both codes will work for time-dependent as well as higher-order equations, sir!.
In the Lagrange multiplier code the mesh was square(), whereas in the last code it is buildmesh(). If you use the same mesh for both codes you should get the same results.
For time dependent yes, but of course the computational time could be high.
About high order, here it works for k=2 hence 4th order, it is already high. To make it work with higher k is difficult (quadrature formulas, issues with respect to the dofs in Pkdc that are slightly inside the triangle…).
Could you please share the appropriate reference for the Lagrange multiplier used in HHO.edp?. It would be very helpful if you could also provide a detailed explanation of it.