symfem.elements.guzman_neilan¶
Guzman-Neilan elements on simplices.
This element’s definition appears in https://doi.org/10.1137/17M1153467 (Guzman and Neilan, 2018)
Classes¶
Guzman-Neilan finite element. |
|
Guzman-Neilan second kind finite element. |
Functions¶
Make the basis functions of a piecewise Lagrange space. |
Module Contents¶
- class symfem.elements.guzman_neilan.GuzmanNeilanFirstKind(reference: symfem.references.Reference, order: int)¶
Bases:
symfem.finite_element.CiarletElementGuzman-Neilan finite element.
- 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 = ['Guzman-Neilan first kind', 'Guzman-Neilan']¶
- references = ['triangle', 'tetrahedron']¶
- min_order = 1¶
- max_order¶
- continuity = 'L2'¶
- value_type = 'vector macro'¶
- last_updated = '2025.12'¶
- class symfem.elements.guzman_neilan.GuzmanNeilanSecondKind(reference: symfem.references.Reference, order: int)¶
Bases:
symfem.finite_element.CiarletElementGuzman-Neilan second kind finite element.
- 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 = ['Guzman-Neilan second kind']¶
- references = ['triangle', 'tetrahedron']¶
- min_order = 1¶
- max_order¶
- continuity = 'L2'¶
- value_type = 'vector macro'¶
- last_updated = '2025.12'¶
- symfem.elements.guzman_neilan.make_piecewise_lagrange(sub_cells: list[symfem.geometry.SetOfPoints], cell_name, order: int, zero_on_boundary: bool = False, zero_at_centre: bool = False) list[symfem.piecewise_functions.PiecewiseFunction]¶
Make the basis functions of a piecewise Lagrange space.
- Parameters:
sub_cells – A list of vertices of sub cells
cell_name – The cell type of the sub cells
order – The polynomial order
zero_in_boundary – Should the functions be zero on the boundary?
zero_at_centre – Should the functions be zero at the centre?
- Returns:
The basis functions