Changes between Initial Version and Version 1 of Ticket #2566, comment 50
- Timestamp:
- 2014-02-10T19:16:37Z (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #2566, comment 50
initial v1 3 3 I try to recap as I understand the whole issue. Sorry, it's a bit long. 4 4 5 All trouble stems from the behaviour Dymola prior to Dymola 2014, which ignored the parameter binding equation when fixed = false was set. The design pattern was at the time the one Adrian found in MSL 3.1 (comment:16): you set fixed = false on the parameter (which implicitly implied, forget about the binding equation!), and then added one initial equation to rebalance the initial equation system. Maybe the binding was used as initial guess if the start attribute was not given, I'm not sure of that. I've used this pattern myself many times in the past.5 All trouble stems from the behaviour Dymola had prior to Dymola 2014, which ignored the parameter binding equation when fixed = false was set. The design pattern was at the time the one Adrian found in MSL 3.1 (comment:16): you set fixed = false on the parameter (which implicitly implied, forget about the binding equation!), and then added one initial equation to rebalance the initial equation system. Maybe the binding was used as initial guess if the start attribute was not given, I'm not sure of that. I've used this pattern myself many times in the past. 6 6 7 7 Unfortunately, this behaviour has '''never''' been specified in any version of Modelica (3.1, 3.0, 2.2, 2.1): nowhere in those specifications it is stated that a parameter binding equation had to be ignored if fixed was set to false. The trouble is, the actual Modelica specification for MSL 3.1 and earlier version was the Dymola implementation, because no other tool could really handle it. This is why we had so much fuss with MSL 3.2.1/Modelica 3.2rev2, because we had to fix a number of such issues. I don't think back-fixing earlier versions of MSL to be really Modelica compliant is feasible (think of all the problems with the Multibody library, for instance).