an encyclopedia of finite element definitions

Complex families

You can find some information about how these familes are defined here

De Rham complex in 3D

Name(s)\(H^1\)\(\xrightarrow{\nabla}\)\(\textbf{H}(\text{curl})\)\(\xrightarrow{\nabla\times}\)\(\textbf{H}(\text{div})\)\(\xrightarrow{\nabla\cdot}\)\(L^2\)
\(S_{1,k}^\unicode{0x25FA}\), \(\mathcal{P}_{k}\Lambda^{r}(\Delta_3)\)Lagrange Nédélec (second kind) Brezzi–Douglas–Marini discontinuous Lagrange
\(S_{2,k}^\unicode{0x25FA}\), \(\mathcal{P}^-_{k}\Lambda^{r}(\Delta_3)\)Lagrange Nédélec (first kind) Raviart–Thomas discontinuous Lagrange
\(S_{4,k}^\square\), \(\mathcal{Q}^-_{k}\Lambda^{r}(\square_3)\)Lagrange Nédélec (first kind) Raviart–Thomas discontinuous Lagrange
\(S_{1,k}^\square\), \(\mathcal{S}_{k}\Lambda^{r}(\square_3)\)serendipity serendipity H(curl) serendipity H(div) dPc
\(S_{2,k}^\square\), \(\mathcal{S}^-_{k}\Lambda^{r}(\square_3)\)serendipity trimmed serendipity H(curl) trimmed serendipity H(div) dPc
\(S_{3,k}^\square\)Tiniest tensor Tiniest tensor H(curl) Tiniest tensor H(div) discontinuous Lagrange

De Rham complex in 2D

In 2D, \(\textbf{H}(\text{div})\) and \(\textbf{H}(\text{curl})\) are isomorphic via a 90 degree rotation \(R\). This means that we can define the de Rham complex in two ways.

One variant uses \(\textbf{H}(\text{div})\) and the vector-valued \(\textbf{curl}\) operator, \(\textbf{curl} \, u = (\partial_y u, -\partial_x u)\). Note that \(\textbf{curl} \, u = R \, \nabla u\).

Name(s)\(H^1\)\(\xrightarrow{\textbf{curl}}\)\(\textbf{H}(\text{div})\)\(\xrightarrow{\nabla\cdot}\)\(L_2\)
\(S_{1,k}^\unicode{0x25FA}\), \(\mathcal{P}_{k}\Lambda^{r}(\Delta_2)\)Lagrange Brezzi–Douglas–Marini discontinuous Lagrange
\(S_{2,k}^\unicode{0x25FA}\), \(\mathcal{P}^-_{k}\Lambda^{r}(\Delta_2)\)Lagrange Raviart–Thomas discontinuous Lagrange
\(S_{4,k}^\square\), \(\mathcal{Q}^-_{k}\Lambda^{r}(\square_2)\)Lagrange Raviart–Thomas discontinuous Lagrange
\(S_{1,k}^\square\), \(\mathcal{S}_{k}\Lambda^{r}(\square_2)\)serendipity serendipity H(div) dPc
\(S_{2,k}^\square\), \(\mathcal{S}^-_{k}\Lambda^{r}(\square_2)\)serendipity trimmed serendipity H(div) dPc
\(S_{3,k}^\square\)Tiniest tensor Tiniest tensor H(div) discontinuous Lagrange
\(\mathrm{C}\mathrm{P}^{3-r}\mathrm{\Lambda}^r(\mathcal{R})\)Hsieh–Clough–Tocher Alfeld–Sorokina P1 macro

The second variant uses \(\textbf{H}(\text{curl})\) and the scalar-valued \(\text{curl}\) operator, \(\text{curl} \, \mathbf{u} = \partial_x u_y - \partial_y u_x\). Note that \(\text{curl} \, \mathbf{u} = \nabla\cdot R \mathbf{u}\).

Name(s)\(H^1\)\(\xrightarrow{\nabla}\)\(\textbf{H}(\text{curl})\)\(\xrightarrow{\text{curl}}\)\(L_2\)
\(S_{1,k}^\unicode{0x25FA}\), \(\mathcal{P}_{k}\Lambda^{r}(\Delta_2)\)Lagrange Nédélec (second kind) discontinuous Lagrange
\(S_{2,k}^\unicode{0x25FA}\), \(\mathcal{P}^-_{k}\Lambda^{r}(\Delta_2)\)Lagrange Nédélec (first kind) discontinuous Lagrange
\(S_{4,k}^\square\), \(\mathcal{Q}^-_{k}\Lambda^{r}(\square_2)\)Lagrange Nédélec (first kind) discontinuous Lagrange
\(S_{1,k}^\square\), \(\mathcal{S}_{k}\Lambda^{r}(\square_2)\)serendipity serendipity H(curl) dPc
\(S_{2,k}^\square\), \(\mathcal{S}^-_{k}\Lambda^{r}(\square_2)\)serendipity trimmed serendipity H(curl) dPc
\(S_{3,k}^\square\)Tiniest tensor Tiniest tensor H(curl) discontinuous Lagrange

These two de Rham complex definitions in 2D account for the double element diagrams in the orange boxes in the Periodic table of the finite elements. That is also why the boxes are orange, and not red nor yellow as in 3D.