Opened 12 years ago
Closed 7 years ago
#2246 closed defect (worksforme)
Variable index model gives incorrect results
Reported by: | Francesco Casella | Owned by: | probably noone |
---|---|---|---|
Priority: | high | Milestone: | 1.13.0 |
Component: | Backend | Version: | trunk |
Keywords: | Cc: |
Description (last modified by )
The following model
model foo Real x1, x2; equation der(x1) = 2; if x1 < 1 then der(x2) = 1; else x2 = 1; end if; end foo;
simulated for one second gives as results x1
= 2*time (which is correct) and x2
= time, which is wrong for time > 0.5.
I understand an error should be generated at time = 0.5, or maybe right at compile time, unless we can handle variable structure systems, which we obviously can't (or can we?).
Change History (11)
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
Description: | modified (diff) |
---|
comment:3 by , 11 years ago
Milestone: | 1.9.0 → 1.9.1 |
---|
comment:4 by , 10 years ago
Milestone: | 1.9.1 → 1.9.2 |
---|
This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).
comment:5 by , 10 years ago
Milestone: | 1.9.2 → 1.9.3 |
---|
Milestone changed to 1.9.3 since 1.9.2 was released.
comment:10 by , 8 years ago
Milestone: | 1.11.0 → 1.12.0 |
---|
Milestone moved to 1.12.0 due to 1.11.0 already being released.
comment:11 by , 7 years ago
Milestone: | 1.12.0 → 1.13.0 |
---|---|
Resolution: | → worksforme |
Status: | new → closed |
As of v1.13.0-dev-155-g68350e9, the simulation stops at time = 0.5. There, the debugger shows that it is not possible to solve
if x1 < 1.0 then $DER.x2 - 1.0 else x2 - 1.0 = 0
for der(x2), which I think points out clearly enough what is the root cause of the problem.
Postponed until 1.9.1