symfem.elements.trimmed_serendipity

Trimmed serendipity elements on tensor products.

These elements’ definitions appear in https://doi.org/10.1137/16M1073352 (Cockburn, Fu, 2017) and https://doi.org/10.1090/mcom/3354 (Gilette, Kloefkorn, 2018)

Classes

TrimmedSerendipityHcurl

Trimmed serendipity Hcurl finite element.

TrimmedSerendipityHdiv

Trimmed serendipity Hdiv finite element.

Module Contents

class symfem.elements.trimmed_serendipity.TrimmedSerendipityHcurl(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

Trimmed serendipity Hcurl finite element.

variant = 'equispaced'
init_kwargs() dict[str, Any]

Return the kwargs used to create this element.

Returns:

Keyword argument dictionary

property lagrange_subdegree: int

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

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

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

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 = ['trimmed serendipity Hcurl', 'TScurl']
references = ['quadrilateral', 'hexahedron']
min_order = 0
continuity = 'H(curl)'
value_type = 'vector'
last_updated = '2025.10'
class symfem.elements.trimmed_serendipity.TrimmedSerendipityHdiv(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

Trimmed serendipity Hdiv finite element.

variant = 'equispaced'
init_kwargs() dict[str, Any]

Return the kwargs used to create this element.

Returns:

Keyword argument dictionary

property lagrange_subdegree: int

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

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

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

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 = ['trimmed serendipity Hdiv', 'TSdiv']
references = ['quadrilateral', 'hexahedron']
min_order = 0
continuity = 'H(div)'
value_type = 'vector'
last_updated = '2025.10'