This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Element types for dual-mixed Poisson

0 votes

This demo https://fenicsproject.org/olddocs/dolfin/2016.1.0/python/demo/documented/mixed-poisson-dual/python/documentation.html mentions the discontinuous Raviart-Thomas elements for the dual-mixed formulation for Poisson equation. I have two questions:
1. Where can I read about DRT elements? (What they are and why they satisfy (with P_{k+1}) inf-sup conditions).
2. What other possible choices of finite element types for this particular formulation are?

In books on mixed finite elements, the mixed formulation for Poisson is thoroughly discussed, but I wasn't able to find a book that discusses the dual-mixed formulation.

Any references will be highly appreciated. Thank you.

asked Mar 24, 2017 by EvgenyS FEniCS Novice (120 points)

1 Answer

0 votes
  1. For MFEM I recommend starting here:

http://www.springer.com/us/book/9783319036946,

it is a great book which shows the essential in great detail. After some google, I believe DRT is (maybe) just an emphasis on the fact that RT elements are discontinuous. They present in fact continuity through the normal components on each element, and the inf-sup condition you mention refers (hopefully) to the stability of a CG(k) - RT(k+1) scheme.

  1. The documentation has the full list,

https://fenicsproject.org/olddocs/dolfin/1.6.0/python/programmers-reference/functions/functionspace/FunctionSpace.html,

but be careful about some elements being naturally of a higher dimension. For example, if you define a FiniteElement with 'RT' of 'BDM', it is going to be a vector element, dimensionally equivalent to a VectorElement with 'CG' or 'DG'.

answered Mar 30, 2017 by nabarnaf FEniCS User (2,940 points)

The first link is invalidate.

Both worked on my phone, maybe your browser is considering the commas as part of the link.

Thank you for the reply. I do not think (though I did not check the code) that DRT elements are the same as RT elements. Why would they have two distinct names? I suppose that these elements are discontinuous in normal components also. This is reasonable because vector variables are not under div in the weak form. Still, I was not able to find the proof of LBB conditions for such elements. Why not to use, for example, (two copies of) CG(k) for a vector variable and CG(k+1) for a scalar one? I hardly believe that such choices have never been analyzed before, but I was not able to find such an analysis in books or in articles, hence the question.

Maybe it is doing the same thing people do for DG, taking some kind of jump operator or something. A way of checking would be looking at the elements created by ufl, but I guess you want a more formal reference. Also, please be careful, because the fact that sigma (and tau) are not under a div operator does not mean they should not be in an H(div) space, this is seen more graphically from the strong formulation of the problem, where the solution of your weak form also solves the strong problem almost everywhere, and thus must at least have a well defined divergence.
The BB conditions are established, at least for the CG-RT, formulation in the book I sent you in the answer, and you are right about that last part, you could just use three CG elements to manually build the RT elements, but, it would be awfully tedious (IMHO). Any way, there are other difficulties such as the location of the degrees of freedom, but I believe that is the exact answer to why they havent implemented the PEERS element for H(div).

Best regards

You've made an interesting note about H(div). In the book by D. Braess "Finite elements. Theory, fast solvers, and applications in elasticity theory" in the section The Poisson Equation as a Mixed Problem (ch. 3, §5, page 145), the author considers the mixed formulation of the type we discuss here. He formulates the weak problem for (grad u = σ, div σ = -f) in the following form: "Find σ in (L²)², u in Ḣ¹ ... such that (σ, τ) - (τ, grad u) = 0 for all τ in (L²)² ...". The space is (L²)², not H(div). Is there a discrepancy with what you say about the solution being in H(div) or am I just missing something?
CG-RT formulation is well known, and I don't have any questions about it. However, we know that in that formulation we cannot replace RT elements with (two) CG elements, BB conditions would fail in that case. So I do not see any a priori reason why such a replacement should work in the present case (though it seems to be a reasonable first choice for experiments).

I don't think that the formulation you gave, but certainly there are some hypothesis over f (like being in L2), so that you can test it against a function in L2. You can formulate that problem by integrating by parts the grad u = sigma part tested against a function in H(div) or by simply multiplying it with the function tau you show. I hadn't seen that before, but it is a priori assuming a bit more, as your functions (u,sigma) will be in H1 x L2, so approximation of u could be more expensive, and I am aboslutely ignorant about BB conditions in the one you mention. The one I would use would look for (u,sigma) in L2 x H(div), which is weaker in u and captures a bit more regularity in the stress. As a whole I'm not sure which one is more expensive, but I think the fenics docs use the latter.
For the second part, sorry, I wasn't clear, but I was just saying it would be tedious to expand RT_k = [P_{k+1}]^2 + P_k x as a vector element P_{k+1}^2 plus a scalar element P_k and trying to keep all elements in order.

...