Simulation with observer based state feedback of the reaction-convection-diffusion equation¶
Implementation of the approximation scheme presented in [RW2018b]. The system

and the observer

are approximated with LagrangeFirstOrder (FEM) shapefunctions
and the backstepping controller and observer are approximated with
the eigenfunctions respectively the adjoint eigenfunction of the system
operator, see [RW2018b].
Note
For now, only a0 = 0 and a0_t_o = 0 are supported, because
of some limitations of the automatic observer gain transformation,
see evaluate_transformations() docstring.
References
- class ReversedRobinEigenfunction(om, param, l, scale=1, max_der_order=2)¶
Bases:
pyinduct.SecondOrderRobinEigenfunctionThis class provides an eigenfunction
to the eigenvalue
problem given by
The eigenfrequency
must be provided (for example with the eigfreq_eigval_hint()of this class).- Parameters:
om (numbers.Number) – eigenfrequency

param (array_like) –

l (numbers.Number) – End of the domain
.scale (numbers.Number) – Factor to scale the eigenfunctions (corresponds to
).max_der_order (int) – Number of derivative handles that are needed.
- static eigfreq_eigval_hint(param, l, n_roots, show_plot=False)¶
Return the first n_roots eigenfrequencies
and
eigenvalues
.
to the considered eigenvalue problem.
- Parameters:
param (array_like) – Parameters

l (numbers.Number) – Right boundary value of the domain
.n_roots (int) – Amount of eigenfrequencies to compute.
show_plot (bool) – Show a plot window of the characteristic equation.
- Returns:
![\Big(\big[\omega_1, \dotsc, \omega_{\text{n\_roots}}\Big],
\Big[\lambda_1, \dotsc, \lambda_{\text{n\_roots}}\big]\Big)](../_images/math/25aa66a7397d6151f3157a245c1e7995d59d6981.png)
- Return type:
tuple –> booth tuple elements are numpy.ndarrays of length nroots
- function_handle_factory(old_handle, l, der_order=0)¶
- approximate_observer(obs_params, sys_params, sys_domain, sys_lbl, obs_sys_lbl, test_lbl, tar_test_lbl, system_input)¶
- run(show_plots)¶