Extrapolate outputs of spatialDistribution on input side #7503
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We don't assume that the inputs on the "unused" side are already set,
so we extrapolate them from our known spatialDistribution.
Related Issues
track ticket 5281
Purpose
Fix stuff like this:
Approach
If the velocity is positive we want to have
in0 = out0
.So we did just that and it produces this glitchy output.
Problem is, that for the equation
(out0,out1) = spatialDistribution(in0,in1,...)
out0
should not be dependent of the inputs (because some time will pass before the inputs are thrown out of the spatial distribution). So we treat the equation like that and the generated code now can have the problem, that the equation which will setin0
, is evaluated after the spatialDistribution equation. So we were using an outdatedin0
forout0:=in0
.We did something similar to the example from the Modelica specification, but didn't use the first element of the list saving the spatialDistribution but extrapolate from that. Works relative good, but is of course not perfect.