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.SecondOrderRobinEigenfunction
This 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:
- 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)¶