symfem.elements.q¶
Q elements on tensor product cells.
Classes¶
A Q element. |
|
A vector Q element. |
|
Nedelec Hcurl finite element. |
|
Raviart-Thomas Hdiv finite element. |
Module Contents¶
- class symfem.elements.q.Q(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')¶
Bases:
symfem.finite_element.CiarletElementA Q element.
- variant = 'equispaced'¶
- get_tensor_factorisation() list[tuple[str, list[symfem.finite_element.FiniteElement], list[int]]]¶
Get the representation of the element as a tensor product.
- Returns:
The tensor factorisation
- 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 = ['Q', 'Lagrange', 'P']¶
- references = ['quadrilateral', 'hexahedron']¶
- min_order = 0¶
- continuity = 'C0'¶
- value_type = 'scalar'¶
- last_updated = '2023.07.1'¶
- class symfem.elements.q.VectorQ(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')¶
Bases:
symfem.finite_element.CiarletElementA vector Q 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 = ['vector Q', 'vQ']¶
- references = ['quadrilateral', 'hexahedron']¶
- min_order = 0¶
- continuity = 'C0'¶
- value_type = 'vector'¶
- last_updated = '2023.06'¶
- class symfem.elements.q.Nedelec(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')¶
Bases:
symfem.finite_element.CiarletElementNedelec 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 = ['NCE', 'RTCE', 'Qcurl', 'Nedelec', 'Ncurl']¶
- references = ['quadrilateral', 'hexahedron']¶
- min_order = 0¶
- continuity = 'H(curl)'¶
- value_type = 'vector'¶
- last_updated = '2025.03'¶
- class symfem.elements.q.RaviartThomas(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')¶
Bases:
symfem.finite_element.CiarletElementRaviart-Thomas 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 = ['NCF', 'RTCF', 'Qdiv']¶
- references = ['quadrilateral', 'hexahedron']¶
- min_order = 0¶
- continuity = 'H(div)'¶
- value_type = 'vector'¶
- last_updated = '2025.03'¶