ffcx.analysis#
Compiler stage 1: Analysis.
This module implements the analysis/preprocessing of variational forms, including automatic selection of elements, degrees and form representation type.
Functions
|
Analyze ufl object(s). |
Classes
|
UFL data. |
- class ffcx.analysis.UFLData(form_data: tuple[FormData, ...], unique_elements: list[basix.ufl._ElementBase], element_numbers: dict[basix.ufl._ElementBase, int], unique_coordinate_elements: list[basix.ufl._ElementBase], expressions: list[tuple[ufl.core.expr.Expr, npt.NDArray[np.floating], ufl.core.expr.Expr]])[source]#
Bases:
NamedTupleUFL data.
Create new instance of UFLData(form_data, unique_elements, element_numbers, unique_coordinate_elements, expressions)
- element_numbers: dict[basix.ufl._ElementBase, int]#
Mapping to unique numbers for all elements
- expressions: list[tuple[ufl.core.expr.Expr, npt.NDArray[np.floating], ufl.core.expr.Expr]]#
List of all expressions after post-processing, with evaluation points and original expression
- form_data: tuple[FormData, ...]#
FormData objects
- unique_coordinate_elements: list[basix.ufl._ElementBase]#
Unique coordinate elements across all forms and expressions
- unique_elements: list[basix.ufl._ElementBase]#
Unique elements across all forms and expressions
- ffcx.analysis.analyze_ufl_objects(ufl_objects: list[Form | _ElementBase | Mesh | tuple[Expr, ndarray[tuple[Any, ...], dtype[floating]]]], scalar_type: DTypeLike) UFLData[source]#
Analyze ufl object(s).
- Parameters:
ufl_objects – UFL objects
scalar_type – Scalar type that should be used for the analysis
- Returns:
A named tuple
UFLData.