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_objects(ufl_objects, parameters)

Analyze ufl object(s).

Classes

UFLData(form_data, unique_elements, ...)

Create new instance of UFLData(form_data, unique_elements, element_numbers, unique_coordinate_elements, expressions)

class ffcx.analysis.UFLData(form_data, unique_elements, element_numbers, unique_coordinate_elements, expressions)[source]

Bases: tuple

Create new instance of UFLData(form_data, unique_elements, element_numbers, unique_coordinate_elements, expressions)

element_numbers: Dict[FiniteElementBase, int]

Alias for field number 2

expressions: List[Tuple[Expr, ndarray[Any, dtype[float64]], Expr]]

Alias for field number 4

form_data: Tuple[FormData, ...]

Alias for field number 0

unique_coordinate_elements: List[FiniteElementBase]

Alias for field number 3

unique_elements: List[FiniteElementBase]

Alias for field number 1

ffcx.analysis.analyze_ufl_objects(ufl_objects: List, parameters: Dict) UFLData[source]

Analyze ufl object(s).

Parameters
  • ufl_objects

  • parameters – FFCx parameters. These parameters take priority over all other set parameters.

  • holding (Returns a data structure) –

  • -------

  • form_datas – Form_data objects

  • unique_elements – Unique elements across all forms and expressions

  • element_numbers – Mapping to unique numbers for all elements

  • unique_coordinate_elements – Unique coordinate elements across all forms and expressions

  • expressions – List of all expressions after post-processing, with its evaluation points and the original expression