Click here to read what the information on this page means.
| Abbreviated names | BR | 
| Degrees | \(1\leqslant k\leqslant d-1\) where \(k\) is the polynomial subdegree
 | 
| Polynomial subdegree | \(k\) | 
| Polynomial superdegree | \(d\) | 
| Reference cells | triangle, tetrahedron | 
| Finite dimensional space | \(\mathcal{P}_{k}^d \oplus \mathcal{Z}^{(5)}_{k}\) (triangle) \(\mathcal{P}_{k}^d \oplus \mathcal{Z}^{(6)}_{k}\) (tetrahedron, \(k=1\))
 \(\mathcal{P}_{k}^d \oplus \mathcal{Z}^{(7)}_{k}\) (tetrahedron, \(k=2\))
 ↓ Show set definitions ↓↑ Hide set definitions ↑
 \(\mathcal{P}_k=\operatorname{span}\left\{\prod_{i=1}^dx_i^{p_i}\middle|\sum_{i=1}^dp_i\leqslant k\right\}\)
 \(\mathcal{Z}^{(5)}_k=\left\{\left(\begin{array}{c}xy\\xy\end{array}\right),\left(\begin{array}{c}y(1-x-y)\\0\end{array}\right),\left(\begin{array}{c}0\\x(1-x-y)\end{array}\right)\right\}\)
 
 \(\mathcal{Z}^{(6)}_k=\left\{\left(\begin{array}{c}xyz\\xyz\\xyz\end{array}\right),\left(\begin{array}{c}yz(1-x-y-z)\\0\\0\end{array}\right),\left(\begin{array}{c}0\\xz(1-x-y-z)\\0\end{array}\right),\left(\begin{array}{c}0\\0\\xy(1-x-y-z)\end{array}\right)\right\}\)
 
 \(\mathcal{Z}^{(7)}_k=\left\{\left(\begin{array}{c}xyz\\xyz\\xyz\end{array}\right),\left(\begin{array}{c}yz(1-x-y-z)\\0\\0\end{array}\right),\left(\begin{array}{c}0\\xz(1-x-y-z)\\0\end{array}\right),\left(\begin{array}{c}0\\0\\xy(1-x-y-z)\end{array}\right),\left(\begin{array}{c}xyz(1-x-y-z)\\0\\0\end{array}\right),\left(\begin{array}{c}0\\xyz(1-x-y-z)\\0\end{array}\right),\left(\begin{array}{c}0\\0\\xyz(1-x-y-z)\end{array}\right)\right\}\)
 | 
| DOFs | On each vertex: point evaluations in coordinate directions On each edge: (if \(k>1\)) point evaluations in coordinate directions at midpoints
 On each facet: normal integral moments with a degree \(0\) Lagrange space
 | 
| Number of DOFs | triangle: \(9\) tetrahedron: \(\begin{cases}16&k=1\\37&k=2\end{cases}\)
 | 
| Mapping | contravariant Piola | 
| continuity | Function values are continuous. | 
| Categories | Vector-valued elements | 
This element is implemented in 
FIAT  and 
Symfem .
↓ Show implementation detail ↓↑ Hide implementation detail ↑| FIAT | FIAT.BernardiRaugel↓ Show FIAT examples ↓↑ Hide FIAT examples ↑
 This implementation is correct for some of the examples below.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 Bernardi-Raugel degree 1
 element = FIAT.BernardiRaugel(FIAT.ufc_cell("triangle"), 1)
 
 # Create Bernardi-Raugel degree 1
 element = FIAT.BernardiRaugel(FIAT.ufc_cell("tetrahedron"), 1)
 
 # Create Bernardi-Raugel degree 2
 element = FIAT.BernardiRaugel(FIAT.ufc_cell("tetrahedron"), 2)
 Correct: triangle,1; tetrahedron,1  Incorrect: tetrahedron,2 | 
| Symfem | "Bernardi-Raugel"↓ Show Symfem examples ↓↑ Hide Symfem examples ↑
 This implementation is used to compute the examples below and verify other implementations.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 Bernardi-Raugel degree 1 on a triangle
 element = symfem.create_element("triangle", "Bernardi-Raugel", 1)
 
 # Create Bernardi-Raugel degree 1 on a tetrahedron
 element = symfem.create_element("tetrahedron", "Bernardi-Raugel", 1)
 
 # Create Bernardi-Raugel degree 2 on a tetrahedron
 element = symfem.create_element("tetrahedron", "Bernardi-Raugel", 2)
 | 
 
| Element added | 19 April 2021 | 
| Element last updated | 04 June 2025 |