Taking higher order derivatives

Hello everyone,
I was wondering if it is correct to take second order derivatives on Lagrange finite element spaces by performing grad(grad(u)). Similarly, for third order derivatives one would take grad(grad(grad(u)))

E.g:
Given V = FunctionSpace(submesh, “Lagrange”, 2)
u = TrialFunction(V)

to get the second derivative one would need to do:

grad(grad(u))

Thank you in advance.

Yes, for P2 Lagrange, grad(grad(u)) is OK as it will be cell-wise constant. However, you may need to specify the reason of considering such second-order derivatives. Is it intended to appear in a variational weak form ?
If this is the case, you may have a problem similar to the biharmonic equation or Love-Kirchhoff plate models. In this case, the function space must be in H2 which is not the case with Lagrange elements. FEniCS does not support H2-conforming elements but other specific techniques such as Discontinuous Galerkin formulations can be used, see here:
https://fenicsproject.org/olddocs/dolfin/latest/python/demos/biharmonic/demo_biharmonic.py.html
https://fenics-shells.readthedocs.io/en/latest/demo/kirchhoff-love-clamped/demo_kirchhoff-love-clamped.py.html

1 Like

Hello,

Thank you for your reply. Yes, it is intended to appear in the variational formulation. If it is computed correctly, why would it cause a problem?

Follow-up: How is it different from taking the grad(u) for P1 Lagrange elements (apart from the fact that P1 is in C0)?

Thank you.

The problem does not come from the computation of grad(grad(u)). The problem comes from the discrete function space V in which you look for your solution which must be in H2 i.e. the normal derivative must be continuous across facets. This is not the case with Lagrange elements (for any order!) which are only in H1, you will miss contributions of the normal derivative jumps in the weak form and your solution will make no sense. I strongly suggest reading the above demos and some background references on biharmonic equations.

The difference with weak forms involving only grad(u) (Poisson equation for instance), is that u must be in H1 i.e. continuous but no continuity on its derivatives. This is indeed the case for Lagrange elements of any order, so no problem in this case.

Thank you. Yes, I am aware that for the biharmonic equation I would either need to solve it through an interior penalty DG formulation or by means of a mixed method otherwise I would be unstable. However, my interest is in second order elliptic equations where I am considering higher order gradients.