--- a/src/experiments.rs Thu Feb 26 09:32:12 2026 -0500 +++ b/src/experiments.rs Wed Apr 22 22:32:00 2026 -0500 @@ -217,12 +217,13 @@ PythonPlotFactory<'py, DerivativeCodomain<'py>, DerivativeCodomain<'py>>; } +/// Available regularisation terms, exported to the Python side #[pyclass(module = "pointsource_pde", name = "RegTerm")] #[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq)] pub enum RegTermPy { - // Radon norm with weight `α`. + /// Radon norm with weight `α`. Radon(f64), - // Radon norm ith weight `α` and a positivity constraint. + /// Radon norm ith weight `α` and a positivity constraint. NonnegRadon(f64), } @@ -235,32 +236,32 @@ } } +/// Problem description, exported to the Python side to be filled there. #[pyclass(module = "pointsource_pde")] #[derive(Debug)] pub struct Problem { /// Data term. On the python side, this should be a `class` that implements - /// `apply` from [`DiscreteMeasure_2_f64`] (TODO: extended parameters) to floats, and `diff` - /// from the space space to [`DolfinxPyFunction_f64<2, 1, 2>`]. + /// `apply` and `diff`. #[pyo3(set)] - dataterm: Py<PyAny>, //exp_f64_2::DataTerm, + dataterm: Py<PyAny>, - // Regularisation + /// Regularisation #[pyo3(set, get)] regterm: RegTermPy, - // Auxiliary variable regularisation term or similar + /// Auxiliary variable regularisation term or similar #[pyo3(set, get)] auxterm: Option<Py<PyAny>>, - // Initial auxiliary variable + /// Initial auxiliary variable #[pyo3(set, get)] auxinit: Option<Py<PyAny>>, - // Initial measure + /// Initial measure #[pyo3(set, get)] μinit: Option<DiscreteMeasure<Loc<2, f64>, f64>>, - // Plotter + /// Plotter #[pyo3(set, get)] plot_factory: Option<Py<PyAny>>, }