Click here to read what the information on this page means.
| Alternative names | discontinuous Taylor |
| Degrees | \(0\leqslant k\) where \(k\) is the polynomial subdegree |
| Polynomial subdegree | \(k\) |
| Polynomial superdegree | \(k\) |
| Reference cells | interval, triangle, tetrahedron |
| Finite dimensional space | \(\mathcal{P}_{k}\) ↓ 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\}\) |
| DOFs | On the interior of the reference cell: integral over cell, and point evaluations at midpoint of derivatives up to order \(k\) |
| Number of DOFs | interval: \(k+1\) (A000027) triangle: \((k+1)(k+2)/2\) (A000217) tetrahedron: \((k+1)(k+2)(k+3)/6\) (A000292) |
| Mapping | see [1] |
| continuity | Function values are continuous. |
| Categories | Scalar-valued elements |
This element is implemented in
FIAT and
Symfem .
↓ Show implementation detail ↓↑ Hide implementation detail ↑| FIAT | FIAT.DiscontinuousTaylor ↓ 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 Taylor degree 1 element = FIAT.DiscontinuousTaylor(FIAT.ufc_cell("interval"), 1)
# Create Taylor degree 2 element = FIAT.DiscontinuousTaylor(FIAT.ufc_cell("interval"), 2)
# Create Taylor degree 3 element = FIAT.DiscontinuousTaylor(FIAT.ufc_cell("interval"), 3)
# Create Taylor degree 1 element = FIAT.DiscontinuousTaylor(FIAT.ufc_cell("triangle"), 1)
# Create Taylor degree 2 element = FIAT.DiscontinuousTaylor(FIAT.ufc_cell("triangle"), 2)
# Create Taylor degree 3 element = FIAT.DiscontinuousTaylor(FIAT.ufc_cell("triangle"), 3) This implementation is correct for all the examples below. |
| Symfem | "Taylor" ↓ 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 Taylor degree 1 on a interval element = symfem.create_element("interval", "Taylor", 1)
# Create Taylor degree 2 on a interval element = symfem.create_element("interval", "Taylor", 2)
# Create Taylor degree 3 on a interval element = symfem.create_element("interval", "Taylor", 3)
# Create Taylor degree 1 on a triangle element = symfem.create_element("triangle", "Taylor", 1)
# Create Taylor degree 2 on a triangle element = symfem.create_element("triangle", "Taylor", 2)
# Create Taylor degree 3 on a triangle element = symfem.create_element("triangle", "Taylor", 3) This implementation is used to compute the examples below and verify other implementations. |
- [1] Kirby, Robert C. A general approach to transforming finite elements, The SMAI journal of computational mathematics 4, 197–224, 2018. [DOI: 10.5802/smai-jcm.33] [BibTeX]
| Element added | 01 March 2021 |
| Element last updated | 20 November 2025 |