Tick off roadmap item "Get rid of 'false' as default for 'fixed'" #2996
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.
According to yesterday's web meeting, I'm setting up this PR for documenting why we're ticking off this item on the road map.
As I remember it, the purpose of the roadmap item was to see if anything could be done to remove the need to have to add
fixed = true
each time one simply wants to unconditionally set the start value of a variable. Instead of discussion to which degree this really is a problem in full Modelica, let's take a look at what it is like in the current design for Flat Modelica:fixed
attribute does not have a corresponding actual built-in attribute in Flat Modelica.fixed = true
as a syntactic sugar, but there is no need to use this if you stick with the core language.fixed = true
, Flat Modelica uses explicit initial equations to tie the start value of a variable to the corresponding guess value parameter.Actually, while it can be argued that we have technically gotten rid of the default for
fixed
by not keepingfixed
as a built-in attribute at all, it should be noted that the underlying purpose of the roadmap item has not been addressed by the current Flat Modelica design.What I find more important, on the other hand, is that a main design goal for the design of Flat Modelica initialization is to have explicit equations rather than an intricate play with various attributes and flags. Addressing the underlying purpose of the roadmap item would likely be a change away from this design goal (we want the connection between a variable and its guess value parameter to be explicit in the form of an equation, even if it can be tedious to write down the equation by hand), and in view of this it would also seem right to tick it off as a way of saying that we've considered it, but deliberately chose to ignore it in the end.