Click here to read what the information on this page means.
Alternative names | P2-iso-P1, iso-P2 P1 |
Degrees | \(k=1\) |
Reference elements | interval, triangle, quadrilateral |
DOFs | On each vertex: point evaluations
On each edge: point evaluations
On each face: point evaluations |
Number of DOFs | interval: \(3\) triangle: \(6\) quadrilateral: \(9\) |
Number of DOFs on subentities | vertices: \(1\) edges: \(1\) faces: \(0\) (triangle), \(1\) (quadrilateral) |
Mapping | identity |
continuity | Function values are continuous. |
Categories | Scalar-valued elements, Macro elements |
This element is implemented in
Basix ,
Basix.UFL ,
FIAT , and
Symfem .
↓ Show implementation detail ↓↑ Hide implementation detail ↑Basix | basix.ElementFamily.iso ↓ Show Basix examples ↓↑ Hide Basix examples ↑Before running this example, you must install Basix: pip3 install fenics-basix This element can then be created with the following lines of Python: import basix
# Create P1-iso-P2 degree 1 on a interval element = basix.create_element(basix.ElementFamily.iso, basix.CellType.interval, 1)
# Create P1-iso-P2 degree 1 on a triangle element = basix.create_element(basix.ElementFamily.iso, basix.CellType.triangle, 1)
# Create P1-iso-P2 degree 1 on a quadrilateral element = basix.create_element(basix.ElementFamily.iso, basix.CellType.quadrilateral, 1) This implementation is correct for all the examples below. |
Basix.UFL | basix.ElementFamily.iso ↓ Show Basix.UFL examples ↓↑ Hide Basix.UFL examples ↑Before running this example, you must install Basix.UFL: pip3 install fenics-basix fenics-ufl This element can then be created with the following lines of Python: import basix import basix.ufl
# Create P1-iso-P2 degree 1 on a interval element = basix.ufl.element(basix.ElementFamily.iso, basix.CellType.interval, 1)
# Create P1-iso-P2 degree 1 on a triangle element = basix.ufl.element(basix.ElementFamily.iso, basix.CellType.triangle, 1)
# Create P1-iso-P2 degree 1 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.iso, basix.CellType.quadrilateral, 1) This implementation is correct for all the examples below. |
FIAT | FIAT.Lagrange(..., variant="iso") ↓ 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 P1-iso-P2 degree 1 element = FIAT.Lagrange(FIAT.ufc_cell("interval"), 1, variant="iso")
# Create P1-iso-P2 degree 1 element = FIAT.Lagrange(FIAT.ufc_cell("triangle"), 1, variant="iso") This implementation is correct for all the examples below that it supports. Correct: interval,1; triangle,1 Not implemented: quadrilateral,1 |
Symfem | "P1-iso-P2" ↓ 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 P1-iso-P2 degree 1 on a interval element = symfem.create_element("interval", "P1-iso-P2", 1)
# Create P1-iso-P2 degree 1 on a triangle element = symfem.create_element("triangle", "P1-iso-P2", 1)
# Create P1-iso-P2 degree 1 on a quadrilateral element = symfem.create_element("quadrilateral", "P1-iso-P2", 1) This implementation is used to compute the examples below and verify other implementations. |
- Bercovier, Michel and Pironneau, Olivier. Error estimates for finite element method solution of the Stokes problem in the primitive variables, Numerische Mathematik 33, 211–224, 1979. [DOI: 10.1007/BF01399555] [BibTeX]
Element added | 06 July 2022 |
Element last updated | 27 September 2024 |