symfem.elements.aw

Arnold-Winther elements on simplices.

Thse elements definitions appear in https://doi.org/10.1007/s002110100348 (Arnold, Winther, 2002) [conforming] and https://doi.org/10.1142/S0218202503002507 (Arnold, Winther, 2003) [nonconforming]

Classes

ArnoldWinther

An Arnold-Winther element.

NonConformingArnoldWinther

A nonconforming Arnold-Winther element.

Module Contents

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

Bases: symfem.finite_element.CiarletElement

An Arnold-Winther 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 = ['Arnold-Winther', 'AW', 'conforming Arnold-Winther']
references = ['triangle']
min_order = 2
continuity = 'integral inner H(div)'
value_type = 'symmetric matrix'
last_updated = '2025.12'
class symfem.elements.aw.NonConformingArnoldWinther(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

A nonconforming Arnold-Winther 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 = ['nonconforming Arnold-Winther', 'nonconforming AW']
references = ['triangle']
min_order = 1
max_order = 1
continuity = 'integral inner H(div)'
value_type = 'symmetric matrix'
last_updated = '2025.12'