Skip to content

Simulation: Fix wrong scaling of nominals for inputs

Tjerk Vreeken requested to merge fix-simulation-nominals-inputs into master

When setting up the rootfinder, we did not replace control/constant inputs with their scaled equivalents in the DAE. We did however assume they were scaled these when using set_var() to set the control inputs. This led to horribly wrongly and inconsistently formulated problems.

Note that the initialize() method has its own optimization problem, and there the constant and control inputs were replaced with their scaled equivalents in the respective DAE.

To solve this issue for the rootfinder without breaking initialize(), we now disallow/ignore nominals for constant inputs and control inputs. Note that these variables are not part of the state vector, but are instead parameters. Using unscaled variants in the DAE is therefore unlikely to lead to issues.

Edited by Tjerk Vreeken

Merge request reports