symfem.elements.p1_iso_p2

P1-iso-P2 elements.

This element’s definition appears in https://doi.org/10.1007/BF01399555 (Bercovier, Pironneau, 1979)

Classes

P1IsoP2Interval

P1-iso-P2 finite element on an interval.

P1IsoP2Tri

P1-iso-P2 finite element on a triangle.

P1IsoP2Quad

P1-iso-P2 finite element on a quadrilateral.

Module Contents

class symfem.elements.p1_iso_p2.P1IsoP2Interval(reference: symfem.references.Reference, order: int)

Bases: symfem.finite_element.CiarletElement

P1-iso-P2 finite element on an interval.

property lagrange_subdegree: int
Abstractmethod:

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None
Abstractmethod:

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int
Abstractmethod:

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None
Abstractmethod:

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['P1-iso-P2', 'P2-iso-P1', 'iso-P2 P1']
references = ['interval']
min_order = 1
max_order = 1
continuity = 'C0'
value_type = 'scalar macro'
last_updated = '2023.08'
class symfem.elements.p1_iso_p2.P1IsoP2Tri(reference: symfem.references.Reference, order: int)

Bases: symfem.finite_element.CiarletElement

P1-iso-P2 finite element on a triangle.

property lagrange_subdegree: int
Abstractmethod:

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None
Abstractmethod:

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int
Abstractmethod:

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None
Abstractmethod:

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['P1-iso-P2', 'P2-iso-P1', 'iso-P2 P1']
references = ['triangle']
min_order = 1
max_order = 1
continuity = 'C0'
value_type = 'scalar macro'
last_updated = '2025.12'
class symfem.elements.p1_iso_p2.P1IsoP2Quad(reference: symfem.references.Reference, order: int)

Bases: symfem.finite_element.CiarletElement

P1-iso-P2 finite element on a quadrilateral.

property lagrange_subdegree: int
Abstractmethod:

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None
Abstractmethod:

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int
Abstractmethod:

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None
Abstractmethod:

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['P1-iso-P2', 'P2-iso-P1', 'iso-P2 P1']
references = ['quadrilateral']
min_order = 1
max_order = 1
continuity = 'C0'
value_type = 'scalar macro'
last_updated = '2025.12'