pipeline – Solver Pipeline

Solver pipeline — orchestrates validation, solving, and statistics.

class pipeline.SolverResult(x, y, statistics, metadata, equation_type='ode', y_grid=None, is_vector=False, vector_components=1, vector_order=1, notation=None)[source]

Bases: object

Data-only bundle produced by a solver run (no pre-generated plots).

Variables:
  • x – Independent variable values (1D) or x grid for 2D PDE.

  • y – Solution array — shape (n_vars, n_points) or (ny, nx) for 2D.

  • statistics – Computed statistics dict.

  • metadata – Equation info, solver parameters, domain, etc.

  • equation_type"ode", "difference", "pde", or "vector_ode".

  • y_grid – For 2D PDE, the y-axis grid. None otherwise.

  • is_vector – Whether the equation is a vector ODE.

  • vector_components – Number of components for vector ODE.

  • vector_order – Display order (derivatives per component).

  • notation – F-notation context for labels.

Parameters:
x: ndarray
y: ndarray
statistics: dict[str, Any]
metadata: dict[str, Any]
equation_type: str = 'ode'
y_grid: ndarray | None = None
is_vector: bool = False
vector_components: int = 1
vector_order: int = 1
notation: FNotation | None = None
pipeline.run_solver_pipeline(*, expression=None, function_name=None, order, parameters, equation_name, x_min, x_max, y0, n_points, method, selected_stats, x0_list=None, equation_type='ode', variables=None, y_min=None, y_max=None, n_points_y=None, vector_expressions=None, vector_components=1, pde_operator='neg_laplacian', component_orders=None, bc_expressions=None, bc_types=None, mask_expression=None, contour_bc_expression=None, contour_bc_type=None)[source]

Execute the full solve workflow and return data results.

Stages: validate → resolve function → solve → statistics. Plot generation is deferred to the ResultDialog for interactive control.

Parameters:
  • expression (str | None) – ODE expression string (optional).

  • function_name (str | None) – Name of function in config.equations (optional).

  • order (int) – ODE order.

  • parameters (dict[str, float]) – Named parameter values.

  • equation_name (str) – Display name for plots/metadata.

  • x_min (float) – Domain start.

  • x_max (float) – Domain end.

  • y0 (list[float]) – Initial condition values [f(x₀), f'(x₁), …].

  • n_points (int) – Number of evaluation points.

  • method (str) – Solver method name.

  • selected_stats (set[str]) – Set of statistic keys to compute.

  • x0_list (list[float] | None) – Per-derivative condition points [x₀, x₁, …]. If None or all equal to x_min, uses standard IVP.

  • equation_type (Literal['ode', 'difference', 'pde', 'vector_ode']) – "ode", "difference", "pde", or "vector_ode".

  • variables (list[str] | None) – Independent variable names (e.g. ["x"] or ["x", "y"]).

  • y_min (float | None) – For 2D PDE, domain y start.

  • y_max (float | None) – For 2D PDE, domain y end.

  • n_points_y (int | None) – For 2D PDE, number of y grid points.

  • vector_expressions (list[str] | None) – For vector ODE, list of expressions per component.

  • vector_components (int) – Number of components for vector ODE.

  • pde_operator (str) – PDE operator type (e.g. "neg_laplacian").

  • component_orders (tuple[int, ...] | None) – For vector ODE, order per component (optional).

  • bc_expressions (list[str] | None)

  • bc_types (list[str] | None)

  • mask_expression (str | None)

  • contour_bc_expression (str | None)

  • contour_bc_type (str | None)

Return type:

SolverResult

Returns:

A SolverResult with solution data, statistics, and metadata.

Raises: