Minimizing Runge's phenomenon using GLL elements

I am solving an unsteady state diffusion problem in 3D using tetrahedral mesh and wanted to minimize Runge’s phenomenon. Various posts (1 and 2 ) pointed to Variants of Lagrange elements — DOLFINx 0.9.0 documentation. However, I switched my basis functions from “CG” go “GLL” and do not see a significant reduction in the oscillations.

Is there something else that I need to do in addition to switching from CG to GLL?

It is not CG → GLL that is the switch that is needed. As seen in the demo on Lagrange variants, you change the Lagrange variant of the element when constructing it with basix.

Also note that it only happens for higher order elements (tetrahedra order usually has to be above 5) for it to be visible.

For further posts, please post some code that relates to what you do, as it’s quite hard to verify what you have changed.