symfem.elements.bdfm

Brezzi-Douglas-Fortin-Marini elements.

This element’s definition appears in https://doi.org/10.1051/m2an/1987210405811 (Brezzi, Douglas, Fortin, Marini, 1987) and https://doi.org/10.1007/978-1-4612-3172-1 (Brezzi, Fortin, 1991)

Classes

BDFM

Brezzi-Douglas-Fortin-Marini Hdiv finite element.

Functions

bdfm_polyset(→ list[symfem.functions.FunctionInput])

Create the polynomial basis for a BDFM element.

Module Contents

symfem.elements.bdfm.bdfm_polyset(reference: symfem.references.Reference, order: int) list[symfem.functions.FunctionInput]

Create the polynomial basis for a BDFM element.

Parameters:
  • reference – The reference cell

  • order – The polynomial order

Returns:

The polynomial basis

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

Bases: symfem.finite_element.CiarletElement

Brezzi-Douglas-Fortin-Marini 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 = ['Brezzi-Douglas-Fortin-Marini', 'BDFM']
references = ['triangle', 'quadrilateral', 'hexahedron', 'tetrahedron']
min_order = 0
continuity = 'H(div)'
value_type = 'vector'
last_updated = '2025.12'