Click here to read what the information on this page means.
| Degrees | \(k=4\) where \(k\) is the polynomial subdegree |
| Polynomial subdegree | \(k\) |
| Polynomial superdegree | \(k+1\) |
| Reference cells | triangle |
| Finite dimensional space | \(\mathcal{Z}^{(4)}_{k+1}\) ↓ Show set definitions ↓↑ Hide set definitions ↑\(\mathcal{Z}^{(4)}_k=\left\{p\in\mathcal{P}_{k}\middle|\text{normal derivative of $p$ on each edge is cubic}\right\}\)
\(\mathcal{P}_k=\operatorname{span}\left\{\prod_{i=1}^dx_i^{p_i}\middle|\sum_{i=1}^dp_i\leqslant k\right\}\) |
| DOFs | On each vertex: point evaluations, point evaluations of first derivatives, and point evaluations of second derivatives |
| Number of DOFs | triangle: \(18\) |
| Mapping | identity |
| continuity | Function values and first and second derivatives are continuous. |
| Categories | Scalar-valued elements |
This element is implemented in
FIAT ,
Symfem , and
(legacy) UFL.
↓ Show implementation detail ↓↑ Hide implementation detail ↑| FIAT | FIAT.Bell ↓ Show FIAT examples ↓↑ Hide FIAT examples ↑Before running this example, you must install FIAT: pip3 install git+https://github.com/firedrakeproject/fiat.git This element can then be created with the following lines of Python: import FIAT
# Create Bell degree 4 element = FIAT.Bell(FIAT.ufc_cell("triangle")) This implementation is correct for all the examples below.Note: This implementation includes additional DOFs that are used then filtered out when mapping the element, as described in Kirby (2018). |
| Symfem | "Bell" ↓ Show Symfem examples ↓↑ Hide Symfem examples ↑Before running this example, you must install Symfem: pip3 install symfem This element can then be created with the following lines of Python: import symfem
# Create Bell degree 4 on a triangle element = symfem.create_element("triangle", "Bell", 4) This implementation is used to compute the examples below and verify other implementations. |
| (legacy) UFL | "Bell" ↓ Show (legacy) UFL examples ↓↑ Hide (legacy) UFL examples ↑Before running this example, you must install (legacy) UFL: pip3 install setuptools pip3 install fenics-ufl-legacy This element can then be created with the following lines of Python: import ufl_legacy
# Create Bell degree 4 on a triangle element = ufl_legacy.FiniteElement("Bell", "triangle", 5) Note: This element uses the Lagrange superdegree as the canonical degree of this element |
- Bell, Kolbein. A refined triangular plate bending finite element, International Journal for Numerical Methods in Engineering 1(1), 101–122, 1969. [DOI: 10.1002/nme.1620010108] [BibTeX]
- Kirby, Robert C. A general approach to transforming finite elements, SMAI Journal of Computational Mathematics 4, 197–224, 2018. [DOI: 10.5802/smai-jcm.33] [BibTeX]
| Element added | 20 February 2021 |
| Element last updated | 04 June 2025 |